本发明设计云计算和信息安全技术领域,具体来说是一种在云环境下比较在不同公钥加密下的信息是否一致的方法。
背景技术:
云服务器的普及为数据共享带来了革命性的创新。借助云服务器,云用户不仅可以轻松的获取有用的数据,还可以通过与其他用户或组织机构共享自己的数据,与传统共享数据的方式相比大大节省了其成本与时间,为社会带来显著收益。但云存储技术在为用户提供了便捷和低成本的海量存储服务的同时,还有很多亟待解决的问题,其中安全性问题就是其中之一。
传统的数据加密技术虽然可以保护数据的安全性和完整性问题,但是这样一来,已有的基于明文的关键词搜索技术就失效了。使用传统的数据加密技术,用户需要下载所有上传在云服务器上的数据,然后再对其进行解密,最后才能通过关键词搜索查到想要的文件。为了解决该问题,可搜索加密的概念被提了出来,该方法不但能保护数据的隐私性,还能支持在加密数据上进行检索的功能。但是,可搜索加密技术只能应用在相同公钥加密的密文当中。为了更适应存储不同用户加密数据的云服务器,等式测试加密方法被提出,该方法既能支持对相同公钥加密的密文进行检索,也能对不同公钥加密的密文进行检索。
现有的等式测试加密方法系统中,大多数都是基于公钥基础设施和身份基提出的。基于公钥基础设施方法会引起证书管理产生的巨大开销问题,身份基加密方法会带来的秘钥托管问题。而基于证书的加密方法可以完美的解决上述两个问题,到目前为止还没有研究人员提出基于证书的等式测试加密方法。
技术实现要素:
为了克服上述现有技术的不足,本发明提出一种基于证书的等式测试加密方法。该方法既可以减小基于公钥基础设施方法所带来的证书管理引起的巨大开销问题,也可以避免由身份基加密所带来的秘钥托管问题。
本发明所采用的技术方法是:用户a和用户b分别把各自私钥的一部分作为自己的陷门并连同加密之后的数据一起上传到云服务器,云服务器在获得了用户a和用户b的陷门之后,可以对用户a和用户b的密文进行等价测试,在不解密密文的前提下查看用户a和用户b的密文是否包含相同的信息。
与现有技术相比,本发明的有益效果是技巧性地将基于证书的加密与等式测试相结合,避免了证书管理和密钥托管问题,有效解决了公钥加密体系中的隐私保护问题,利用用户提供的陷门,在不解密密文的前提下,即可比较两个用户的密文是否包含相同信息。
本发明中的实体包括云服务器、证书生成中心、权威机构(kgc)、用户a和用户b五个实体组成。
具体实施方法
本发明的实施方法一共包括以下几个概率多项式时间算法。
1)公共参数生成算法:该算法输入一个安全参数k∈z*,并选取阶为q的群g1,g2,gt,
2)密钥生成算法:随机选取
3)证书生成算法:输入<s,τ,id,pk>,其中τ是标识时间段的字符串,id为认证用户所需的其他信息.算法生成证书
4)加密算法:输入<τ,id,pk,m>,m为明文信息,首先验证pk是否属于
5)陷门生成算法:sk2为用户的陷门.
6)解密算法:输入
7)测试算法:令ui,uj为系统中的两个用户,ui的密文为ci=(ci,1,ci,2,ci,3,ci,4,ci,5),uj的密文为cj=(cj,1,cj,2,cj,3,cj,4,cj,5),首先计算