CN108833343A - 一种支持大数据的并行加密方法及解密方法 - Google Patents
一种支持大数据的并行加密方法及解密方法 Download PDFInfo
- Publication number
- CN108833343A CN108833343A CN201810398950.2A CN201810398950A CN108833343A CN 108833343 A CN108833343 A CN 108833343A CN 201810398950 A CN201810398950 A CN 201810398950A CN 108833343 A CN108833343 A CN 108833343A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- encryption
- encrypted
- ciphertext
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0464—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Abstract
本发明提供了一种支持大数据的并行加密方法及解密方法。本发明把对称密钥加密与公钥密码加密进行了有机融合,利用数字信封技术和数字签名技术构造了一个并行加密框架,使得数据的保密性、完整性和不可抵赖性有了安全保证。针对大数据特别是大文件,采用了多线程并行处理方法,将待加密文档拆分为若干个数据块,并分别对这些数据块进行加密操作。接收方不必等待整个文档传送完毕再进行解密、验证甚至要求重传,只需验证所接收到的数据块是否正确,从而提高了整个传输过程的效率。另一方面,将文档分块传输也从一定程度上保证了安全性。从而能够适应大数据背景下数据安全传输的应用需求。
Description
技术领域
本发明涉及计算机技术中的信息安全领域,更具体的说,本发明涉及一种支持大数据的并行加密方法及解密方法。
背景技术
信息技术的快速发展使得像移动互联网、云计算、区块链等基于网络的应用快速发展,使得网络上传输的数据量越来越大。其中很多网络应用涉及数据安全和隐私保护,例如电子商务、电子政务、金融、电力、个人隐私等,为此在数据传输是需要进行加密。数据加密是一种耗时的应用,大数据背景下为了提高数据传输效率需要采用并行加密,本发明提供大数据背景下的并行加密方法及其使用方法。
在中国发明专利说明书CN 201410572913.0中公开了一种通过AES-CBC算法进行并行加密的方法及系统。该发明适用与视频加密领域。其并行加密的方法将所述传输流视频文件切割为n个子视频块;然后对各子视频块独立并行加密;从而完成对TS视频文件的加密。在CN201510846844.2中公开了一种基于Modbus协议的数据并行加密通信方法和系统,适用于工业数据传输。在201510589548.9中公开了一种多缓冲并行加密的软件调度方法,该发明调整加密数据报文的结构,增加了对多缓冲区方式的识别,实现多个缓冲区传输数据,减少待加解密数据在传输过程中的时间。在201510339182.X中公开看一种云计算环境中并行同态数据加密方法,其根据给定的安全强度要求参数和加密后明文数据的比特长度,生成私钥和公钥,然后将明文数据等分成N块,对每一块独立进行加密运算,将分块后的明文数据在Map中用公钥进行并行加密处理,将密文在Reduce中进行拼接,得到完整的密文。该方法不涉及数据传输。在201310487509.9中公开了一种大数据环境下动态数据的并行加解密方法,该方法实现了对网络上产生的大量动态数据流并行加解密操作的方法。利用通用计算图形处理器GPU并行完成对数据的加密解密过程,根据动态数据传输速率,自适应调整数据处理并发宽度。
上述发明要么是适用于特定的领域,例如工业领域,图像领域;要么就是特定的环境例如在MapReduce中或者缓冲区中,上述并行加密并没用涉及网络传输的应用。
在现有的加密框架下,如果发送方若需要传输大文件,接收方需要等待加密文档传输完毕之后才能进行解密、验证等下一步的操作,如果接收方接收到的加密文档在传输过程中有丢包、被篡改等情况导致其信息不完整或是不正确(这在不稳定、有威胁的网络传输环境中是很常见的),那么为了得到所需文档,接收方不得不要求发送方重新发送。当文档数据量很大时,这将带来极大的时间以及资源的浪费。现有加密方法没用涉及对大文件断点续传的功能。本发明提出的支持大数据的并行加密方法能够支持在网络上断点续传。
发明内容
本发明所要解决的技术问题是为了解决现有网络环境下大数据特别是大文件加密通信效率不高的问题,提出一种支持大数据的并行加密方法及解密方法。
为实现上述目的,在第一方面,本发明提供了一种支持大数据的并行加密方法,该方法包括如下步骤:
1)建立基于数字信封和数字签名的加密框架;
2)将待加密文件F拆分成n个数据块,将每个数据块的最后设置一个字节共8b的数据块顺序号,并将第n个数据块进行数据填充;
3)采用n个线程分别将步骤2)处理后的各数据块数据通过步骤1)的加密框架进行加密操作后发送至接收方。
进一步地,所述步骤1)具体包括:
101)通过安全散列算法SHA-1把数据明文D散列成明文摘要MD,再利用椭圆曲线数字签名算法ECSDA对明文摘要MD进行加密,获得加密后的明文摘要EMD;
102)设置私钥SK,通过私钥SK利用公钥加密算法AES把明文D加密成密文ED;
103)利用椭圆曲线加密算法ECIES把私钥SK进行加密,获得加密后的私钥ESK;
104)把加密后的私钥ESK、密文ED和明文摘要的密文EMD发送给接收方。
进一步地,所述步骤2)具体包括如下步骤:
201)计算待加密数据的大小SD=SF+8n,其中SF为文件F的长度;
202)计算得到分块数SN,其方法为待加密数据的大小SD除以len后向下取整;
203)最后一个分块的分组数NF=SN-(n-1)*ND,其它分块的分组数ND为分块数SN除以n后向下取整;
204)把F按照每块大小为(ND*len-8)b拆分为n块,即F1,F2,…,Fn;
205)假定Fn的长度为Ln,需要把Ln补充到len,补充后的文件为Fn’,其中Fn’倒数第一个字节内容为n的值,倒数第2个字节内容为len-Ln–8的值,第Ln+1位为1,第Ln+2位到len-17位全部填成0;
206)设置循环变量i=1;
207)如果i大于n则结束;
208)把序号i填充Fi后面,获得第i个数据块的明文Di;
209)i=i+1;
210)执行步骤207)。
更进一步地,所述步骤3)具体包括:
301)输入待加密的文件F,加密的私钥SK,文件分块数量n和AES算法参数len;
302)计算待加密数据的大小SD=SF+8n,其中SF为文件F的长度;
303)计算得到分块数SN,其方法为待加密数据的大小SD除以len后向下取整;
304)最后一个分块的分组数NF=SN-(n-1)*ND,其他分块的分组数ND为分块数SN除以n后向下取整;
305)用椭圆曲线加密算法ECIES加密私钥SK得到加密的私钥ESK;
306)把F按照每块大小为(ND*len-8)b拆分为n块,即F1,F2,…,Fn;
307)填充Fn,并设置循环变量i=1;
308)如果i大于n则执行步骤316);
309)把序号i填充Fi后面,获得第i个数据块的明文Di;
310)利用安全散列算法SHA-1计算获得数据块Di的摘要MDi;
311)利用椭圆曲线数字签名算法ECSDA对第i块明文摘要MDi进行加密,获得加密后的第i块的密文摘要EMDi;
312)利用AES算法,输入私钥SK和数据块的明文Di;获得第i块的密文EDi;
313)把第i块的密文EDi和密文摘要EMDi合并后得到第i块的要传输密文数据Ti;
314)传输密文数据Ti;
315)临时变量i加1;执行步骤308);
316)结束。
在第二方面,本发明提供了一种支持大数据的解密方法,所述并行解密方法用于对上述并行加密方法生成的所述加密数据进行解密,所述并行解密方法包括:
1)建立基于数字信封和数字签名的解密框架;
2)接收发送方发送的加密后的文件,并基于步骤1)建立的解密框架进行解密操作。
进一步地,所述步骤1)具体包括:
11)接收发送方发送的加密后的私钥ESK、密文ED和明文摘要的密文EMD;
12)利用椭圆曲线数字签名算法ECSDA对加密的明文摘要EMD进行解密,获得
明文摘要MD;
13)用椭圆曲线加密算法ECIES对加密后的私钥ESK进行解密,获得私钥SK;
14)利用私钥SK对密文ED进行AES解密,获得明文D;
15)把明文D通过安全散列算法SHA-1进行运算,获得另一份明文摘要MD;
16)把步骤12)获得的明文摘要MD与步骤26)获得的明文摘MD要进行比较,如果相等,则认可步骤24)获取的明文。
更进一步地,所述步骤2)解密方法包括:
401)输入接收数据块Ti(1≤i≤n),加密的私钥ESK和数据块数量n;
402)用椭圆曲线加密算法ECIES对加密的私钥ESK解密,获得私钥SK;
403)设置临时变量i=1,把文件F置空;
404)如果i大于n则执行步骤413);
405)拆分第i块密文数据Ti,得到第i块的密文EDi和密文摘要EMDi;
406)利用椭圆曲线数字签名算法ECSDA对第i块密文摘要EMDi进行解密,获得第i块的明文摘要MDi;
407)利用AES算法,输入私钥SK和数据块的密文MDi;获得第i块的明文Di;
408)利用安全散列算法SHA-1计算获得数据块Di的另一份摘要MDi’;
409)如果步骤406)和步骤408)计算处理的摘要不相等则要求发送方重新传输第i块密文数据Ti,并执行步骤405),否则执行步骤410);
410)去掉第i块的明文Di的填充数据获得第i块文件数据Fi;
411)把第i块文件数据Fi合并到文件F中;
412)临时变量i加1;执行步骤404);
413)输出文件F,结束。
本发明的有益效果:本文提出一种加密方案,结合数字信封技术和数字签名技术,把对称密钥加密和公钥密钥加密的特点和性质构造了一个数据保密性、完整性和不可抵赖性可保证的完备的数据加密框架,加密框架中采用了密钥更短的椭圆曲线加密算法,其在已知的公开密钥体制中提供了每比特最高的加密强度。在加密框架基础上,针对大文件提出了并行加密的方案,在接收文件有错误或者被篡改的情况下可以不用重传整个大文件,从而适应了新的应用要求。
附图说明
图1是本发明实施例提供的一种支持大数据的加密方法流程图;
图2是本发明实施例的基于数字信封和数字签名的加密框架;
图3是本发明实施例的文件分块的数据结构图;
图4是本发明实施例的文件分块的最后一个分块的数据结构图;
图5是本发明实施例并行加密的流程图;
图6是本发明实施例提供的一种支持大数据的解密方法流程图;
图7是本发明实施例并行解密的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面将结合发明实施例中的附图,对发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是发明一部分实施例,而非全部的实施例。基于发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于发明保护的范围。
图1是本发明实施例提供的一种支持大数据的加密方法流程图。
在步骤101中,建立基于数字信封和数字签名的加密框架。
所谓数字信封技术,也即明文数据首先由对称加密算法进行加密,接着,再利用接收方的公钥对对称密钥进行加密,从而得到数字信封,即数据密文和密钥密文。所谓数字签名技术,也即用发送方的私钥对数据进行加密,也就进行了签名。由于公钥加密算法运算速度比较慢,因此可使用安全的单向散列函数对要签名的信息进行摘要处理,减小运算量。
传统的数字信封技术确保了数据的保密性,但是由于其采用的是公钥加密机制,恶意用户虽然无法解密数据但却可以破坏数据,从而无法保证数据的完整性和不可抵赖性。而数字签名技术由于其采用的是私钥加密的机制,恰恰确保了这两个特性。本发明将数字信封与数字签名技术进行有机结合,构造一个更加完善的加密方案。
该加密框架结合了对称密钥体制和公钥密码体制的优点,同时数据的保密性、完整性和不可抵赖性都有了保证,是一个比较完备的数据加密框架。加密框架分发送方和接收方的处理。
如图2所示,加密方或发送方的处理步骤如下:
在步骤101-1中,通过安全散列算法SHA-1把数据明文D散列成明文摘要MD,再利用椭圆曲线数字签名算法ECSDA对明文摘要MD进行加密,获得加密后的明文摘要EMD。其中安全散列算法可将最大264字节的明文转换成160位的明文摘要,满足大数据背景下大文件的应用。
在步骤101-2中,设置私钥SK,通过私钥SK利用公钥加密算法AES把明文D加密成密文ED。
在步骤101-3中,利用椭圆曲线加密算法ECIES把私钥SK进行加密,获得加密后的私钥ESK。
在步骤101-4中,把加密后的私钥ESK、密文ED和明文摘要的密文EMD发送给接收方。
在步骤102中,将待加密文件F拆分成n个数据块,将每个数据块的最后设置一个字节共8b的数据块顺序号,并将第n个数据块进行数据填充。具体如下:
为了能够支持大文件的断点续传和并行加密,提出利用多线程并行处理,将待加密文档拆分为若干个数据块,并分别对这些数据块进行加密操作。接收方不必等待整个文档传送完毕再进行解密、验证甚至要求重传,只需验证所接收到的数据块是否正确,从而提高了整个传输过程的效率。另一方面,将文档分块传输也从一定程度上保证了安全性。并行加密算法首先需要对文档进行分块处理,文档分块处理的步骤如下:
为提高对大数据背景下大文件的加解密速度,采用平均分配的任务调度策略,把待加密文件拆分为n个数据块,然后由n个线程分别对这些数据块进行加解密操作。解密时,需要把分别解密出来的各个数据块按顺序连接起来才能恢复原来的明文,因此需要把数据块的顺序信息添加到每个数据块中,为此在每个数据块的最后设置一个字节共8位的数据块顺序号。
为增强安全性,把序号连同数据内容一起加密,文档加密采用公钥密码算法AES。由于文档长度的可变性,待加密文档大小SD很有可能不是AES算法分组长度len的整数倍,因此需要对数据块进行填充。为了使填充尽可能少,本发明采用以下方法使得只有最后一个数据块需要进行数据填充。首先计算待加密数据的大小SD=SF+8n,其中SF为文档大小。然后计算待加密数据的分块数目由得到除了最后一个数据块以外的每个数据块中的分组数目。第i个数据块Di如图3所示,共ND个分组,第一个分组内容为长度为len的密文m1,以此类推;单最后一个分组的最后一个字节为8b的序号。最后一个数据块中分组数目为NF=SN-(n-1)*ND,这样,只要填充最后一个数据块。填充数据块的步骤如下:
最后一个数据块加上一个字节的序列号的数据长度可能不是len的倍数,在尾部有一个短分组,因此需要进行数据填充从而形成一个完整的分组。
在数据块的最后一个字节是其序列号,倒数第二个字节是要填充字节的数目,填充的内容由第一位“1”后面跟随足够的“0”组成。例如,当len=128位且最后一个分组含有60位的情况下,最后一个字节的8位用于表示该数据块的序列号,倒数第二个字节的内容t=128-60-8=60(十进制),则填充的内容为第61位至第112位填充1个“1”后跟51个“0”。解密后删除最后68位的内容即可去掉填充位和序列号。
如图4所示,在数据块的最后一个字节是长度为8b的序列号,倒数第二个字节是要填充字节的数目,填充的内容由第一位“1”后面跟随足够的“0”组成。即使最后一个数据块加上8位后的数据长度是len的整数倍,也要进行填充。这种情况下可以看作最后一个数据块的最后一个分组含有0b的数据,则需要填充1个“1”后跟111个“0”,随后一个字节填充120(十进制),最后一个字节是其序列号。解密后删除最后一个分组的128位内容(即整个最后分组),便可去掉填充位和序列号。
在步骤103中,采用n个线程分别将步骤102处理后的各数据块数据通过步骤101的加密框架进行加密操作后发送至接收方。
图5是本发明实施例的并行加密的方法流程图,具体步骤如下:
在步骤103-1中,输入待加密的文件F,私钥SK,文件分块数量n和AES算法参数len。
在步骤103-2中,计算待加密数据的大小SD=SF+8n,其中SF为文件F的长度。
在步骤103-3中,计算得到分块数SN,其方法为待加密数据的大小SD除以len后向下取整。
在步骤103-4中,最后一个分块的分组数NF=SN-(n-1)*ND,其他分块的分组数ND为分块数SN除以n后向下取整。
在步骤103-5中,用椭圆曲线加密算法ECIES加密私钥SK得到加密的私钥ESK。
在步骤103-6中,把F按照每块大小为(ND*len-8)b拆分为n块,即F1,F2,…,Fn。
在步骤103-7中,填充Fn,并设置循环变量i=1。
在步骤103-8中,如果i大于n则执行步骤103-16。
在步骤103-9中,把序号i填充Fi后面,获得第i个数据块的明文Di。
在步骤103-10中,利用安全散列算法SHA-1计算获得数据块Di的摘要MDi。
在步骤103-11中,利用椭圆曲线数字签名算法ECSDA对第i块明文摘要MDi进行加密,获得加密后的第i块的密文摘要EMDi。
在步骤103-12中,利用AES算法,输入私钥SK和数据块的明文Di;获得第i块的密文EDi;
在步骤103-13中,把第i块的密文EDi和密文摘要EMDi合并后得到第i块的要传输密文数据Ti;
在步骤103-14中,传输密文数据Ti;
在步骤103-15中,临时变量i加1;执行步骤103-8。
在步骤103-16中,结束。
另外,本发明实施例还提供了一种支持大数据的并行解密方法,该方法用于对上述并行加密方法生成的所述加密数据进行解密,如图6所示,该方法包括如下步骤:
在步骤601中,建立基于数字信封和数字签名的解密框架;
在步骤602中,接收发送方发送的加密后的文件,并基于步骤601建立的解密框架进行解密操作。
进一步地,所述步骤601解密方或接收方的处理步骤如图2所示。
在步骤601-1中,接收发送方发送的加密后的私钥ESK、密文ED和明文摘要的密文EMD。
在步骤601-2中,利用椭圆曲线数字签名算法ECSDA对加密的明文摘要EMD进行解密,获得明文摘要MD。
在步骤601-3中,用椭圆曲线加密算法ECIES对加密后的私钥ESK进行解密,获得私钥SK。
在步骤601-4中,利用私钥SK对密文ED进行AES解密,获得明文D。
在步骤601-5中,把明文D通过安全散列算法SHA-1进行运算,获得另一份明文摘要MD。
在步骤601-6中,把步骤601-2获得的明文摘要MD与步骤601-6获得的明文摘MD要进行比较,如果相等,则认可步骤601-4获取的明文。
进一步地,所述步骤602的解密方法如图7所示,具体包括如下步骤:
在步骤602-1中,输入接收数据块Ti(1≤i≤n),加密的私钥ESK和数据块数量n。
在步骤602-2中,用椭圆曲线加密算法ECIES对加密的私钥ESK解密,获得私钥SK。
在步骤602-3中,设置临时变量i=1,把文件F置空。
在步骤602-4中,如果i大于n则执行步骤602-13。
在步骤602-5中,拆分第i块密文数据Ti,得到第i块的密文EDi和密文摘要EMDi。
在步骤602-6中,利用椭圆曲线数字签名算法ECSDA对第i块密文摘要EMDi进行解密,获得第i块的明文摘要MDi。
在步骤602-7中,利用AES算法,输入私钥SK和数据块的密文MDi;获得第i块的明文Di。
在步骤602-8中,利用安全散列算法SHA-1计算获得数据块Di的另一份摘要MDi’。
在步骤602-9中,如果步骤602-6和步骤602-8计算处理的摘要不相等则要求发送方重新传输第i块密文数据Ti,并执行步骤602-5,否则执行步骤602-10。
在步骤602-10中,去掉第i块的明文Di的填充数据获得第i块文件数据Fi。
在步骤602-11中,把第i块文件数据Fi合并到文件F中。
在步骤602-12中,临时变量i加1;执行步骤602-4。
在步骤602-13中,输出文件F,结束。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种支持大数据的并行加密方法,其特征在于,包括如下步骤:
1)建立基于数字信封和数字签名的加密框架;
2)将待加密文件F拆分成n个数据块,将每个数据块的最后设置一个字节共8b的数据块顺序号,并将第n个数据块进行数据填充;
3)采用n个线程分别将步骤2)处理后的各数据块数据通过步骤1)的加密框架进行加密操作后发送至接收方。
2.根据权利要求1所述的一种支持大数据的并行加密方法,其特征在于,所述步骤1)具体包括:
101)通过安全散列算法SHA-1把数据明文D散列成明文摘要MD,再利用椭圆曲线数字签名算法ECSDA对明文摘要MD进行加密,获得加密后的明文摘要EMD;
102)设置私钥SK,通过私钥SK利用公钥加密算法AES把明文D加密成密文ED;
103)利用椭圆曲线加密算法ECIES把私钥SK进行加密,获得加密后的私钥ESK;
104)把加密后的私钥ESK、密文ED和明文摘要的密文EMD发送给接收方。
3.根据权利要求1所述的一种支持大数据的并行加密方法,其特征在于,所述步骤2)具体包括如下步骤:
201)计算待加密数据的大小SD=SF+8n,其中SF为文件F的长度;
202)计算得到分块数SN,其方法为待加密数据的大小SD除以len后向下取整;
203)最后一个分块的分组数NF=SN-(n-1)*ND,其它分块的分组数ND为分块数SN除以n后向下取整;
204)把F按照每块大小为(ND*len-8)b拆分为n块,即F1,F2,…,Fn;
205)假定Fn的长度为Ln,需要把Ln补充到len,补充后的文件为Fn’,其中Fn’倒数第一个字节内容为n的值,倒数第2个字节内容为len-Ln–8的值,第Ln+1位为1,第Ln+2位到len-17位全部填成0;
206)设置循环变量i=1;
207)如果i大于n则结束;
208)把序号i填充Fi后面,获得第i个数据块的明文Di;
209)i=i+1;
210)执行步骤207)。
4.根据权利要求2所述的一种支持大数据的并行加密方法,其特征在于,所述步骤2)具体包括如下步骤:
201)计算待加密数据的大小SD=SF+8n,其中SF为文件F的长度;
202)计算得到分块数SN,其方法为待加密数据的大小SD除以len后向下取整;
203)最后一个分块的分组数NF=SN-(n-1)*ND,其它分块的分组数ND为分块数SN除以n后向下取整;
204)把F按照每块大小为(ND*len-8)b拆分为n块,即F1,F2,…,Fn;
205)假定Fn的长度为Ln,需要把Ln补充到len,补充后的文件为Fn’,其中Fn’倒数第一个字节内容为n的值,倒数第2个字节内容为len-Ln–8的值,第Ln+1位为1,第Ln+2位到len-17位全部填成0;
206)设置循环变量i=1;
207)如果i大于n则结束;
208)把序号i填充Fi后面,获得第i个数据块的明文Di;
209)i=i+1;
210)执行步骤207)。
5.根据权利要求4所述的一种支持大数据的并行加密方法,其特征在于,所述步骤3)具体包括:
301)输入待加密的文件F,加密的私钥SK,文件分块数量n和AES算法参数len;
302)计算待加密数据的大小SD=SF+8n,其中SF为文件F的长度;
303)计算得到分块数SN,其方法为待加密数据的大小SD除以len后向下取整;
304)最后一个分块的分组数NF=SN-(n-1)*ND,其他分块的分组数ND为分块数SN除以n后向下取整;
305)用椭圆曲线加密算法ECIES加密私钥SK得到加密的私钥ESK;
306)把F按照每块大小为(ND*len-8)b拆分为n块,即F1,F2,…,Fn;
307)填充Fn,并设置循环变量i=1;
308)如果i大于n则执行步骤316);
309)把序号i填充Fi后面,获得第i个数据块的明文Di;
310)利用安全散列算法SHA-1计算获得数据块Di的摘要MDi;
311)利用椭圆曲线数字签名算法ECSDA对第i块明文摘要MDi进行加密,获得加密后的第i块的密文摘要EMDi;
312)利用AES算法,输入私钥SK和数据块的明文Di;获得第i块的密文EDi;
313)把第i块的密文EDi和密文摘要EMDi合并后得到第i块的要传输密文数据Ti;
314)传输密文数据Ti;
315)临时变量i加1;执行步骤308);
316)结束。
6.一种支持大数据的并行解密方法,其特征在于,所述并行解密方法用于对权利要求1-5中任意一项所述并行加密方法生成的所述加密数据进行解密,所述并行解密方法包括:
1)建立基于数字信封和数字签名的解密框架;
2)接收发送方发送的加密后的文件,并基于步骤1)建立的解密框架进行解密操作。
7.根据权利要求6所述的一种支持大数据的并行解密方法,其特征在于,所述步骤1)具体包括:
11)接收发送方发送的加密后的私钥ESK、密文ED和明文摘要的密文EMD;
12)利用椭圆曲线数字签名算法ECSDA对加密的明文摘要EMD进行解密,获得明文摘要MD;
13)用椭圆曲线加密算法ECIES对加密后的私钥ESK进行解密,获得私钥SK;
14)利用私钥SK对密文ED进行AES解密,获得明文D;
15)把明文D通过安全散列算法SHA-1进行运算,获得另一份明文摘要MD;
16)把步骤12)获得的明文摘要MD与步骤26)获得的明文摘MD要进行比较,如果相等,则认可步骤24)获取的明文。
8.根据权利要求7所述的一种支持大数据的并行解密方法,其特征在于,所述步骤2)解密方法包括:
401)输入接收数据块Ti(1≤i≤n),加密的私钥ESK和数据块数量n;
402)用椭圆曲线加密算法ECIES对加密的私钥ESK解密,获得私钥SK;
403)设置临时变量i=1,把文件F置空;
404)如果i大于n则执行步骤413);
405)拆分第i块密文数据Ti,得到第i块的密文EDi和密文摘要EMDi;
406)利用椭圆曲线数字签名算法ECSDA对第i块密文摘要EMDi进行解密,获得第i块的明文摘要MDi;
407)利用AES算法,输入私钥SK和数据块的密文MDi;获得第i块的明文Di;
408)利用安全散列算法SHA-1计算获得数据块Di的另一份摘要MDi’;
409)如果步骤406)和步骤408)计算处理的摘要不相等则要求发送方重新传输第i块密文数据Ti,并执行步骤405),否则执行步骤410);
410)去掉第i块的明文Di的填充数据获得第i块文件数据Fi;
411)把第i块文件数据Fi合并到文件F中;
412)临时变量i加1;执行步骤404);
413)输出文件F,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810398950.2A CN108833343A (zh) | 2018-04-28 | 2018-04-28 | 一种支持大数据的并行加密方法及解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810398950.2A CN108833343A (zh) | 2018-04-28 | 2018-04-28 | 一种支持大数据的并行加密方法及解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108833343A true CN108833343A (zh) | 2018-11-16 |
Family
ID=64155767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810398950.2A Pending CN108833343A (zh) | 2018-04-28 | 2018-04-28 | 一种支持大数据的并行加密方法及解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108833343A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336658A (zh) * | 2019-07-01 | 2019-10-15 | 武汉能钠智能装备技术股份有限公司 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
CN111339547A (zh) * | 2020-03-27 | 2020-06-26 | 苏州链原信息科技有限公司 | 用于生成数据标签的方法、电子设备及计算机存储介质 |
CN111400744A (zh) * | 2020-04-20 | 2020-07-10 | 深信服科技股份有限公司 | 文件加解密处理方法、装置、设备及可读存储介质 |
CN111654511A (zh) * | 2020-07-13 | 2020-09-11 | 中国银行股份有限公司 | 一种链式数据加密方法、链式数据解密方法及相应的系统 |
CN112532637A (zh) * | 2020-12-03 | 2021-03-19 | 南理工泰兴智能制造研究院有限公司 | 一种基于区块链技术的新能源汽车联网信息加密传输方法 |
CN115102788A (zh) * | 2022-08-10 | 2022-09-23 | 北京安盟信息技术股份有限公司 | 一种通过密钥重用提高数字信封性能的方法及数字信封 |
CN116208317A (zh) * | 2023-05-05 | 2023-06-02 | 上海芯联芯智能科技有限公司 | 一种抗侧信道攻击的方法及加解密器 |
CN116405327A (zh) * | 2023-06-08 | 2023-07-07 | 天津市津能工程管理有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
CN117094717A (zh) * | 2023-07-25 | 2023-11-21 | 湖北谊嘉金融仓储有限公司 | 一种基于区块链加密的多用户应收账款确权核对系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005719A (zh) * | 2003-06-11 | 2015-10-28 | 安全第一公司 | 安全数据解析器方法和系统 |
CN106533656A (zh) * | 2016-11-18 | 2017-03-22 | 东莞理工学院 | 一种基于wsn的密钥多层混合加/解密方法 |
CN106656475A (zh) * | 2017-01-09 | 2017-05-10 | 李朋林 | 一种用于高速加密的新型对称型密钥算法 |
CN106788969A (zh) * | 2016-12-02 | 2017-05-31 | 航天星图科技(北京)有限公司 | 一种数据文件的传输方法 |
CN107317666A (zh) * | 2017-05-25 | 2017-11-03 | 南京邮电大学 | 一种支持浮点运算的并行全同态加解密方法 |
-
2018
- 2018-04-28 CN CN201810398950.2A patent/CN108833343A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105005719A (zh) * | 2003-06-11 | 2015-10-28 | 安全第一公司 | 安全数据解析器方法和系统 |
CN106533656A (zh) * | 2016-11-18 | 2017-03-22 | 东莞理工学院 | 一种基于wsn的密钥多层混合加/解密方法 |
CN106788969A (zh) * | 2016-12-02 | 2017-05-31 | 航天星图科技(北京)有限公司 | 一种数据文件的传输方法 |
CN106656475A (zh) * | 2017-01-09 | 2017-05-10 | 李朋林 | 一种用于高速加密的新型对称型密钥算法 |
CN107317666A (zh) * | 2017-05-25 | 2017-11-03 | 南京邮电大学 | 一种支持浮点运算的并行全同态加解密方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336658A (zh) * | 2019-07-01 | 2019-10-15 | 武汉能钠智能装备技术股份有限公司 | 基于aes算法的加密方法、用户设备、存储介质及装置 |
CN111339547A (zh) * | 2020-03-27 | 2020-06-26 | 苏州链原信息科技有限公司 | 用于生成数据标签的方法、电子设备及计算机存储介质 |
CN111339547B (zh) * | 2020-03-27 | 2024-03-19 | 苏州链原信息科技有限公司 | 用于生成数据标签的方法、电子设备及计算机存储介质 |
CN111400744B (zh) * | 2020-04-20 | 2023-09-05 | 深信服科技股份有限公司 | 文件加解密处理方法、装置、设备及可读存储介质 |
CN111400744A (zh) * | 2020-04-20 | 2020-07-10 | 深信服科技股份有限公司 | 文件加解密处理方法、装置、设备及可读存储介质 |
CN111654511A (zh) * | 2020-07-13 | 2020-09-11 | 中国银行股份有限公司 | 一种链式数据加密方法、链式数据解密方法及相应的系统 |
CN112532637A (zh) * | 2020-12-03 | 2021-03-19 | 南理工泰兴智能制造研究院有限公司 | 一种基于区块链技术的新能源汽车联网信息加密传输方法 |
CN115102788B (zh) * | 2022-08-10 | 2023-01-17 | 北京安盟信息技术股份有限公司 | 一种通过密钥重用提高数字信封性能的方法及数字信封 |
CN115102788A (zh) * | 2022-08-10 | 2022-09-23 | 北京安盟信息技术股份有限公司 | 一种通过密钥重用提高数字信封性能的方法及数字信封 |
CN116208317B (zh) * | 2023-05-05 | 2023-07-07 | 上海芯联芯智能科技有限公司 | 一种抗侧信道攻击的方法及加解密器 |
CN116208317A (zh) * | 2023-05-05 | 2023-06-02 | 上海芯联芯智能科技有限公司 | 一种抗侧信道攻击的方法及加解密器 |
CN116405327A (zh) * | 2023-06-08 | 2023-07-07 | 天津市津能工程管理有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
CN116405327B (zh) * | 2023-06-08 | 2023-08-22 | 天津市津能工程管理有限公司 | 一种数据处理方法、装置、电子设备和存储介质 |
CN117094717A (zh) * | 2023-07-25 | 2023-11-21 | 湖北谊嘉金融仓储有限公司 | 一种基于区块链加密的多用户应收账款确权核对系统 |
CN117094717B (zh) * | 2023-07-25 | 2024-03-29 | 湖北谊嘉金融仓储有限公司 | 一种基于区块链加密的多用户应收账款确权核对系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833343A (zh) | 一种支持大数据的并行加密方法及解密方法 | |
Cheng et al. | Securing the Internet of Things in a quantum world | |
US9172529B2 (en) | Hybrid encryption schemes | |
William et al. | Assessment of hybrid cryptographic algorithm for secure sharing of textual and pictorial content | |
Jaju et al. | A Modified RSA algorithm to enhance security for digital signature | |
CN111585759B (zh) | 一种高效的基于sm9公钥加密算法的线上线下加密方法 | |
CN114095170B (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
Mandal et al. | Designing and performance analysis of a proposed symmetric cryptography algorithm | |
Bhatele et al. | A novel approach to the design of a new hybrid security protocol architecture | |
CN107395371A (zh) | 无线传感器网络中的数据加密 | |
US20130198513A1 (en) | Encryption method and system for network communication | |
WO2022167163A1 (en) | Threshold key exchange | |
Hussein et al. | An efficient ElGamal cryptosystem scheme | |
Srivastava et al. | Review on quantum safe algorithms based on Symmetric Key and Asymmetric Key Encryption methods | |
Fouzar et al. | A Novel Hybrid Multikey Cryptography Technique for Video Communication | |
Patil et al. | Performance evaluation of hybrid cryptography algorithm for secure sharing of text & images | |
Abbas et al. | An efficient implementation of PBKDF2 with RIPEMD-160 on multiple FPGAs | |
EP2571192A1 (en) | Hybrid encryption schemes | |
Gaur et al. | Comparative Study on Different Encryption and Decryption Algorithm | |
Kamardan et al. | Modified Multi Prime RSA Cryptosystem | |
CN110113340A (zh) | 基于Hadoop平台中分布式RSA与DES混合加密方法 | |
CN104796254A (zh) | 基于ecc的公文流转方法 | |
CN113645235A (zh) | 分布式数据加解密系统及加解密方法 | |
Kaur et al. | An Encryption Scheme Based on AES and SHA-512 | |
CN107483387A (zh) | 一种安全控制方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181116 |