[发明专利]一种可验证的同态代理重加密方法及系统在审
申请号: | 202210514553.3 | 申请日: | 2022-05-11 |
公开(公告)号: | CN114915401A | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 彭长根;侯金秋;丁红发;蒋合领;田有亮 | 申请(专利权)人: | 贵州大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/32;H04L9/40 |
代理公司: | 北京和联顺知识产权代理有限公司 11621 | 代理人: | 谢冰 |
地址: | 55000*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 验证 同态 代理 加密 方法 系统 | ||
1.一种可验证的同态代理重加密系统,其特征在于,包括系统建立模块IB-VHPRE.Setup(1λ,1L)、私钥提取模块IB-VHPRE.Extract(pp,msk,id)、加密模块IB-VHPRE.Encrpty(pp,m,id)、重加密密钥生成模块重加密模块验证模块解密模块IB-VHPRE.Decrypt(C,sk)、同态计算模块Eval(C1,C2,f),具体的:
系统建立模块IB-VHPRE.Setup(1λ,1L):
输入安全参数λ,电路层数L,选择一个二进制位表示为k位的模数q,其中,k是关于λ和L的多项式k=k(λ,L),格维度n=n(λ,L),误差分布χ=χ(λ,L),参数m=m(λ,L)=O(nlogq),采用陷门生成算法TrapGen(q,n)产生矩阵及其格上的一个陷门基随机选择一个向量两个矩阵输出公共参数为pp=(n,q,χ,m,A0,A1,A2,u),系统主私钥为私钥提取模块IB-VHPRE.Extract(pp,msk,id):
输入公共参数pp,系统主私钥msk以及用户身份id,设运行左抽样算法输出向量使得Pids=u;令有Bid·t=0;输出公钥pkid=Bid,私钥skid=t;加密模块IB-VHPRE.Encrpty(pp,m,id):
输入公共参数pp,一个消息位m←{0,1}和用户身份id;选取一个噪声向量e←χ(1+2m)×1,随机选取一个均匀向量r←{-1,1}n×1,输出密文其中,x1为(1,0,0,...,0);
重加密密钥生成模块
(1)、输入第i个参与方的私钥和云服务器的公钥pko=Bo,令随机选择一个可逆矩阵生成云服务器的代理重加密密钥rki→o=(Power2(ti)ZXG);
(2)、输入第i个参与方的私钥用户idj的公钥pkj=Bj,随机选择两个误差向量e1,e2←χn,生成用户idj的代理重加密密钥rki→j=(e1Bj e2-Power2(ti));
(3)、运行AFHS.KeyGen(MSK,f,τ)算法产生签名密钥将rki→j的每一行用xi标记,运行算法产生签名σi;
(4)、将重加密密钥与对应的签名(rki→j,σi)发送给云服务器;
重加密模块
(1)、输入用户i的密文重加密密钥rki→o及矩阵X的逆矩阵X-1,将用户i的密文转化为云服务器的密文Co=G-1(Ci)X-1·rki→o;
(2)、输入用户i的密文及重加密密钥rki→j,将用户i的密文转化为用户j的密文
(3)、运行算法生成签名其中,函数定义为
(4)、输出重加密密文与签名;
验证模块
输入验证密钥密文与签名组(Cid,σ*→j),如果是原始密文则签名σ*→j为空;若是经过转化后的密文则签名为σi→j;运行算法,输出验证结果;
解密模块IB-VHPRE.Decrypt(C,sk):
(1)、对于各参与方的密文,使用各自的私钥ski计算m'=[C,sk]q;
(2)、对于转化后成为云服务器的密文Co,云服务器使用自己的私钥sko解密,得到各参与方的密文Cid'=[C0,sk0]q;
(3)、对于经过代理重加密转化后的用户j密文用户j使用自己的私钥skj解密,得到最终结果mi'=[Cj,skj]q;
同态计算模块Eval(C1,C2,f):
多方云计算,云服务器将各参与方经过代理重加密后的密文执行同态操作;
(1)Add(C1,C2):CAdd@C1+C2
(2)Mult(C1,C2):CMult@C1·G-1(C2)
(3)NAND(C1,C2):CNAND@G-C1·G-1(C2)
云服务器将经过同态计算后的结果发送给各个参与方,各参与方通过自己的私钥解密获得最终的计算结果,实现了多方云计算,解决了由于不同的公钥加密产生的密文无法进行同态计算的问题。
2.一种可验证的同态代理重加密方法,其特征在于,包括步骤如下:
步骤一、私钥提取模块IB-VHPRE.Extract(pp,msk,id)根据系统建立模块IB-VHPRE.Setup(1λ,1L)生成的公共参数与系统主私钥,生成用户的公私钥对;进入加密模块IB-VHPRE.Encrpty(pp,m,id),用户使用各自的私钥加密,生成密文上传至云服务器;
步骤二、通过重加密密钥生成模块与重加密模块生成云服务器的密文,云服务器根据函数f进行同态计算模块Eval(C1,C2,f);
步骤三、将同态密文结果发送给各用户;
步骤四、进入验证模块若验证通过,则进入解密模块IB-VHPRE.Decrypt(C,sk),各用户根据私钥进行解密;
步骤五、再次进入重加密密钥生成模块与重加密模块生成新的用户P的密文,用户P使用自己的私钥解密获得同态运算后的结果,实现密文共享;整个过程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州大学,未经贵州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210514553.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种视频监控画面构建方法及装置
- 下一篇:一种商用车空气动力学序列优化方法