[发明专利]一种基于乘法同态加密的密钥合成方法有效
申请号: | 201911087532.2 | 申请日: | 2019-11-08 |
公开(公告)号: | CN110784300B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 王震;白健;李亚荣;安红章 | 申请(专利权)人: | 中国电子科技网络信息安全有限公司 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 邓世燕 |
地址: | 610207 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 乘法 同态 加密 密钥 合成 方法 | ||
1.一种基于乘法同态加密的密钥合成方法,其特征在于:包括如下步骤:
步骤一、用户产生乘法同态加密密钥,所述乘法同态加密密钥包括私钥sk和公钥pk;
步骤二、用户向区块链申请同态密钥:
用户向区块链申请同态密钥时,客户端将用户名U和公钥pk发送给分布式密钥生成节点;
步骤三、区块链分布式密钥生成节点生成所述用户的一部分密钥,记为Ki,然后利用公钥pk对Ki进行同态加密,得到密文Ci=ENCpk(Ki);
步骤四、主节点将各节点加密的密文合成并记链;
步骤五、用户查链得到密文;
步骤六、用户对密文解密得到同态密钥。
2.根据权利要求1所述的一种基于乘法同态加密的密钥合成方法,其特征在于:步骤四所述主节点将各节点加密的密文合成并记链的方法为:
(1)主节点将得到的各节点的密文相乘,合成最终的密文:
(2)将密文C和用户的公钥pk记链。
3.根据权利要求2所述的一种基于乘法同态加密的密钥合成方法,其特征在于:步骤五所述用户查链得到密文的方法为:用户通过公钥pk查链得到密文C。
4.根据权利要求3所述的一种基于乘法同态加密的密钥合成方法,其特征在于:步骤六所述用户对密文解密得到同态密钥的方法为:用户利用私钥sk进行解密,得到最终的密钥:
5.根据权利要求1所述的一种基于乘法同态加密的密钥合成方法,其特征在于:所述乘法同态加密算法包括RSA加密算法和ElGamal加密算法。
6.根据权利要求5所述的一种基于乘法同态加密的密钥合成方法,其特征在于:所述RSA加密算法包括如下内容:
一、密钥生成算法:
选择两个长度相同的大素数p,q,计算n=pq,φ(n)=(p-1)(q-1);随机选择整数e,计算d,满足ed≡1(mod φ(n));设置(sk,pk)=(e,d),n为公开参数;
二、加密算法:
输入消息m和公钥pk,计算密文C=ENCpk(m)=md(mod n);
三、解密算法:
输入密文C和私钥sk,计算明文m=DECsk(C)=Ce=med=mφ(n)-1=m(mod n)。
7.根据权利要求5所述的一种基于乘法同态加密的密钥合成方法,其特征在于:所述ElGamal加密算法包括如下内容:
一、密钥生成算法:
选择阶数为q的循环群G,G的生成元为g,随机选择整数x∈{1,…,q-1},计算h=gx;设置(sk,pk)=(x,h),(G,q,g)为公开参数;
二、加密算法:
输入消息m和公钥pk,选择随机数y∈{1,…,q-1},计算C1=pky·m=gxy·m,C2=gy,密文C=ENCpk(m,y)=(C1,C2);
三、解密算法:
输入密文C和私钥sk,计算明文
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技网络信息安全有限公司,未经中国电子科技网络信息安全有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911087532.2/1.html,转载请声明来源钻瓜专利网。