一种文件加密共享方法和装置与流程

文档序号:35139660发布日期:2023-08-17 02:27阅读:44来源:国知局
一种文件加密共享方法和装置与流程

本发明涉及文件加密共享,具体而言涉及一种文件加密共享方法和装置。


背景技术:

1、传统的文件加密共享技术大多首先使用明文密码和对称加密算法对文件进行压缩加密,然后通过在线或离线方式向多人分发加密密码来完成文件共享。这种文件共享方法的安全性完全依赖于密码分发过程的安全性,另外由于系统中所有文件接收者都知道明文密码,也不可避免的存在不可信参与者泄漏密码的风险,因此文件安全共享首要解决的是一方加密多方解密的密码分享的问题。

2、论文《基于sm2的多接收方公钥加密方案》(赖俊祚,黄正安,翁健,吴永东.密码学报,2021,8(4):699–709)在区块链场景下提出了一种可共享随机数的基于国密sm2算法的多接收方信息共享加解密算法,并证明其安全性。该方案与原始的对明文进行多次加密相比,减少了部分椭圆曲线点乘运算,一定程度降低了总体运算量和通信开销,但实质上还是需要对密文进行多次加密。然而该算法虽然对朴素的对需要共享的信息进行多次加密之类的算法进行了诸多改进,使用数学证明对多次加密共用随机数是安全的,但其实质还是多次加密了预共享信息。

3、论文《一个单方加密-多方解密的公钥加密方》(庞辽军,李慧贤,裴庆祺,柳毅,王育.计算机学报,2012,5:1059-1066)借鉴门限秘密共享的思想,以对称密码算法为加密基础,基于双线性变换提出了一个可具有多个接收者的公钥加密方案,并对所提出的加密方案进行了正确性、安全性和性能分析。然而该方法以shamir的门限秘密共享方案和对称密码算法为基础,基于椭圆曲线上的双线性变换的具有多个解密者的单方加密多方解密公钥加密方案,算法同时使用了门限秘密共享、对称加密算法、哈希算法和椭圆曲线上的双线性变换。其系统参数较为复杂,计算过程繁杂,特别是椭圆曲线上的双线性变换与常规的椭圆曲线加密算法相比,运算速度慢至少一个数量级以上。


技术实现思路

1、本发明针对现有技术中的不足,提供一种文件加密共享方法和装置,在整个文件共享和加解密过程中任何人都不需要持有或输入明文密码,避免密码泄露;同时使用usbkey证书进行解密权限控制,进一步防止无关人员获取明文文件内容,尤其适用于一方加密多方解密的安全密码共享场景;另外,本发明的文件加密共享方法的计算量相当少,运算速度快,同时支持离线方式以兼容传统压缩文件分享流程。

2、为实现上述目的,本发明采用以下技术方案:

3、一种文件加密共享方法,所述文件加密共享方法包括以下步骤:

4、s1,发送方接收待共享的文件,生成随机数w和随机数s,w和s的范围为[1,order-1],order为sm2椭圆曲线基点g的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;

5、s2,选取接收方,读取并验证接收方对应的sm2证书文件,获取对应的公钥,将发送方证书的cn值写入待共享的文件;

6、s3,计算参数w,w=w*p,p为sm2椭圆曲线基点,计算出随机数w对应的椭圆曲线上点w的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是点w对应的x轴坐标值和y轴坐标值;

7、s4,对所有接收方,计算密钥分发多项式的系数至,并将多项式系数至写入待共享的文件:

8、;

9、式中,,为接收方数量;

10、s5,以随机数s为密码对待共享的文件使用sm4算法进行加密,将加密得到的比特串写入待共享的文件;

11、s6,使用sm2算法和发送方的usbkey私钥对步骤s5得到的整个文件进行签名,并将签名结果写入文件,将得到的最终的加密压缩文件分发至各个接收方。

12、进一步地,步骤s4中,计算密钥分发多项式的系数的过程包括以下步骤:

13、s41,对所有接收方,计算得到公钥对应的椭圆曲线上的点,为接收方的公钥,将坐标转化成比特串;和分别是点对应的x轴坐标值和y轴坐标值;

14、s42,计算得到,表示采用sm3算法对进行处理,表示比特串连接;

15、s43,计算出多项式的系数至,分别写入待共享的文件。

16、进一步地,步骤s2中,将发送端证书的cn值写入文件首部。

17、进一步地,步骤s6中,将签名结果写入文件尾部。

18、进一步地,所述文件加密共享方法还包括以下步骤:

19、步骤a,接收方接收加密压缩文件,从加密压缩文件中读取签名结果和发送方证书的cn值,采用发送方的公钥和签名结果对加密压缩文件进行完整性验证,如果验证通过,转入步骤b,否则报错,结束流程;

20、步骤b,从加密压缩文件中读取w、多项式系数,采用接收方usbkey计算得到随机数s;

21、步骤c,以s为密码对文件使用sm4算法进行解密,还原出明文压缩文件,并进行解压得到原文件内容。

22、进一步地,步骤b中,采用接收方usbkey计算得到随机数s的过程包括以下步骤:

23、步骤b1,计算得到,将转化成比特串,其中为接收方私钥;;

24、步骤b2,以为根,根据多项式定义:,使用多项式系数计算得到随机数s,当时的取值为s。

25、本发明还公开了一种文件加密共享装置,所述文件加密共享装置包括共享文件接收模块、共享文件加密模块和共享文件发送模块;

26、所述共享文件接收模块用于接收待共享的文件;

27、所述共享文件加密模块用于对待共享的文件进行加密处理;所述共享文件加密模块包括:

28、随机数生成组件,用于生成随机数w和随机数s,w和s的范围为[1,order-1],order为sm2椭圆曲线基点g的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;

29、接收方选择组件,用于选取接收方,读取并验证接收方对应的sm2证书文件,获取对应的公钥,将发送方证书的cn值写入待共享的文件;

30、参数计算组件,用于计算参数w,w=w*p,p为sm2椭圆曲线基点,计算出椭圆曲线上点w的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是参数w对应的椭圆曲线上的点的x轴坐标值和y轴坐标值;

31、多项式系数计算组件,用于对所有接收方,计算密钥分发多项式的系数至,并将多项式系数至写入待共享的文件:

32、;

33、式中,,为接收方数量;

34、sm4算法加密组件,用于以随机数s为密码对待共享的文件使用sm4算法进行加密,将加密得到的比特串写入待共享的文件;

35、签名组件,用于使用sm2算法和发送方的usbkey私钥对步骤s5得到的整个文件进行签名,并将签名结果写入文件,得到加密完成的待共享的文件;

36、所述共享文件发送模块用于将加密完成的待共享的文件发送至接收方。

37、本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如前所述的方法步骤。

38、本发明还公开了一种电子设备,所述电子设备包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现如前所述的方法步骤。

39、本发明还公开了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如前所述的方法步骤。

40、本发明的有益效果是:

41、第一,本发明的文件加密共享方法,在非可信环境下基于sm2椭圆曲线离散对数求解困难问题、多项式差值技术、usbkey硬件加解密技术对压缩文件分发过程中的密码进行了有效保护,对加密文件的访问权限进行了限制,保证了秘密信息在传输和分发过程的安全;信息发送方和接收方不需要输入明文密码,也避免了关键密码的泄漏。

42、第二,本发明的文件加密共享方法,支持离线和在线文件加密分发,兼容传统使用方式,用户只需使用usbkey进行身份绑定,不需要手动输入其他繁杂密码,提高了文件共享的安全强度,同时降低了密码泄露的风险,文件内容使用国密sm4算法进行加密,运算速度快,保证了共享效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1