PEKS关键词可搜索加密详解

PEKS算法主要实现了四个步骤。

第一步:

生成公私钥,初始化安全参数P(数值为质数,这里我认识跟哈希类似,减少冲突)(普通的安全参数一般是指比特的长度,长度越大说明越安全)。

具体流程

输入P安全参数,对于循环群G来讲(循环的实现是通过模P)。该群的阶数等于 P内的质数个数-P的质因子分解个数+1(1除外)。

咱们这里设定阶数为q,如何来求G群的原根?

可以用穷举方法,穷举P的质因子组成的所有循环群。可以参考14=2*7这个例子

该图中可以看出阶数是6,说明6个数值为一个循环。所以3和5是生成元(合数的原因,质数可能会只有一个生成元)最终会取得生成元g。

进而得到了对于任意的整数k,g的k次幂都属于群G。计算a=g^k^(mod p)。a属于G

而求k的是logg(a)是离散对数问题。(这就把NP离散对数问题联系在一起啦)

密钥的生成  选取阿尔法属于Z的群,Z的内容为{0,1,2...P-1}  这个数是随机取得的。公钥为g的阿尔法次幂。表示的时候用[g,g的阿埃尔次幂] 这个是为了以后能够便于运算。

第二步:

PEKS对关键词进行加密,这里是用了两个哈希,首先对W进行哈希H1(W)  这个哈希是把关键字映射到群G里。e(H1(W),h的r次幂)。h的r次幂就是H1(W) (r也是随机数)  也是为了创造双线性对。然后进行二次哈希进行加密H2W(t),表示为[g的r次幂,H2(t)]  

第三步:

生成陷门,接收方指定某些关键字W2  生成陷门H1(W2)的阿尔法次幂。

第四步:

查找,输入S=【A,B】 其中A=h的r次幂  这个就是待查找的单词(哈希表示的)B加密后的密文。TEST(公钥,TW,S)

经过推导可知H2(e(Tw,A))==B​   这个可以这么理解 把文字我们哈希成A,加密成B。我现在查关键词A经过一系列步骤后等于B  说明查找成功

推导公式公式如图

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 公钥可搜索加密是一种保护隐私的加密技术,可以在不暴露明文的情况下,对加密数据进行搜索和匹配。实现公钥可搜索加密的代码需要使用一些加密算法和数据结构,如RSA加密算法、Bloom Filter等。具体实现方法可以参考相关的论文和开源代码。 ### 回答2: 公钥可搜索加密(Public Key Searchable Encryption)是一种安全的加密方案,它可以在保证数据安全的同时,允许用户在加密数据中进行搜索操作。 实现公钥可搜索加密的代码需要考虑以下几个方面。 首先,需要使用公钥加密算法,如RSA或椭圆曲线加密算法,生成公钥和私钥对。公钥用于加密搜索关键字,私钥用于解密搜索结果。 其次,需要考虑如何将搜索关键字加密后存储在数据库中。可以使用加密哈希函数对搜索关键字进行加密,并将其与其他数据一起存储。加密哈希函数将关键字映射为固定长度的密文,保证了数据的安全性。 然后,需要实现一个搜索功能,使用户可以输入搜索关键字,并根据关键字对加密数据进行搜索。在搜索功能中,用户输入的搜索关键字需要先使用公钥加密算法加密,然后与数据库中存储的加密关键字进行匹配。匹配成功后,使用私钥解密搜索结果,返回解密后的数据。 最后,需要考虑数据的访问控制。只有拥有私钥的用户才能解密搜索结果,其他人无法获取明文数据。因此,代码中需要实现访问控制机制,确保数据的安全性。 总结来说,公钥可搜索加密的实现代码主要包括公钥加密算法的生成、搜索关键字的加密和存储、搜索功能的实现、搜索结果的解密以及数据的访问控制。这些代码的实现可以保证数据的安全性,并允许用户在加密数据中进行搜索操作。 ### 回答3: 公钥可搜索加密(Public Key Encryption with Keyword Search, PEKS)是一种能够实现关键字搜索加密算法。在传统的公钥加密算法中,加密和解密是基于公钥和私钥的,只能通过私钥来进行解密操作。但是,当我们需要在大量加密数据中搜索包含特定关键字的文件时,传统的公钥加密算法就显得不太适用了。 公钥可搜索加密算法通过引入一个陷门(trapdoor)的概念,能够实现在加密状态下进行关键字搜索。陷门是由用户的私钥生成的,用于加密指定的关键字。通过陷门,用户可以在不暴露私钥的情况下,在加密的数据集合中查询包含特定关键字的文件。 实现公钥可搜索加密的代码通常由以下几个步骤组成: 1. 密钥生成:生成公钥和私钥对,公钥用于加密,私钥用于生成陷门。 2. 数据加密:将需要进行搜索的数据进行加密,并存储到云服务器或其他数据存储设备中。 3. 陷门生成:用户通过私钥生成陷门,将需要搜索的关键字加密成陷门的形式。 4. 关键字搜索:用户将生成的陷门发送到云服务器上,云服务器根据陷门与加密数据进行匹配,找出含有关键字的加密文件,并将其返回给用户。 需要注意的是,公钥可搜索加密算法并不直接泄露私钥,因此仍然能够保证用户的数据安全性。同时,为了提高搜索效率,通常会引入一些优化算法,例如倒排索引等。 公钥可搜索加密代码的实现需要理解公钥加密算法的基本原理,并结合关键字搜索的需求进行具体设计。近年来,该算法已经被广泛应用于云计算和数据隐私保护等领域,为数据安全和高效搜索提供了解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值