一种对称加解密算法分包处理方法技术

技术编号:33092050 阅读:12 留言:0更新日期:2022-04-16 23:21
本发明专利技术提供一种对称加解密算法分包处理方法,所述方法包括以下步骤:S1,将x位明文分为前y位和后z位,前y位经过相同密钥的对称加密算法生成y位密文,加密长度为y位;S2,所述x位明文的后z位经过相同密钥的对称加密算法生成z位密文,其中,x y z为正整数,是加密算法最小长度的整数倍,明文的后z位通过断点续传;S3,将经过S1、S2两次分段加密得到的密文连接在一起得到最终的密文。本申请的优势在于:1在传输介质不稳定的情况下,能够节省时间消耗。采用分段加密传输,传输失败的概率大大减少,即使失败了浪费的时间和数据长度成正比。从而节约了时间开销。2在传输介质传输能力不足情况下,采用分包处理,可以避免传输介质的限制。可以避免传输介质的限制。可以避免传输介质的限制。

【技术实现步骤摘要】
一种对称加解密算法分包处理方法


[0001]本专利技术涉及加密
,特别涉及一种对称加解密算法分包处理方法。

技术介绍

[0002]当今社会,加密技术应用于各行各业,特别是金融和安全领域。其中,对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
[0003]采用单钥密码的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。常用的单向加密算法包括:
[0004]1、DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
[0005]2、3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
[0006]3、AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密;
[0007]4、Blowfish。
[0008]算法特征:
[0009]1、加密方和解密方使用同一个密钥;/>[0010]2、加密解密的速度比较快,适合数据比较长时的使用;
[0011]3、密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦;
[0012]在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。不同算法的实现机制不同。
[0013]但是,现有技术存在以下缺陷:
[0014]加密的数据量越大,算法需要的时间越久,而且要求系统的稳定性越高,因为数据量越大,数据传输可能会丢包。即
[0015]1:针对传输介质不稳定的情况,增大时间开销。
[0016]如图1所示,由于加解密前数据长度等于加解密数据长度,故对称加密受传输介质影响。假如传输量太大,传输通道(socket串口spi iic等)对于大数据的传输不稳定,若此时传输的数据是加密后的数据8k,倘若有10bit数据传输丢失或者异常,此次的传输失败。导致浪费了A端的加密时间和传输介质B的时间以及C端解密的时间。
[0017]2:针对传输介质传输量限制,无法通信。
[0018]A端加密后的数据量为10k,现有传输介质B最多只能传输8k,那么就无法通信到C端。

技术实现思路

[0019]本专利技术所要解决的技术问题在于:
[0020]1基于socket通信,众所周知,网络通信丢包的概率很高,特别是基于udp传输协议,那么假如要传输的加密数据量大,丢包的概率也会偏大。如果采用拆包方案,进行循环传输,每次传输一定量数据大小,丢包的概率接近于0.重新传输的成本也会降低。
[0021]2假如是系统应用层希望加密的数据量大,那么在某一个时间段加密的时间就会越久。从而影响其他进程的响应性。假如拆包处理的话,利用cpu的碎片时间去加密很大数据量的数据,那么对于系统响应性很重要。
[0022]3假如设备是cpu和加密ic通讯,如果加密数据在一定阈值,不能高于多大的数据量,但是应用又必须加密那么大的数据量。采用分包处理然后再重新组合可以达到目的。又或者是基于硬件通讯i2c,spi,串口通讯不稳定,数据量大也会丢失数据,采用分包处理也可以规避这样的问题。
[0023]具体地,本专利技术提供一种对称加解密算法分包处理方法,所述方法包括以下步骤:
[0024]S1,将x位明文分为前y位和后z位,前y位经过相同密钥的对称加密算法生成y位密文,加密长度为y位;
[0025]S2,所述x位明文的后z位经过相同密钥的对称加密算法生成z位密文,加密长度为z位,其中,x y z为正整数,且必须是加密算法最小长度的整数倍;例如des算法,数据最小单位为64位,所以x,y,z必须为64的倍数,所述明文的后z位通过断点续传的方式进行;
[0026]S3,将经过S1、S2两次分段加密得到的密文连接在一起得到最终的密文。
[0027]所述方法基于加密数据一次加密和分段加密所得到的加密后的数据相同而采用的分段加密方式。
[0028]所述方法在分包处理过程中,需要一缓冲区(B)作为中间缓冲区用于断点续传。
[0029]所述断点续传方式是通过加解密续传方法实现的。
[0030]所述加解密续传方法中的加密方法为des加密算法。
[0031]所述des加密算法核心是一次最少加密或者解密64位,加密或者解密需求为1024位,通过分析底层算法实现断点续传。
[0032]所述方法中假如应用层(A)需要将8192字节长度的密文数据送到一个专门负责解密的安全芯片(C)去解密,当中间存在限制而不能一次将8192字节数据传输到安全芯片(C),那么就需要中间缓冲区(B)去断点续传。
[0033]所述中间存在限制包括数据量大造成数据丢失,或者硬件限制,串口或者spi传输限制。
[0034]所述des算法是计算CalcDES(uchar KeyIdx,uchar*DataIn,ushort DataLen,uchar*DataOut,uchar Mode)函数的函数值,其中KeyIdx是安全芯片保存密钥的编号,DataIn是数据输入,DataOut是数据输出,Mode是加密或者解密;
[0035]首先,初始化索引index=0;
[0036]其次,判断数据大小是否大于等于1024,即(size-index)>=1024,如果是,则result=Security_CalcDES(keyIdx,DataIn+index,1024,DataOut+index,(uchar)mode);并且index+=1024;
[0037]如果否,则result=Security_CalcDES(keyIdx,DataIn+index,size-index,
DataOut+index,(uchar)mode);并且index+=(size-index)。
[0038]其中,所述分包大小为1024,或64位的整数倍。
[0039]由此,本申请的优势在于:
[0040]1:在传输介质不稳定的情况下,能够节省时间消耗。采用分段加密传输,传输失败的概率大大减少,即使失败了浪费的时间和数据长度成正比。从而节约了时间开销。
[0041]2:在传输介质传输能力不足情况下,采用分包处理,可以避免传输介质的限制。
附图说明
[0042]此处所说本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种对称加解密算法分包处理方法,其特征在于,所述方法包括以下步骤:S1,将x位明文分为前y位和后z位,前y位经过相同密钥的对称加密算法生成y位密文,加密长度为y位;S2,所述x位明文的后z位经过相同密钥的对称加密算法生成z位密文,加密长度为z位,其中,x y z为正整数,且必须是加密算法最小长度的整数倍,所述明文的后z位通过断点续传的方式进行;S3,将经过S1、S2两次分段加密得到的密文连接在一起得到最终的密文。2.根据权利要求1所述的一种对称加解密算法分包处理方法,其特征在于,所述方法基于加密数据一次加密和分段加密所得到的加密后的数据相同而采用的分段加密方式。3.根据权利要求1所述的一种对称加解密算法分包处理方法,其特征在于,所述方法在分包处理过程中,需要一缓冲区(B)作为中间缓冲区用于断点续传。4.根据权利要求1所述的一种对称加解密算法分包处理方法,其特征在于,所述断点续传方式是通过加解密续传方法实现的。5.根据权利要求4所述的一种对称加解密算法分包处理方法,其特征在于,所述加解密续传方法中的加密方法为des加密算法。6.根据权利要求5所述的一种对称加解密算法分包处理方法,其特征在于,所述des加密算法核心是一次最少加密或者解密64位,加密或者解密需求为1024位,通过分析底层算法实现断点续传。7.根据权利要求6所述的一种对称加解密算法分包处理方法,其特征在于,所述方法中假如应用层(A)需要将8192字节长度的密文数据送到一个专门负责解密的安全芯片(C)去解...

【专利技术属性】
技术研发人员:周一纯
申请(专利权)人:深圳君正时代集成电路有限公司
类型:发明
国别省市:

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

1