一种同态密钥生成、共享方法及装置制造方法及图纸

技术编号:14505000 阅读:179 留言:0更新日期:2017-01-31 13:54
本发明专利技术涉及密钥生成方法,尤其是一种同态密钥生成、共享方法及装置。本发明专利技术针对现有技术存在的问题,提供一种同态密钥生成、共享方法及装置。通过同态密钥的生成与共享,有效防止密钥管理中心人为操作或者黑客攻击导致的密钥泄露。本发明专利技术用户通过用户公钥pk对z进行加密生成Epk(z),并将Epk(z)和相应的共享文件名发送给密钥管理中心;密钥管理中心选取随机数lk,使用用户公钥pk加密产生Epk(lk),计算Epk(z)*Epk(lk),并将Epk(z)*Epk(lk)发送给用户;用户通过用户私钥sk解密Epk(z)*Epk(lk),得到文件加密密钥key=z*lk,然后用户通过加密密钥加密文件得到加密密文。

【技术实现步骤摘要】

本专利技术涉及密钥生成方法,尤其是一种同态密钥生成、共享方法及装置
技术介绍
目前传统的密钥管理技术已经较为成熟,其技术状况如下所示:(1)传统的密钥分割技术,必须密钥管理中心获得完整的密钥然后进行分割,密钥管理中心操作人员的不适当操作容易导致密钥泄露。(2)传统的密钥共享技术通过公钥加密传送密钥,缺乏一个有效的第三方监控密钥的流转。传统的密钥共享技术,用户可以获得自己文件的加密密钥并将其任意分发,密钥管理中心无法对密钥的流转进行有效的监控。(3)传统的密钥共享技术通过公钥加密传送密钥,共享者无法控制被共享者的阅读次数或者时间。共享者将密钥传送给被共享用户之后,被共享用户既需要将密钥存储在本地,共享者无法限制被共享用户的阅读次数和时间。(4)传统的密钥共享技术通过公钥加密传送密钥,共享者无法取消被共享者的阅读权利。同(3)所述,被共享用户将密钥存储在本地之后,共享者无法取消被共享者的阅读权利。公有云的密钥管理和移动互联网中的密钥管理,由于在公有云和移动互联网中,无法存在一个可信的第三方实现对用户的密钥管理,但每个用户又需要大量的加密密钥用于文件的加密,因此如何解决公有云和移动互联网中的密钥管理是十分重要的。
技术实现思路
本专利技术所要解决的技术问题是:针对现有技术存在的问题,提供一种同态密钥生成、共享方法及装置。通过同态密钥的生成与共享,有效防止密钥管理中心人为操作或者黑客攻击导致的密钥泄露;在整个密钥合成和分配的过程中,用户主密钥以及文件的加密密钥均是以密文状态进行的,因此密钥管理中心不当的人为操作或者黑客对密钥管理中心的攻击都不会影响用户密钥使用的安全性。本专利技术采用的技术方案如下:一种同态密钥生成方法包括:步骤1:用户使用主密钥mk和文件f的文件名相乘,继而通过杂凑函数加密得到字符串z;其中主密钥mk是由用户随机选取的随机数。步骤2:用户通过同态合成公钥pk对z进行加密生成Epk(z),并将Epk(z)和相应的文件名发送给密钥管理中心;步骤3:密钥管理中心选取随机数lk,使用用户公钥pk加密产生Epk(lk),计算Epk(z)*Epk(lk),并将Epk(z)*Epk(lk)发送给用户,同时将所述lk与步骤1中文件f的文件名进行对应存储;步骤4:用户通过同态合成私钥sk解密Epk(z)*Epk(lk),得到文件加密密钥key=z*lk,然后用户通过加密密钥key文件f,得到文件f的文件密文。进一步的,所述文件f的文件密文通过用户直接发送给云端存储或者通过用户本地存储。进一步的,所述用户同态合成公钥pk与用户同态合成私钥sk是通过RSA或Paillier加密算法生成的一一对应的公私钥对;同态合成公钥pk交由密钥管理中心进行管理,同态合成私钥sk由用户本地存储。所述文件f的文件密文是通过SM4算法,使用加密密钥key对文件f进行加密得到。一种同态密钥共享方法包括:步骤11:假设用户U想将自己的文件p共享给其他用户U1,则用户U使用用户U的主密钥mk和共享文件p的文件名相乘,继而通过杂凑函数求的字符串为z;所述用户U主密钥mk通过密钥生成协议或者用户随机选取随机数生成主密钥mk;步骤12:用户U使用其他用户U1的同态合成公钥pk1加密z,产生Epk1(z),并将Epk1(z)以及对应文件p的文件名发送给密钥管理中心,并通知密钥管理中心要将该文件共享给其他用户U1;步骤13:密钥管理中心得到用户U发送的Epk1(z)以及对应文件p的文件名,根据文件名查询对应lk,密钥管理中心使用用户U1公钥pk1加密产生Epk1(lk),计算Epk1(z)*Epk1(lk)=Epk1(z*lk),密钥管理中心将Epk1(z*lk)发送给其他用户U1;步骤14:其他用户U1使用自己的同态合成私钥sk1解密Epk1(z*lk),获得文件加密密钥key=z*lk;步骤15:其他用户U1根据加密密钥key,对文件p解密,获得文件p中的明文。进一步的,所述其他用户U1同态合成公钥pk1与其他用户U1同态合成私钥sk1是通过RSA或Paillier加密算法生成的一一对应的公私钥对;同态合成公钥pk1交由密钥管理中心进行管理,同态合成私钥sk1由其他用户U1本地存储。一种同态密钥生成装置包括:用户,用于使用主密钥mk和文件的文件名相乘,继而通过杂凑函数加密得到字符串z;然后使用同态合成公钥pk对z进行加密生成Epk(z),并将Epk(z)和相应的文件名发送给密钥管理中心;当密钥管理中心接收到Epk(z)*Epk(lk)后,用户通过同态合成私钥sk解密Epk(z)*Epk(lk),得到文件加密密钥key=z*lk,然后用户通过加密密钥key加密文件,得到文件的文件密文;所述文件f的文件密文通过用户直接发送给云端存储或者通过用户本地存储;密钥管理中心,用于选取随机数lk,使用用户公钥pk加密产生Epk(lk),计算Epk(z)*Epk(lk),并将Epk(z)*Epk(lk)发送给用户,同时将lk对应其共享文件名进行存储。进一步的,所述同态合成公钥pk与同态合成私钥sk是通过RSA或Paillier加密算法生成的一一对应的公私钥对;同态合成公钥pk交由密钥管理中心进行管理,同态合成私钥sk由用户本地存储;所述加密密文是通过SM4算法,使用加密密钥key对文件进行加密得到一种同态密钥共享装置包括:用户U,当用户U将本地文件f共享给其他用户U1,则用户U使用主密钥mk和共享文件f的文件名相乘,继而通过杂凑函数求的字符串为z;然后用户U使用其他用户U1的同态合成公钥pk1加密z,产生Epk1(z),并将Epk1(z)以及对应文件f的文件名发送给密钥管理中心,并通知密钥管理中心要将该文件共享给其他用户U1;密钥管理中心,用于接收用户U发送的Epk1(z)以及对应文件f的文件名,根据文件名查询对应lk,密钥管理中心使用用户U1公钥pk1加密产生Epk1(lk),计算Epk1(z)*Epk1(lk)=Epk1(z*lk),密钥管理中心将Epk1(z*lk)发送给其他用户U1;其他用户U1,用于使用自己的同态合成私钥sk1解密Epk1(z*lk),获得文件加密密钥key=z*lk;然后其他用户U1根据加密密钥key,对文件f解密,获得文件f中的明文。综上所述,由于采用了上述技术方案,本专利技术的有益效果本文档来自技高网...
一种同态密钥生成、共享方法及装置

【技术保护点】
一种同态密钥生成方法,其特征在于包括:步骤1:用户使用主密钥mk和文件f的文件名相乘,继而通过杂凑函数加密得到字符串z;其中主密钥mk是由用户随机选取的随机数;步骤2:用户通过同态合成公钥pk对z进行加密生成Epk(z),并将Epk(z)和相应的文件名发送给密钥管理中心; 步骤3:密钥管理中心选取随机数lk,使用用户公钥pk加密产生Epk(lk),计算Epk(z)*Epk(lk),并将Epk(z)*Epk(lk)发送给用户,同时将所述lk与步骤1中文件f的文件名进行对应存储;步骤4:用户通过同态合成私钥sk解密Epk(z)*Epk(lk),得到文件加密密钥key=z*lk,然后用户通过加密密钥key文件f,得到文件f的文件密文。

【技术特征摘要】
1.一种同态密钥生成方法,其特征在于包括:
步骤1:用户使用主密钥mk和文件f的文件名相乘,继而通过杂凑函数加密得到字符串z;其中主密钥mk是由用户随机选取的随机数;
步骤2:用户通过同态合成公钥pk对z进行加密生成Epk(z),并将Epk(z)和相应的文件名发送给密钥管理中心;
步骤3:密钥管理中心选取随机数lk,使用用户公钥pk加密产生Epk(lk),计算Epk(z)*Epk(lk),并将Epk(z)*Epk(lk)发送给用户,同时将所述lk与步骤1中文件f的文件名进行对应存储;
步骤4:用户通过同态合成私钥sk解密Epk(z)*Epk(lk),得到文件加密密钥key=z*lk,然后用户通过加密密钥key文件f,得到文件f的文件密文。
2.根据权利要求1所述的一种同态密钥生成方法,其特征在于所述文件f的文件密文通过用户直接发送给云端存储或者通过用户本地存储。
3.根据权利要求1所述的一种同态密钥生成方法,其特征在于所述用户同态合成公钥pk与用户同态合成私钥sk是通过RSA或Paillier加密算法生成的一一对应的公私钥对;同态合成公钥pk交由密钥管理中心进行管理,同态合成私钥sk由用户本地存储。
4.根据权利要求1所述的一种同态密钥生成方法,其特征在于所述文件f的文件密文是通过SM4算法,使用加密密钥key对文件f进行加密得到。
5.一种同态密钥共享方法,其特征在于包括:
步骤11:假设用户U想将自己的文件p共享给其他用户U1,则用户U使用用户U的主密钥mk和共享文件p的文件名相乘,继而通过杂凑函数求的字符串为z;所述用户U主密钥mk通过密钥生成协议或者用户随机选取随机数生成主密钥mk;
步骤12:用户U使用其他用户U1的同态合成公钥pk1加密z,产生Epk1(z),并将Epk1(z)以及对应文件p的文件名发送给密钥管理中心,并通知密钥管理中心要将该文件共享给其他用户U1;
步骤13:密钥管理中心得到用户U发送的Epk1(z)以及对应文件p的文件名,
根据文件名查询对应lk,密钥管理中心使用用户U1公钥pk1加密产生Epk1(lk),计算Epk1(z)*Epk1(lk)=Epk1(z*lk),密钥管理中心将Epk1(z*lk)发送给其他用户U1;
步骤14:其他用户U1使用自己的同态合成私钥sk1解密Epk1(z*lk),获得文件加密密钥key=z*lk;
步骤15:其他用户U1根据加密密钥key,对文件p解密,获得文件...

【专利技术属性】
技术研发人员:白健安红章汤殿华任飞何远杭
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:四川;51

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

1