一种保密信息检索方法及系统的制作方法

文档序号:9708680阅读:290来源:国知局
一种保密信息检索方法及系统的制作方法
【技术领域】
[0001] 本发明涉及信息安全领域,尤其涉及一种保密信息检索方法及系统。
【背景技术】
[0002] 随着网络技术的发展,利用互联网进行信息互传、分工合作及信息存储变得越来 越广泛。由于网络的复杂多变性及用户的不确定性,用户的隐私及数据安全亟需得到保障。 Yao A.C.提出的安全多方计算(Secure Multi-party Computation)可以解决在互不信任 的多用户网络中,不泄露各方隐私的前提下协同完成某项任务。然而一些问题却无法通过 安全多方计算来解决,例如用户在进行数据检索时,恶意的服务器追踪用户查询并推断用 户的私人信息,用户的隐私面临严重的挑战。
[0003] 因此,为了提高用户隐私的安全性,亟需提出一种全新的保密信息检索方法。

【发明内容】

[0004] 有鉴于此,本发明实施例的目的在于提供一种保密信息检索方法及系统,旨在解 决现有技术中用户在进行网络检索时其隐私数据的安全性较低的问题。
[0005] 本发明实施例是这样实现的,一种保密信息检索方法,应用于服务器,其中,所述 保密信息检索方法包括:
[0006] 在参数初始化阶段,利用全同态加密的公私钥生成算法生成两组公私钥对;
[0007] 在所述公私钥对中将公钥对私钥进行加密以输出公共参数以及秘密状态;
[0008] 利用所述公共参数中的公钥对用户端向所述服务器发送查询信息请求进行加密;
[0009] 所述服务器在接收到用户端发送的所述查询信息请求后,经过检索计算后向用户 端返回查询结果响应;以及
[0010] 所述用户端利用所述秘密状态中的私钥对返回的查询结果响应进行解密。
[0011]优选的,所述在参数初始化阶段,利用全同态加密的公私钥生成算法生成两组公 私钥对的步骤具体包括:
[0012] 私钥生成子步骤:
[0013] 随机生成7; eZ2x2,并且|Tj| =0(λ2),其中〇幻_ <1-1,1 = 0(λ2),1为明文向量Μ的 维数,其中矩阵L中的每个分量为Τ^η,下标m、n分别代表第m行和第η列;
[0014]通过Ρ遵于行列式IT」(0幻、1-1)的值计算仍,其中仍为素数;以及 [0015]输出私钥 iTk}。
[0016]优选的,所述矩阵Tj中的每个分量Tj,m,n的产生步骤包括:
[0017] 计算;,其中Sj从集合{0,1}中随机选取,s的最大长度为cn2+d;
[0018] 通过5了二1 + 0(2-n)计算得到r的值,分量即等于r,其中预设Tj,o,o = 1〇
[0019] 所述在参数初始化阶段,利用全同态加密的公私钥生成算法生成两组公私钥对的 步骤具体还包括:
[0020]公钥生成子步骤:
[0021 ]计算无误差公钥 xj/ 〃?:π,5Γ' = k。' · 3T&y〃=k。〃?:π,其中 €[0,2'/7^]「〕2,/<&[(),2_'/π:]ΠΖ,.其中,1 个私钥pj的乘积用π表示,i,两 个 1/2个私钥Pj 的乘积分别用 3T1 和 JT2表不,即 JTi = p〇pr "pi/2-1,3Τ2 = ρ?/2ρ?/2+1···ρ?-1;
[0022] 根据所述无误差公钥输出公钥做=丨(珥必:上,十,、鄭,j
[0023] 另一方面,本发明还提供一种保密信息检索系统,包括:
[0024] 秘钥模块,用于在参数初始化阶段,利用全同态加密的公私钥生成算法生成两组 公私钥对;
[0025]加密模块,用于在所述公私钥对中将公钥对私钥进行加密以输出公共参数以及秘 密状态;
[0026] 查询模块,用于利用所述公共参数中的公钥对用户端向所述服务器发送查询信息 请求进行加密;
[0027] 响应模块,用于所述服务器在接收到用户端发送的所述查询信息请求后,经过检 索计算后向用户端返回查询结果响应;以及
[0028] 解密模块,用于所述用户端利用所述秘密状态中的私钥对返回的查询结果响应进 行解密。
[0029]所述秘钥模块包括:
[0030]第一计算子模块,用于随机生成乃ez2x2,并且|τ」=0(λ2),其中0幻_<1-1,1=〇 (λ2),1为明文向量Μ的维数,其中矩阵Τ冲的每个分量为Τρ,η,下标m、n分别代表第m行和第 η列;
[0031]第二计算子模块,用于通过pj等于行列式| Tj | (0 < j < 1-1)的值计算pj,其中pj为 素数;以及
[0032]第一输出子模块,用于输出私钥SKrKpjkjia-iTk}。
[0033] 所述矩阵Tj中的每个分量Tj,m,n的产生包括:
[0034] 计
其中Sj从集合{0,1}中随机选取,s的最大长度为cn2+d;
[0035] 通过5τ = 1 + _(χΤακ2:-"计算得到r的值,分量Tj,^的值即等于r,其中预设Tj, 〇, 〇 = 1〇
[0036] 优选的,所述秘钥模块还包括:
[0037] 第三计算子模块,用于计算无误差公钥X(/ =kt/k()〃 · Jiy =kt/ · π及y〃=k〇〃 · π, 其中,< £[0,27402 , ,其中,1个私钥ρ」的乘积用π表示,g卩3i = P()Pl··· Pl-l,两个1/2个私钥Pj的乘积分别用:^和耶表不,即JTfpop广·ρι/2-1,JT2 = pi/2Pl/2+r"Pl-l;
[0038] 第二输出子模块,用于根据所述无误差公钥输出公钥
[0039] 本发明采用批处理整数全同态加密算法对用户查询内容进行加密,该方法不仅不 泄露用户的查询内容,而且还能够利用服务器的计算能力对用户查询结果密文进行任意次 计算,解密后等于对明文做相同运算的结果,同时利用同态解密特性实现对服务器的秘密 查询较之前的构造方案更加简洁。
【附图说明】
[0040] 图1为本发明一实施方式中保密信息检索方法流程图;以及
[0041] 图2为本发明一实施方式中保密信息检索系统结构示意图。
【具体实施方式】
[0042]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0043] 本发明【具体实施方式】提供了一种保密信息检索方法,主要包括如下步骤:
[0044] S11、在参数初始化阶段,利用全同态加密的公私钥生成算法生成两组公私钥对;
[0045] S12、在所述公私钥对中将公钥对私钥进行加密以输出公共参数以及秘密状态;
[0046] S13、利用所述公共参数中的公钥对用户端向所述服务器发送查询信息请求进行 加密;
[0047] S14、所述服务器在接收到用户端发送的所述查询信息请求后,经过检索计算后向 用户端返回查询结果响应;以及
[0048] S15、所述用户端利用所述秘密状态中的私钥对返回的查询结果响应进行解密。
[0049]本发明所提供的一种保密信息检索方法,采用批处理整数全同态加密算法对用户 查询内容进行加密,该方法不仅不泄露用户的查询内容,而且还能够利用服务器的计算能 力对用户查询结果密文进行任意次计算,解密后等于对明文做相同运算的结果,同时利用 同态解密特性实现对服务器的秘密查询较之前的构造方案更加简洁。
[0050] 以下将对本发明所提供的一种保密信息检索方法进行详细说明。
[0051] 请参阅图1,为本发明一实施方式中保密信息检索方法流程图。
[0052] 在步骤S11中,在参数初始化阶段,利用全同态加密的公私钥生成算法生成两组公 私钥对。
[0053] 在本实施方式中,该保密信息检索方法应用于服务器,具体说应用于能与用户端 进行通信连接的单服务器,该用户端可以是各种能登录该服务器的通信终端设备,用户通 过其用户端登录该服务器能进行各种各样的信息检索查询应用,该保密信息检索方法不仅 不泄露用户的查询内容,而且还能够利用服务器的计算能力对用户查询结果密文进行任意 次计算,以防止泄露用户隐私。
[0054]在本实施方式中,批处理整数全同态下的保密信息检索方法由PIRSetup、 PIRQuery、PIRResponse及PIRDecode这四个函数组成,其中,步骤S11-12对应PIRSetup函 数,步骤S13对应PIRQuery函数,步骤S14对应PIRResponse函数,步骤S15对应PIRDecode函 数。
[0055]在本实施方式中,利用PIRSetup函数,在参数初始化阶段,利用全同态加密的公私 钥生成算法FHE.KeyGen(lA)生成两组公私钥对,即(SKi P,Ki -)FHE KeyGenA,其中公钥
,私钥SKi^TMiJ。,/ A,/,· · ·,Si-}。
[0056]在本实施方式中,所述在参数初始化阶段,利用全同态加密的公私钥生成算法生 成两组公私钥对的步骤S11具体包括:
[0057] 私钥生成子步骤:
[0058] 随机生成7;GZ22,并且|Τ」=0(λ2),其中〇< _]、1-1,1=〇(\2),1为明文向
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1