支持内积运算的可搜索公钥加密方法技术

技术编号:20329454 阅读:50 留言:0更新日期:2019-02-13 05:56
一种支持内积运算的可搜索公钥加密方法,由系统初始化、数据所有者加密数据并上传云服务器、为数据用户生成解密密钥、云服务器进行密文搜索并返回结果、云服务器进行密文搜索并返回结果步骤组成。这种支持内积运算的可搜索公钥加密方法,公开参数短,所用的密钥长度短、密文长度短、运算速度快、安全性高。本发明专利技术具有运算速度快、安全性高等优点,可在加密数据库、加密文件的存储技术领域使用。

【技术实现步骤摘要】
支持内积运算的可搜索公钥加密方法
本专利技术属于数据加密
,具体涉及达到适应性安全性并支持密文上内积运算的可搜索加密方法。
技术介绍
随着云计算的广泛应用,越来越多的个人或企业用户将数据存储在云服务器上,从而减少本地的存储开销。然而,云存储服务提供商不受用户管理,是一种非可信对象,存在潜在的安全风险。当用户的敏感数据上传到这类非可信系统时,用户的信息隐私得不到保证。一种有效的方法是先将用户的数据加密,再上传至云服务器存储,这使得没有权限或解密密钥的人无法得到相关信息。传统的数据加密方法需要对全部加密信息进行下载并解密后再进行处理,计算开销和通信开销都很大,不实用。可搜索加密是解决上述问题的一类实用技术,允许用户在加密后上传的数据进行丰富的计算和搜索,避免用户下载数据再搜索的开销。KwangsuLee和DongHoonLee的文章《Two-InputFunctionalEncryptionforInnerProductsfromBilinearMaps》(IEICETransactionsonFundamentalsofElectronics,CommunicationsandComputerSciences,2018年1月)中提出了一种基于双线性映射、支持内积运算的函数加密方案,并证明了方案的选择安全性。虽然该技术方案同样构造在合数阶双线性群中,但其技术方案的公共参数为3+2d个群元素(d为密文属性和密钥属性的长度,下同),密文长度为2d个群元素,密钥长度为1+d个群元素,规模都较大;其初始化算法需要执行2d个指数运算、2d个乘法运算,密钥生成算法需要执行2d个乘法运算,加密算法需要执行2d+3个指数运算、2d+1个乘法运算,解密算法需要执行2d+1个指数运算、2d+2个乘法运算、2d+1个配对运算,加解密运算效率低。
技术实现思路
本专利技术所要解决的技术问题在于克服上述函数加密方案的缺点,提供一种适应性安全、公共参数和密文长度以及密钥长度短、加解密效率高的支持内积运算的可搜索公钥加密方法。解决上述技术问题所采用的技术方案是由下述步骤组成:1、系统初始化可信权威设置安全参数1λ,用群生成算法生成合数阶双线性群GN,GN为Gp×Gq×Gr,其中N为p×q×r,p,q,r分别是满足安全参数1λ要求的素数,Gp、Gq、Gr分别是GN的子群;从N阶乘法群中随机选择整数α、整数x以及整数向量为(x1,…,xd),其中d是向量的长度为有限的正整数;输出系统全局公共参数并公开:其中为双线性映射,GT是目标群为消息空间,gp、gr分别是子群Gp、子群Gr的生成元,为设置系统主密钥MSK为:由可信权威保密。2、数据所有者加密数据并上传云服务器数据所有者给待加密的明文数据M生成密文属性密文属性的形式为一组整数构成的向量:其中用数据加密方法生成待加密的明文数据M和其密文属性的密文C,将密文二元组上传至云服务器,保存,其中为3、为数据用户生成解密密钥数据用户提交密钥属性密钥属性的形式为一组整数构成的向量(k1,…,kd),其中可信权威收到数据用户提交的密钥属性用解密密钥生成方法为数据用户生成解密密钥返回给数据用户。4、云服务器进行密文搜索并返回结果数据用户提交搜索令牌TK;云服务器收到数据用户上传的搜索令牌TK,遍历检查所有存储的密文二元组用密文搜索方法进行匹配,将匹配成功的密文返回数据用户,没有匹配成功,表示无匹配数据。5、数据用户得到返回的密文并进行解密数据用户得到云服务器返回的密文,在本地用解密方法进行解密,得到明文数据M。在本专利技术的步骤2中,数据加密方法为:取公共参数PP中的gP、和待加密的明文数据M、密文属性从N阶乘法群中随机选择整数s,按下式输出密文C:C=(C0,C1)其中C0为C1为在本专利技术的步骤3中,解密密钥生成方法为:取公共参数PP中的gP、gr、取系统主密钥MSK和用户的密钥属性可信权威TA从N阶乘法群中随机选择整数y、整数向量按下式输出解密密钥其中表示和的内积。在本专利技术的步骤4中,密文搜索方法为:数据用户设置搜索令牌TK为并上传云服务器,云服务器收到数据用户上传的搜索令牌TK,遍历检查所有存储的密文二元组如果为1,即为1,亦即为0,则匹配成功;不为1,匹配失败。在本专利技术的步骤5中,数据用户执行的解密方法为:数据用户用解密密钥与云服务器返回匹配成功的密文C,按下式得到明文数据;其中当为0时,明文数据M被正确恢复。本专利技术中数据拥有者对数据赋予对应的密文属性并进行加密,存储在云服务器上;数据用户检索特定数据,提交自己的密钥属性给可信权威,可信权威为其生成解密密钥,数据用户将搜索令牌发给云服务器进行检索,云服务器将匹配成功的数据返回给数据用户完成密文搜索,数据用户在本地用解密密钥解密;匹配成功的依据是数据用户提供的密钥属性(向量形式)和密文关联的密文属性(向量形式)内积为零。由于本专利技术采用了与现有技术不同的数据加密方法、解密密钥生成方法、密文搜索方法、数据用户执行的解密方法,相对于《Two-InputFunctionalEncryptionforInnerProductsfromBilinearMaps》中的加密方案,本专利技术中提出的方法明显具有更短的公共参数、更短的密文尺寸、更短的密钥尺寸、更快的加密和解密速度。本专利技术具有运算速度快、安全性高等优点,可在加密数据库、加密文件的存储
使用。附图说明图1是本专利技术实施例1的流程图。图2是图1中密文搜索方法的流程图。具体实施方式下面结合附图和实施例对本专利技术进一步说明,但本专利技术不限于下述的实施例。实施例1本实施例的支持内积运算的可搜索公钥加密方法的步骤如下:1、系统初始化可信权威设置安全参数1λ,用群生成算法生成合数阶双线性群GN,GN为Gp×Gq×Gr,其中N为p×q×r,p,q,r分别是满足安全参数1λ要求的素数,Gp、Gq、Gr分别是GN的子群;从N阶乘法群中随机选择整数α、整数x以及整数向量为(x1,…,xd),其中d是向量的长度为有限的正整数;输出系统全局公共参数并公开:其中为双线性映射,GT是目标群为消息空间,gp、gr分别是子群Gp、子群Gr的生成元,为设置系统主密钥MSK为:由可信权威保密;2、数据所有者加密数据并上传云服务器数据所有者给待加密的明文数据M生成密文属性密文属性的形式为一组整数构成的向量。其中用数据加密方法生成待加密的明文数据M和其密文属性的密文C,将密文二元组上传至云服务器,保存,其中为上述的数据加密方法如下:取公共参数PP中的gP、和待加密的明文数据M、密文属性从N阶乘法群中随机选择整数s,按下式输出密文C:C=(C0,C1)其中C0为C1为3、为数据用户生成解密密钥数据用户提交密钥属性密钥属性的形式为一组整数构成的向量(k1,…,kd),其中可信权威收到数据用户提交的密钥属性用解密密钥生成方法为数据用户生成解密密钥返回给数据用户。上述的解密密钥生成方法如下:取公共参数PP中的gP、gr、取系统主密钥MSK和用户的密钥属性可信权威TA从N阶乘法群中随机选择整数y、整数向量按下式输出解密密钥其中表示和的内积。4、云服务器进行密文搜索并返回结果数据用户提交搜索令牌TK;云服务器收到数据用户上传的搜索令牌TK,遍历检查所有存储本文档来自技高网
...

【技术保护点】
1.一种支持内积运算的可搜索公钥加密方法,其特征在于它是由下述步骤组成:(1)系统初始化可信权威设置安全参数1

【技术特征摘要】
1.一种支持内积运算的可搜索公钥加密方法,其特征在于它是由下述步骤组成:(1)系统初始化可信权威设置安全参数1λ,用群生成算法生成合数阶双线性群GN,GN为Gp×Gq×Gr,其中N为p×q×r,p,q,r分别是满足安全参数1λ要求的素数,Gp、Gq、Gr分别是GN的子群;从N阶乘法群中随机选择整数α、整数x以及整数向量为(x1,…,xd),其中d是向量的长度为有限的正整数;输出系统全局公共参数并公开:其中GN×GN→GT为双线性映射,GT是目标群为消息空间,gp、gr分别是子群Gp、子群Gr的生成元,为设置系统主密钥MSK为:由可信权威保密;(2)数据所有者加密数据并上传云服务器数据所有者给待加密的明文数据M生成密文属性密文属性的形式为一组整数构成的向量:其中用数据加密方法生成待加密的明文数据M和其密文属性的密文C,将密文二元组上传至云服务器,保存,其中为(3)为数据用户生成解密密钥数据用户提交密钥属性密钥属性的形式为一组整数构成的向量(k1,…,kd),其中可信权威收到数据用户提交的密钥属性用解密密钥生成方法为数据用户生成解密密钥返回给数据用户;(4)云服务器进行密文搜索并返回结果数据用户提交搜索令牌TK;云服务器收到数据用户上传的搜索令牌TK,遍历检查所有存储的密文二元组用密文搜索方法进行匹配,将匹配成功的密文返回数据用户,没有匹配成功,表示无匹配数据;(5)数据用户得到返回的密文...

【专利技术属性】
技术研发人员:王涛杨波裘国永张丽娜禹勇周彦伟
申请(专利权)人:陕西师范大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1