CN116594972A - 一种文件加密共享方法和装置 - Google Patents
一种文件加密共享方法和装置 Download PDFInfo
- Publication number
- CN116594972A CN116594972A CN202310871007.XA CN202310871007A CN116594972A CN 116594972 A CN116594972 A CN 116594972A CN 202310871007 A CN202310871007 A CN 202310871007A CN 116594972 A CN116594972 A CN 116594972A
- Authority
- CN
- China
- Prior art keywords
- file
- shared
- random number
- encryption
- receiver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 15
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种文件加密共享方法和装置,文件共享过程中使用随机数作为密码对压缩后的文件进行加密并存入经过特殊编码后的密码信息,解密时通过USBKey硬件还原随机解密密码。本发明在整个文件共享和加解密过程中任何人都不需要持有或输入明文密码,避免密码泄露;同时使用USBKey证书进行解密权限控制,进一步防止无关人员获取明文文件内容。
Description
技术领域
本发明涉及文件加密共享技术领域,具体而言涉及一种文件加密共享方法和装置。
背景技术
传统的文件加密共享技术大多首先使用明文密码和对称加密算法对文件进行压缩加密,然后通过在线或离线方式向多人分发加密密码来完成文件共享。这种文件共享方法的安全性完全依赖于密码分发过程的安全性,另外由于***中所有文件接收者都知道明文密码,也不可避免的存在不可信参与者泄漏密码的风险,因此文件安全共享首要解决的是一方加密多方解密的密码分享的问题。
论文《基于SM2的多接收方公钥加密方案》(赖俊祚,黄正安,翁健,吴永东.密码学报,2021,8(4):699–709)在区块链场景下提出了一种可共享随机数的基于国密SM2算法的多接收方信息共享加解密算法,并证明其安全性。该方案与原始的对明文进行多次加密相比,减少了部分椭圆曲线点乘运算,一定程度降低了总体运算量和通信开销,但实质上还是需要对密文进行多次加密。然而该算法虽然对朴素的对需要共享的信息进行多次加密之类的算法进行了诸多改进,使用数学证明对多次加密共用随机数是安全的,但其实质还是多次加密了预共享信息。
论文《一个单方加密-多方解密的公钥加密方》(庞辽军,李慧贤,裴庆祺,柳毅,王育.计算机学报,2012,5:1059-1066)借鉴门限秘密共享的思想,以对称密码算法为加密基础,基于双线性变换提出了一个可具有多个接收者的公钥加密方案,并对所提出的加密方案进行了正确性、安全性和性能分析。然而该方法以Shamir的门限秘密共享方案和对称密码算法为基础,基于椭圆曲线上的双线性变换的具有多个解密者的单方加密多方解密公钥加密方案,算法同时使用了门限秘密共享、对称加密算法、哈希算法和椭圆曲线上的双线性变换。其***参数较为复杂,计算过程繁杂,特别是椭圆曲线上的双线性变换与常规的椭圆曲线加密算法相比,运算速度慢至少一个数量级以上。
发明内容
本发明针对现有技术中的不足,提供一种文件加密共享方法和装置,在整个文件共享和加解密过程中任何人都不需要持有或输入明文密码,避免密码泄露;同时使用USBKey证书进行解密权限控制,进一步防止无关人员获取明文文件内容,尤其适用于一方加密多方解密的安全密码共享场景;另外,本发明的文件加密共享方法的计算量相当少,运算速度快,同时支持离线方式以兼容传统压缩文件分享流程。
为实现上述目的,本发明采用以下技术方案:
一种文件加密共享方法,所述文件加密共享方法包括以下步骤:
S1,发送方接收待共享的文件,生成随机数w和随机数s,w和s的范围为[1,order-1],order为SM2椭圆曲线基点G的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;
S2,选取接收方,读取并验证接收方对应的SM2证书文件,获取对应的公钥,将发送方证书的CN值写入待共享的文件;
S3,计算参数W,W=w*P,P为SM2椭圆曲线基点,计算出随机数w对应的椭圆曲线上点W的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是点W对应的x轴坐标值和y轴坐标值;
S4,对所有接收方,计算密钥分发多项式/>的系数/>至/>,并将多项式系数/>至/>写入待共享的文件:
;
式中,,/>为接收方数量;
S5,以随机数s为密码对待共享的文件使用SM4算法进行加密,将加密得到的比特串写入待共享的文件;
S6,使用SM2算法和发送方的USBKey私钥对步骤S5得到的整个文件进行签名,并将签名结果写入文件,将得到的最终的加密压缩文件分发至各个接收方。
进一步地,步骤S4中,计算密钥分发多项式的系数/>的过程包括以下步骤:
S41,对所有接收方,计算得到公钥/>对应的椭圆曲线上的点,/>为接收方/>的公钥,将/>坐标转化成比特串;/>和/>分别是点/>对应的x轴坐标值和y轴坐标值;
S42,计算得到,/>表示采用SM3算法对/>进行处理,/>表示比特串连接;
S43,计算出多项式的系数/>至/>,分别写入待共享的文件。
进一步地,步骤S2中,将发送端证书的CN值写入文件首部。
进一步地,步骤S6中,将签名结果写入文件尾部。
进一步地,所述文件加密共享方法还包括以下步骤:
步骤A,接收方接收加密压缩文件,从加密压缩文件中读取签名结果和发送方证书的CN值,采用发送方的公钥和签名结果对加密压缩文件进行完整性验证,如果验证通过,转入步骤B,否则报错,结束流程;
步骤B,从加密压缩文件中读取W、多项式系数,采用接收方USBKey计算得到随机数s;
步骤C,以s为密码对文件使用SM4算法进行解密,还原出明文压缩文件,并进行解压得到原文件内容。
进一步地,步骤B中,采用接收方USBKey计算得到随机数s的过程包括以下步骤:
步骤B1,计算得到,将/>转化成比特串,其中/>为接收方私钥;/>;
步骤B2,以为根,根据多项式定义:/>,使用多项式系数计算得到随机数s,当/>时/>的取值为s。
本发明还公开了一种文件加密共享装置,所述文件加密共享装置包括共享文件接收模块、共享文件加密模块和共享文件发送模块;
所述共享文件接收模块用于接收待共享的文件;
所述共享文件加密模块用于对待共享的文件进行加密处理;所述共享文件加密模块包括:
随机数生成组件,用于生成随机数w和随机数s,w和s的范围为[1,order-1],order为SM2椭圆曲线基点G的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;
接收方选择组件,用于选取接收方,读取并验证接收方对应的SM2证书文件,获取对应的公钥,将发送方证书的CN值写入待共享的文件;
参数计算组件,用于计算参数W,W=w*P,P为SM2椭圆曲线基点,计算出椭圆曲线上点W的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是参数W对应的椭圆曲线上的点的x轴坐标值和y轴坐标值;
多项式系数计算组件,用于对所有接收方,计算密钥分发多项式/>的系数至/>,并将多项式系数/>至/>写入待共享的文件:
;
式中,,/>为接收方数量;
SM4算法加密组件,用于以随机数s为密码对待共享的文件使用SM4算法进行加密,将加密得到的比特串写入待共享的文件;
签名组件,用于使用SM2算法和发送方的USBKey私钥对步骤S5得到的整个文件进行签名,并将签名结果写入文件,得到加密完成的待共享的文件;
所述共享文件发送模块用于将加密完成的待共享的文件发送至接收方。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如前所述的方法步骤。
本发明还公开了一种电子设备,所述电子设备包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现如前所述的方法步骤。
本发明还公开了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如前所述的方法步骤。
本发明的有益效果是:
第一,本发明的文件加密共享方法,在非可信环境下基于SM2椭圆曲线离散对数求解困难问题、多项式差值技术、USBKey硬件加解密技术对压缩文件分发过程中的密码进行了有效保护,对加密文件的访问权限进行了限制,保证了秘密信息在传输和分发过程的安全;信息发送方和接收方不需要输入明文密码,也避免了关键密码的泄漏。
第二,本发明的文件加密共享方法,支持离线和在线文件加密分发,兼容传统使用方式,用户只需使用USBKey进行身份绑定,不需要手动输入其他繁杂密码,提高了文件共享的安全强度,同时降低了密码泄露的风险,文件内容使用国密SM4算法进行加密,运算速度快,保证了共享效率。
附图说明
图1是本发明实施例的文件加密共享方法的文件加密流程图;
图2是本发明实施例的文件加密共享方法的文件解密流程图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本实施例公开了一种文件加密共享方法,所述文件加密共享方法包括以下步骤:
S1,发送方接收待共享的文件,生成随机数w和随机数s,w和s的范围为[1,order-1],order为SM2椭圆曲线基点G的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件。
S2,选取接收方,读取并验证接收方对应的SM2证书文件,获取对应的公钥,将发送方证书的CN值写入待共享的文件。
S3,计算参数W,W=w*P,P为SM2椭圆曲线基点,计算出椭圆曲线上点W的坐标(x,y)并转换为比特串写入待共享的文件。
S4,对所有接收方,计算密钥分发多项式/>的系数/>至/>,并将多项式系数/>至/>写入待共享的文件:
;
式中,,/>为接收方数量。
S5,以随机数s为密码对待共享的文件使用SM4算法进行加密,将加密得到的比特串写入待共享的文件。
S6,使用SM2算法和发送方的USBKey私钥对步骤S5得到的整个文件进行签名,并将签名结果写入文件,将得到的最终的加密压缩文件分发至各个接收方。
本发明实施例基于国密SM2算法和硬件USBKey等技术,提出一种高安全强度的文件加密共享方案,文件共享过程中使用随机数作为密码对压缩后的文件进行加密并存入经过特殊编码后的密码信息,解密时通过USBKey硬件还原随机解密密码,整个文件共享和加解密过程中任何人都不需要持有或输入明文密码,避免密码泄露;同时使用USBKey证书进行解密权限控制,进一步防止无关人员获取明文文件内容。
文件加密流程如图1所示:
1)发送方生成随机数w、s:
w、s为256位随机数,范围为[1,order-1],order为SM2椭圆曲线基点G的阶,w用来加密密码共享参数,s用来加密压缩文件。
2)选取接收方:
2.1)选取接收方后读取其对应SM2证书文件,并验证证书有效性,获取对应的公钥;
2.2)把发送端证书的CN(common name)值写入压缩文件,以便接收方使用发送方证书进行压缩文件完整性验证。
3)计算参数W:
计算,P为SM2椭圆曲线基点,计算出点W的坐标(x,y)并转换为比特串写入文件。基于椭圆曲线离散对数困难问题,攻击者无法由W恢复出w,保证了w的安全。
4)计算密钥分发多项式的系数/>,计算方法如下:
4.1)对所有接收方,计算:/>,将/>转化成比特串;
4.2)计算得到,H运算使用SM3算法,/>为比特串连接;
4.3)计算出多项式的系数/>至/>,并分别写入文件。
5)压缩并加密文件:
以s为密码对压缩文件使用SM4算法进行加密,将加密后的比特串写入文件。
6)对文件进行SM2签名:
采用SM2算法和发送方的USBKey私钥对整个文件进行签名,并将签名结果写入文件尾部,至此得到最终的加密压缩文件。
文件解密流程如图2所示:
1)读取并验证文件签名:
从文件首部读取发送方证书信息,在文件***内找到对应的证书并读取公钥,使用发送方的公钥和文件尾部的签名值对文件进行完整性验证,如果签名正确则继续进行解密,否则报错退出。
2)还原解密密码:
2.1)从加密文件中读取W、多项式系数至/>,使用接收方USBKey计算:,将/>转化成比特串,其中/>为接收方私钥;根据推导,接收方在不知道w的前提下可以恢复出Fi。
2.2)计算得到,H使用SM3算法。
2.3)以为根,使用多项式系数求出s,根据多项式定义:/>,得出/>时/>值为s。
3)解密文件
以s为密码对文件使用SM4算法进行解密,还原出明文压缩文件,并进行解压得到原文件内容。
相应的,本实施例还公开了一种文件加密共享装置,所述文件加密共享装置包括共享文件接收模块、共享文件加密模块和共享文件发送模块;
所述共享文件接收模块用于接收待共享的文件;
所述共享文件加密模块用于对待共享的文件进行加密处理;所述共享文件加密模块包括:
随机数生成组件,用于生成随机数w和随机数s,w和s的范围为[1,order-1],order为SM2椭圆曲线基点G的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;
接收方选择组件,用于选取接收方,读取并验证接收方对应的SM2证书文件,获取对应的公钥,将发送方证书的CN值写入待共享的文件;
参数计算组件,用于计算参数W,W=w*P,P为SM2椭圆曲线基点,计算出椭圆曲线上点W的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是椭圆曲线上的点W的x轴坐标值和y轴坐标值;
多项式系数计算组件,用于对所有接收方,计算密钥分发多项式/>的系数至/>,并将多项式系数/>至/>写入待共享的文件:
;
式中,,/>为接收方数量;
SM4算法加密组件,用于以随机数s为密码对待共享的文件使用SM4算法进行加密,将加密得到的比特串写入待共享的文件;
签名组件,用于使用SM2算法和发送方的USBKey私钥对步骤S5得到的整个文件进行签名,并将签名结果写入文件,得到加密完成的待共享的文件;
所述共享文件发送模块用于将加密完成的待共享的文件发送至接收方。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器运行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上运行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上运行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种文件加密共享方法,其特征在于,所述文件加密共享方法包括以下步骤:
S1,发送方接收待共享的文件,生成随机数w和随机数s,w和s的范围为[1,order-1],order为SM2椭圆曲线基点G的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;
S2,选取接收方,读取并验证接收方对应的SM2证书文件,获取对应的公钥,将发送方证书的CN值写入待共享的文件;
S3,计算参数W,W=w*P,P为SM2椭圆曲线基点,计算出随机数w对应的椭圆曲线上点W的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是点W对应的x轴坐标值和y轴坐标值;
S4,对所有接收方 ,计算密钥分发多项式/>的系数/>至/>,并将多项式系数至/>写入待共享的文件:
;
式中,,/>为接收方数量;
S5,以随机数s为密码对待共享的文件使用SM4算法进行加密,将加密得到的比特串写入待共享的文件;
S6,使用SM2算法和发送方的USBKey私钥对步骤S5得到的整个文件进行签名,并将签名结果写入文件,将得到的最终的加密压缩文件分发至各个接收方。
2.根据权利要求1所述的文件加密共享方法,其特征在于,步骤S4中,计算密钥分发多项式的系数/>的过程包括以下步骤:
S41,对所有接收方,计算得到公钥/>对应的椭圆曲线上的点/>,为接收方/>的公钥,将/>坐标转化成比特串;/>和/>分别是点/>对应的x轴坐标值和y轴坐标值;
S42,计算得到,/>表示采用SM3算法对/>进行处理,表示比特串连接;
S43,计算出多项式的系数/>至/>,分别写入待共享的文件。
3.根据权利要求1所述的文件加密共享方法,其特征在于,步骤S2中,将发送端证书的CN值写入文件首部。
4.根据权利要求1所述的文件加密共享方法,其特征在于,步骤S6中,将签名结果写入文件尾部。
5.根据权利要求2所述的文件加密共享方法,其特征在于,所述文件加密共享方法还包括以下步骤:
步骤A,接收方接收加密压缩文件,从加密压缩文件中读取签名结果和发送方证书的CN值,采用发送方的公钥和签名结果对加密压缩文件进行完整性验证,如果验证通过,转入步骤B,否则报错,结束流程;
步骤B,从加密压缩文件中读取W、多项式系数,采用接收方USBKey计算得到随机数s;
步骤C,以s为密码对文件使用SM4算法进行解密,还原出明文压缩文件,并进行解压得到原文件内容。
6.根据权利要求5所述的文件加密共享方法,其特征在于,步骤B中,采用接收方USBKey计算得到随机数s的过程包括以下步骤:
步骤B1,计算得到,将/>转化成比特串,其中/>为接收方私钥;/>;
步骤B2,以为根,根据多项式定义:/>,使用多项式系数计算得到随机数s,当/>时/>的取值为s。
7.一种文件加密共享装置,其特征在于,所述文件加密共享装置包括共享文件接收模块、共享文件加密模块和共享文件发送模块;
所述共享文件接收模块用于接收待共享的文件;
所述共享文件加密模块用于对待共享的文件进行加密处理;所述共享文件加密模块包括:
随机数生成组件,用于生成随机数w和随机数s,w和s的范围为[1,order-1],order为SM2椭圆曲线基点G的阶,随机数w用于加密密码共享参数,随机数s用于加密压缩文件;
接收方选择组件,用于选取接收方,读取并验证接收方对应的SM2证书文件,获取对应的公钥,将发送方证书的CN值写入待共享的文件;
参数计算组件,用于计算参数W,W=w*P,P为SM2椭圆曲线基点,计算出椭圆曲线上点W的坐标(x,y)并转换为比特串写入待共享的文件;x和y分别是参数W对应的椭圆曲线上的点的x轴坐标值和y轴坐标值;
多项式系数计算组件,用于对所有接收方,计算密钥分发多项式/>的系数/>至,并将多项式系数/>至/>写入待共享的文件:
;
式中,,/>为接收方数量;
SM4算法加密组件,用于以随机数s为密码对待共享的文件使用SM4算法进行加密,将加密得到的比特串写入待共享的文件;
签名组件,用于使用SM2算法和发送方的USBKey私钥对步骤S5得到的整个文件进行签名,并将签名结果写入文件,得到加密完成的待共享的文件;
所述共享文件发送模块用于将加密完成的待共享的文件发送至接收方。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-6任意一项所述的方法步骤。
9.一种电子设备,其特征在于,所述电子设备包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1-6任意一项所述的方法步骤。
10.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-6任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310871007.XA CN116594972B (zh) | 2023-07-17 | 2023-07-17 | 一种文件加密共享方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310871007.XA CN116594972B (zh) | 2023-07-17 | 2023-07-17 | 一种文件加密共享方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116594972A true CN116594972A (zh) | 2023-08-15 |
CN116594972B CN116594972B (zh) | 2023-10-24 |
Family
ID=87608343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310871007.XA Active CN116594972B (zh) | 2023-07-17 | 2023-07-17 | 一种文件加密共享方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116594972B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011995A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 多播通信中的加密和解密方法及装置 |
CN112100144A (zh) * | 2020-08-20 | 2020-12-18 | 东软集团股份有限公司 | 区块链文件共享方法、装置、存储介质及电子设备 |
CN115001685A (zh) * | 2022-07-22 | 2022-09-02 | 北京信安世纪科技股份有限公司 | 不经意传输方法、装置、设备和存储介质 |
US20230080856A1 (en) * | 2021-09-01 | 2023-03-16 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Processor with an elliptic curve cryptographic algorithm and a data processing method thereof |
CN115834038A (zh) * | 2022-10-31 | 2023-03-21 | 中银金融科技有限公司 | 基于国家商用密码算法的加密方法及装置 |
-
2023
- 2023-07-17 CN CN202310871007.XA patent/CN116594972B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110011995A (zh) * | 2019-03-26 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 多播通信中的加密和解密方法及装置 |
CN112100144A (zh) * | 2020-08-20 | 2020-12-18 | 东软集团股份有限公司 | 区块链文件共享方法、装置、存储介质及电子设备 |
US20230080856A1 (en) * | 2021-09-01 | 2023-03-16 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Processor with an elliptic curve cryptographic algorithm and a data processing method thereof |
CN115001685A (zh) * | 2022-07-22 | 2022-09-02 | 北京信安世纪科技股份有限公司 | 不经意传输方法、装置、设备和存储介质 |
CN115834038A (zh) * | 2022-10-31 | 2023-03-21 | 中银金融科技有限公司 | 基于国家商用密码算法的加密方法及装置 |
Non-Patent Citations (1)
Title |
---|
蔡成杭: ""支持国产密码算法的OpenSSL设计实现及应用"", 《信息安全研究》, no. 2018, pages 115 - 131 * |
Also Published As
Publication number | Publication date |
---|---|
CN116594972B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11108565B2 (en) | Secure communications providing forward secrecy | |
US11323276B2 (en) | Mutual authentication of confidential communication | |
US10903991B1 (en) | Systems and methods for generating signatures | |
CN107196763B (zh) | Sm2算法协同签名及解密方法、装置与*** | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
CN107124274B (zh) | 基于sm2的数字签名方法和装置 | |
CN110958219B (zh) | 一种面向医疗云共享数据的sm2代理重加密方法与装置 | |
US9705683B2 (en) | Verifiable implicit certificates | |
CN114553441B (zh) | 一种电子合同签署方法及*** | |
CN114448641A (zh) | 一种隐私加密方法、电子设备、存储介质以及芯片 | |
CN110233729A (zh) | 一种基于puf的加密固态盘密钥管理方法 | |
WO2020042023A1 (zh) | 一种即时通信的数据加密方法及装置 | |
CN111756537B (zh) | 基于sm2标准的两方协同解密方法、***及存储介质 | |
CN116594972B (zh) | 一种文件加密共享方法和装置 | |
CN116318696A (zh) | 一种双方无初始信任情况下代理重加密数字资产授权方法 | |
CN108768958B (zh) | 基于第三方***露被验信息的数据完整性和来源的验证方法 | |
CN115378588B (zh) | 不经意传输方法、设备和存储介质 | |
CN113922958B (zh) | 基于生物识别和sm2协同密码算法的密码保护方法及装置 | |
CN112822026B (zh) | 数字签名方法、装置及*** | |
CN114065264A (zh) | 一种音频数据处理装置及处理方法 | |
CN114337991A (zh) | 一种sm2协同签名方法 | |
CN117424704A (zh) | Pin码保护的rsa数字签名生成方法及*** | |
CN113765669A (zh) | Sm2密钥派生与使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |