一种基于同态加密的隐私信息检索方法

专利检索2026-02-13  0


本发明涉及一种基于同态加密的隐私信息检索方法,属于隐私信息检索。


背景技术:

1、隐私信息检索作为密码学领域的一项关键技术,它能够允许用户从数据库中检索信息,同时不泄露查询的具体信息给数据库持有者,可以应用于包括匿名和元数据隐私通信、隐私保护媒体流、广告交付、朋友发现和订阅中。

2、目前已有很多基于同态加密库实现的隐私信息检索方案(private informationretrieval,pir),不仅有索引pir(xpir、sealpir、onionpir、spiral),xpir是第一个结合同态加密实现的pir方案,sealpir基于xpir进一步优化了通信量和效率,onionpir和spiral基于sealpir再次进一步优化了效率;也有更加实用的关键词pir的出现(cwpir)。这些除了xpir基本都是基于微软开发的简单的同态加密算法库(seal)来工程实现的。

3、索引pir是用户持有数据库条目的特定地址,然后利用这个地址去查找。例如要检索数据库中的哪一行。索引pir的缺点就是现实生活中并不常见,无法实用化。关键词pir主要针对键值数据库进行查询,在现实生活中常见,可以通过数据库元素的标识符去访问。基于同态加密的关键词pir出现的比较晚,目前来说效率都比较低,第一次提出并完成工程化是2022年mahdavi等人提出的cwpir,他们针对关键词进行了一种constant-weight编码(常权码),这种编码导致在进行关键词比较的时候会产生大量的同态乘法,严重影响效率,以至于无法支持大数据库。


技术实现思路

1、本发明所要解决的技术问题是:提供一种基于同态加密的隐私信息检索方法,提出一种新的编码方式,对键值数据库进行编码和重新排列,充分利用同态加密的多数据单指令操作进行批量处理,使得一次同态比较可以处理多个关键词,提升整体方案的效率。

2、本发明为解决上述技术问题采用以下技术方案:

3、一种基于同态加密的隐私信息检索方法,包括如下步骤:

4、步骤1,对于预先生成的关键词数据库,采用线性分组码将关键词数据库中的每个关键词编码成二进制串,利用批量编码方法将所有二进制串编码成纵向排列的同态明文,得到预处理后的关键词明文数据库;对于预先生成的数值数据库进行预处理,得到预处理后的数值明文数据库;关键词数据库中的关键词与数值数据库中的数值一一对应;

5、步骤2,对于待查询的关键词,利用与步骤1相同的方法将待查询的关键词编码成待查询二进制串,并将待查询二进制串编码为同态使用多数据单指令操作的明文,将明文加密后得到待查询密文;

6、步骤3,将待查询密文与预处理后的关键词明文数据库中的每个关键词进行比较,得到待查询密文在预处理后的关键词明文数据库中的位置密文;

7、步骤4,将步骤3得到的位置密文与预处理后的数值明文数据库相乘,得到待查询的关键词对应的数值密文;

8、步骤5,对步骤4得到的数值密文进行解密并使用同态库批量解码操作进行解码,得到最终查询结果。

9、作为本发明的一种优选方案,所述步骤1中,采用线性分组码将关键词数据库中的每个关键词编码成二进制串,具体过程如下:

10、设定每个关键词编码得到的二进制串的长度为m,将二进制串分成k个连续块,每个块中有个槽;二进制串中1的数量为k,且每个块中只有一个槽为1,其他槽均为0;若关键词数据库中所有关键词的数量为n,则

11、将待编码的关键词映射为数字x,令k′=1,…,k;

12、当k′=1时,计算余数为a1;若商x1=0,则第一个块的第一个槽为1;若或则第一个块的第二、三、…、或个槽为1;

13、当k′=2时,计算余数为a2;若商x2=0,则第二个块的第一个槽为1;若或则第二个块的第二、三、…、或个槽为1;

14、依此类推,当k′=k时,计算余数为ak;若商xk=0,则第k个块的第一个槽为1;若或则第k个块的第二、三、…、或个槽为1。

15、作为本发明的一种优选方案,所述步骤1中,预先生成的数值数据库的预处理过程如下:

16、利用批量编码方法将数值数据库中的每个数值编码成同态明文后,得到横向排列的同态明文,将所有明文第一个槽中的数据取出来并纵向排列作为纵向排列的第一列,将所有明文第二个槽中的数据取出来并纵向排列作为纵向排列的第二列,依此类推,将所有明文最后一个槽中的数据取出来并纵向排列作为纵向排列的最后一列,使得所有同态明文纵向排列,得到预处理后的数值明文数据库。

17、作为本发明的一种优选方案,所述步骤3的具体过程如下:

18、步骤31,使用改进的不经意扩展方法扩展待查询密文,得到扩展密文;

19、步骤32,将扩展密文与预处理后的关键词明文数据库相乘,即将扩展密文的每一列与预处理后的关键词明文数据库的同一列相乘,得到m列密文向量,m表示关键词数据库中每个关键词编码得到的二进制串的长度;

20、步骤33,对于m列密文向量,将同一个块中的所有密文向量相加,得到k个有效密文向量;

21、步骤34,将k个有效密文向量相乘,得到待查询密文在预处理后的关键词明文数据库中的位置密文。

22、作为本发明的一种优选方案,所述步骤4的具体过程如下:

23、步骤41,将步骤3得到的位置密文与预处理后的数值明文数据库相乘,即将步骤3得到的位置密文与预处理后的数值明文数据库的每一列相乘,得到h列密文向量,h表示数值数据库的元素利用同态库批量编码操作编码到明文中占的槽的数量;

24、步骤42,h列密文向量中,每一列密文向量只有一个时隙非空,将每一列密文向量中的非空时隙旋转到所在密文向量的其他位置,使得所有密文向量中非空时隙所在位置均不同,将旋转后的h列密文向量相加,得到待查询的关键词对应的数值密文。

25、一种计算机设备,包括存储器、处理器,以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的基于同态加密的隐私信息检索方法的步骤。

26、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于同态加密的隐私信息检索方法的步骤。

27、本发明采用以上技术方案与现有技术相比,具有以下技术效果:

28、1、本发明提出一种基于线性块码的编码方案,与以前的常权码相比,该方案可以确定映射后有效位的分布区间,在查找关键词时可以进行批量比较,这远比每次只进行一次关键词比较的方案效率高。经过测试,本发明提出的方案效率明显提高,在数据库较大时,在服务器端处理比较的时候能平均加速200倍。

29、2、本发明同时让数据库用竖向排列的方式进行存储,不再用一个同态明文存储一个元素,方案的存储开销明显下降,数据库预处理的开销也明显降低。



技术特征:

1.一种基于同态加密的隐私信息检索方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于同态加密的隐私信息检索方法,其特征在于,所述步骤1中,采用线性分组码将关键词数据库中的每个关键词编码成二进制串,具体过程如下:

3.根据权利要求1所述的基于同态加密的隐私信息检索方法,其特征在于,所述步骤1中,预先生成的数值数据库的预处理过程如下:

4.根据权利要求2所述的基于同态加密的隐私信息检索方法,其特征在于,所述步骤3的具体过程如下:

5.根据权利要求4所述的基于同态加密的隐私信息检索方法,其特征在于,所述步骤4的具体过程如下:

6.一种计算机设备,包括存储器、处理器,以及存储在所述存储器中并能够在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于同态加密的隐私信息检索方法的步骤。

7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于同态加密的隐私信息检索方法的步骤。


技术总结
本发明公开了一种基于同态加密的隐私信息检索方法,对于预先生成的关键词数据库和数值数据库进行预处理,得到预处理后的关键词明文数据库和数值明文数据库;将待查询的关键词编码成待查询二进制串,并将待查询二进制串编码为同态使用多数据单指令操作的明文,将明文加密后得到待查询密文;将待查询密文与预处理后的关键词明文数据库中的每个关键词进行比较,得到待查询密文在预处理后的关键词明文数据库中的位置密文;将位置密文与预处理后的数值明文数据库相乘,得到待查询的关键词对应的数值密文;对数值密文进行解密并使用同态库批量解码操作进行解码,得到最终查询结果。本发明方法的效率提升明显,存储开销明显下降,并且通信量并没有增加。

技术研发人员:王树泉,周璐
受保护的技术使用者:南京航空航天大学
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1161142.html

最新回复(0)