一种双明文传输的数据对称加密方法

文档序号:25230285发布日期:2021-05-28 14:37阅读:83来源:国知局
一种双明文传输的数据对称加密方法

本发明涉及信息加密技术领域,尤其涉及一种基于三轮feistel结构的双明文传输的数据对称加密方法。



背景技术:

对称加密方法是密码学中常用的信息加密方法,对称加密方法中采用的对称密钥保证了加密消息的安全性。比较著名的对称密钥标准有des、3des、aes等,其中3des是在des的基础上增加了两轮加密过程,也就是进行三轮基于des标准的对称加密,从而增加了加密的强度。同时des和aes也属于分组密码的范畴,分组密码同样可以分为多种模式,例如ecb、cbc、cfb等。虽然目前新老加密方法众多,但对于一些具有独有特征的数据却缺少具有针对性的方法。

2018年,国内一研究小组提出了双明文对称加密方法(简称bicycle方法)。bicycle方法的主要思想是:通过同时对两组明文使用对应的两组密钥进行加密后传输,以提高消息的传输量,并提升了穷举攻击的难度。然而经实际应用发现,bicycle方法中由于其加解密方式的本质是基于一次函数进行的,在实际计算过程中会出现误差,从而影响解密的成功性,致使bicycle方法不可行。



技术实现要素:

本发明的目的在于提供一种双明文传输的数据对称加密方法,以基于feistel结构对具有双明文特征的原始数据进行高效且具有针对性的双明文加密传输。

为了达到上述目的,本发明通过以下技术实现:

一种双明文传输的数据对称加密方法,包括:

将原始数据分割为若干个明文组;

将若干个所述明文组按序进行排列;

将每一所述明文组分割为第一原明文m1和第二原明文m2;

采用cbc模式对每一所述明文组中的所述第一原明文m1和所述第二原明文m2进行处理,以得到第一新明文m1和第二新明文m2;

基于feistel结构并利用若干个密钥k对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密,以得到与每一所述明文组对应的密文c;以及

将所有所述明文组对应的所述密文c传输至预设终端,以对所述原始数据进行双明文加密传输。

优选地,所述采用cbc模式对每一所述明文组中的所述第一原明文m1和所述第二原明文m2进行处理的步骤包括:

将每一所述明文组中的所述第一原明文m1与其前一所述明文组对应的所述密文进行异或运算,以得到每一所述明文组对应的所述第一新明文m1;

将每一所述明文组中的所述第二原明文m2与每一所述明文组对应的所述第一新明文m1进行异或运算,以得到每一所述明文组对应的所述第二新明文m2。

优选地,首个所述明文组中的所述第一原明文m1与预设初始化向量进行异或运算,以得到首个所述明文组对应的所述第一新明文m1;

首个所述明文组中的所述第二原明文m2与首个所述明文组对应的所述第一新明文m1进行异或运算,以得到首个所述明文组对应的所述第二新明文m2。

优选地,执行基于feistel结构并利用若干个密钥k对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密的步骤之前还包括:

对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2分别进行散列,以得到第一散列值mh1和第二散列值mh2;

对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2分别进行填充,以得到第一填充值mp1和第二填充值mp2;

将每一所述明文组对应的所述第一散列值mh1和所述第一填充值mp1进行组合,以得到每一所述明文组对应的第一组合值mhp1;以及

将每一所述明文组对应的所述第二散列值mh2和所述第二填充值mp2进行组合,以得到每一所述明文组对应的第二组合值mhp2。

优选地,所述基于feistel结构并利用若干个密钥k对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密的步骤包括:

通过所述feistel结构中的轮函数f对每一所述明文组对应的所述第二组合值mhp2和第一密钥k1进行运算,并得到第一轮运算结果f(mhp2,k1);

将所述第一轮运算结果f(mhp2,k1)对应与每一所述明文组对应的所述第一组合值mhp1进行异或运算,以得到第一异或值mhp1';

通过所述轮函数f对所述第一异或值mhp1'与第二密钥k2进行运算,并得到第二轮运算结果f(mhp1',k2);

将所述第二轮运算结果f(mhp1',k2)对应与所述第二组合值mhp2进行异或运算,以得到第二异或值mhp2';

通过所述轮函数f对所述第二异或值mhp2'与第三密钥k3进行运算,并得到第三轮运算结果f(mhp2',k3);

将所述第三轮运算结果f(mhp2',k3)与所述第一异或值mhp1'进行异或运算,以得到第三异或值mhp3';以及

将所述第三异或值mhp3'与所述第二异或值mhp2'进行组合,以得到每一所述明文组对应的所述密文c。

优选地,所述双明文传输的数据对称加密方法,还包括:

将所述预设终端接收的所有所述密文c按序排列;

基于所述feistel结构并利用若干个所述密钥k对每一所述密文c进行解密,以得到与每一所述密文c对应的所述第一新明文m1和所述第二新明文m2;

采用cbc模式对每一所述密文c对应的所述第一新明文m1和所述第二新明文m2进行逆处理,以得到所述第一原明文m1和所述第二原明文m2;

对每一所述密文c对应的所述第一原明文m1和所述第二原明文m2进行组合,以得到每一所述密文c对应的所述明文组;以及

对所有所述密文c对应的所述明文组进行组合,以得到所述原始数据。

优选地,所述基于所述feistel结构并利用若干个所述密钥k对每一所述密文c进行解密的步骤包括:

将每一所述密文c分解为所述第三异或值mhp3'和所述第二异或值mhp2';

通过所述轮函数f对所述第二异或值mhp2'与所述第三密钥k3进行运算,并得到所述第三轮运算结果f(mhp2',k3);

将所述第三轮运算结果f(mhp2',k3)与所述第三异或值mhp3'进行异或运算,以得到所述第一异或值mhp1';

通过所述轮函数f对所述第一异或值mhp1'与所述第二密钥k2进行运算,并得到所述第二轮运算结果f(mhp1',k2);

将所述第二轮运算结果f(mhp1',k2)与所述第二异或值mhp2'进行异或运算,以得到每一所述密文c对应的所述第二组合值mhp2;

通过所述轮函数f对所述第二组合值mhp2与所述第一密钥k1进行运算,并得到所述第一轮运算结果f(mhp2,k1);

将所述第一轮运算结果f(mhp2,k1)与所述第一异或值mhp1'进行异或运算,以得到每一所述密文c对应的所述第一组合值mhp1;

将每一所述密文c对应的所述第一组合值mhp1分解为所述第一散列值mh1和所述第一填充值mp1;

将每一所述密文c对应的所述第二组合值mp2分解为所述第二散列值mh2和所述第二填充值mp2;以及

对每一所述密文c对应的所述第一填充值mp1和所述第二填充值mp2分别进行逆填充,以得到每一所述密文c对应的所述第一新明文m1和所述第二新明文m2。

优选地,所述基于所述feistel结构并利用若干个所述密钥k对每一所述密文c进行解密的步骤还包括:

对每一所述密文c对应的所述第一新明文m1和所述第二新明文m2分别进行散列,以得到第三散列值mh1'和第四散列值mh2';

将每一所述密文c对应的所述第三散列值mh1'与所述第一散列值mh1进行对比以及所述第四散列值mh2'与所述第二散列值mh2进行对比,以验证每一所述密文c的解密成功性。

优选地,所述采用cbc模式对每一所述密文c对应的所述第一新明文m1和所述第二新明文m2进行逆处理的步骤包括:

将每一所述密文c对应的所述第一新明文m1与其前一所述密文进行异或运算,以得到每一所述密文c对应的所述第一原明文m1;

将每一所述密文c对应的所述第二新明文m2与所述第一新明文m1进行异或运算,以得到每一所述密文c对应的所述第二原明文m2。

优选地,首个所述密文c对应的所述第一新明文m1与所述预设初始化向量进行异或运算,以得到首个所述密文c对应的所述第一原明文m1;

首个所述密文c对应的所述第二新明文m2与所述第一新明文m1进行异或运算,以得到首个所述密文c对应的所述第二原明文m2。

本发明与现有技术相比至少具有以下优点之一:

本发明基于feistel结构可以对具有双明文特征的原始数据进行双明文加密传输,使得双明文传输的数据对称加密方法具有可行性;同时还可以有效增加传输量,从而能够对原始数据进行高效且具有针对性的加密传输。

本发明中采用的三轮feistel结构能够触发雪崩效应,即明文和密钥的微小变化也会使得密文发生巨大改变,从而可以增强每一明文组对应的密文的安全性,进而增强原始数据传输过程中的安全性。

本发明采用cbc模式对将每一明文组中的第一原明文和第二原明文进行处理,可以使每一明文组加密后得到密文均与前一明文组对应的密文相关,从而防止数据相同的明文组加密后产生相同的密文,进而可以抵抗选择明文攻击。

本发明利用md5散列算法的强抗碰撞性,将md5散列算法作为散列函数对明文进行散列,可以防止任意两个具有不同数据的明文对应的散列值相等,从而可以保证每一明文对应的散列值的独一性。

本发明在解密过程中采用验证算法将每一密文对应的第三散列值与第一散列值进行对比以及第四散列值与第二散列值进行对比,可以保证述原始数据在传输过程中的完整性,即具有防篡改功能。

附图说明

图1是本发明一实施例提供的一种双明文传输的数据对称加密方法的加密流程图;

图2是本发明一实施例提供的一种双明文传输的数据对称加密方法的采用cbc模式的处理流程图;

图3是本发明一实施例提供的一种双明文传输的数据对称加密方法的基于feistel结构每一明文组的加密流程图;

图4是本发明一实施例提供的一种双明文传输的数据对称加密方法的解密流程图;

图5是本发明一实施例提供的一种双明文传输的数据对称加密方法的采用cbc模式的逆处理流程图;

图6是本发明一实施例提供的一种双明文传输的数据对称加密方法的基于feistel结构每一密文的解密流程图。

具体实施方式

以下结合附图和具体实施方式对本发明提出的一种双明文传输的数据对称加密方法作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需要说明的是,附图采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施方式的目的。为了使本发明的目的、特征和优点能够更加明显易懂,请参阅附图。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合附图1~6所示,本实施例提供一种双明文传输的数据对称加密方法,包括:步骤s101、将原始数据分割为若干个明文组;步骤s102、将若干个所述明文组按序进行排列;步骤s103、将每一所述明文组分割为第一原明文m1和第二原明文m2;步骤s104、采用cbc模式对每一所述明文组中的所述第一原明文m1和所述第二原明文m2进行处理,以得到第一新明文m1和第二新明文m2;步骤s105、基于feistel结构并利用若干个密钥k对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密,以得到与每一所述明文组对应的密文c;以及步骤s106、将所有所述明文组对应的所述密文c传输至预设终端,以对所述原始数据进行双明文加密传输。

具体的,在本实施例中,所述步骤s101至所述步骤s106可以定义为对所述原始数据的加密过程;在步骤s101中可以以256bit为第一分割单位将所述原始数据分割为若干个长度为256bit的所述明文组;步骤s103中可以以128bit为第二分割单位将每一所述明文组分割为所述第一原明文m1和所述第二原明文m2。优选地,所述原始数据可以为具有双明文特征的数据(例如坐标数据和轨迹数据等),但本发明不以此为限。

请继续参考图1和图2,所述步骤s104包括:将每一所述明文组中的所述第一原明文m1与其前一所述明文组对应的所述密文进行异或运算,以得到每一所述明文组对应的所述第一新明文m1;将每一所述明文组中的所述第二原明文m2与每一所述明文组对应的所述第一新明文m1进行异或运算,以得到每一所述明文组对应的所述第二新明文m2。

可以理解的是,在一些其他的实施例中,首个所述明文组中的所述第一原明文m1与预设初始化向量进行异或运算,以得到首个所述明文组对应的所述第一新明文m1;首个所述明文组中的所述第二原明文m2与首个所述明文组对应的所述第一新明文m1进行异或运算,以得到首个所述明文组对应的所述第二新明文m2。

具体的,基于cbc模式,在对每一所述明文组中的所述第一原明文m1和所述第二原明文m2进行加密之前,需要先将每一所述明文组中的所述第一原明文m1与前一所述明文组对应的所述密文进行异或运算并得到所述第一新明文m1,随后将得到的所述第一新明文m1与所述第二原明文m2进行异或运算并得到所述第二新明文m2,后续则可以对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密处理,这样可以使每一所述明文组加密后得到所述密文c均与前一所述明文组对应的所述密文相关,从而防止数据相同的所述明文组加密后产生相同的所述密文,进而可以抵抗选择明文攻击。更具体的,对于首个所述明文组来说并不存在前一所述明文组,也不存在前一所述明文组对应的所述密文,因此需要引入所述预设初始化向量,并将其与首个所述明文组中的所述第一原明文m1进行异或运算,但本发明不以此为限。

在本实施例中,采用cbc模式对每一所述明文组中的所述第一原明文m1和所述第二原明文m2进行处理,以得到第一新明文m1和第二新明文m2的具体执行过程如表1中伪代码所示:

表1基于cbc模式获取每一明文组对应的第一新明文和第二新明文

请继续参考图1和图3,执行所述步骤s105之前还包括:对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2分别进行散列,以得到第一散列值mh1和第二散列值mh2;对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2分别进行填充,以得到第一填充值mp1和第二填充值mp2;将每一所述明文组对应的所述第一散列值mh1和所述第一填充值mp1进行组合,以得到每一所述明文组对应的第一组合值mhp1;以及将每一所述明文组对应的所述第二散列值mh2和所述第二填充值mp2进行组合,以得到每一所述明文组对应的第二组合值mhp2。

具体的,在本实施例中,可以将md5散列算法作为散列函数对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2分别进行散列,并可以得到长度皆为128bit的所述第一散列值mh1和所述第二散列值mh2;由于md5散列算法具有强抗碰撞性,即通过md5散列算法可以防止任意两个具有不同数据的所述明文组对应的所述散列值相等,从而可以保证每一所述明文组对应的所述散列值的独一性。同时,还可以对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2分别进行pkcs7padding填充操作,并得到长度皆为128bit的所述第一填充值mp1和所述第二填充值mp2;随后再将每一所述明文组对应的所述第一散列值mh1和所述第一填充值mp1进行组合即可得到长度为256bit的所述第一组合值mhp1,以及所述第二散列值mh2和所述第二填充值mp2进行组合即可得到长度为256bit的所述第二组合值mhp2,此时则完成了对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密前的预处理工作,后续则可以对预处理后得到的每一所述明文组对应的所述第一组合值mhp1和所述第二组合值mhp2进行加密处理,但本发明不以此为限。

请继续参考图1和图3,所述步骤s105包括:通过所述feistel结构中的轮函数f对每一所述明文组对应的所述第二组合值mhp2和第一密钥k1进行运算,并得到第一轮运算结果f(mhp2,k1);将所述第一轮运算结果f(mhp2,k1)对应与每一所述明文组对应的所述第一组合值mhp1进行异或运算,以得到第一异或值mhp1';通过所述轮函数f对所述第一异或值mhp1'与第二密钥k2进行运算,并得到第二轮运算结果f(mhp1',k2);将所述第二轮运算结果f(mhp1',k2)对应与所述第二组合值mhp2进行异或运算,以得到第二异或值mhp2';通过所述轮函数f对所述第二异或值mhp2'与第三密钥k3进行运算,并得到第三轮运算结果f(mhp2',k3);将所述第三轮运算结果f(mhp2',k3)与所述第一异或值mhp1'进行异或运算,以得到第三异或值mhp3';以及将所述第三异或值mhp3'与所述第二异或值mhp2'进行组合,以得到每一所述明文组对应的所述密文c。

具体的,在本实施例中,基于所述feistel结构可以使所述双明文传输的数据对称加密方法具有可行性,从而能够对每一所述明文组对应的所述第一组合值mhp1和所述第二组合值mhp2进行成功加密并得到对应的所述密文c,进而可以将所述原始数据以若干个所述密文c形式传输至所述预设终端。更具体的,三轮及以上的所述feistel结构则能够触发雪崩效应,也就是说每一所述明文组对应的所述第一组合值mhp1和所述第二组合值mhp2及每一所述密钥k的微小变化均会使得每一所述明文组对应的所述密文c发生巨大改变,因此三轮及以上的所述feistel结构可以增强每一所述明文组对应的所述密文c的安全性,从而增强所述原始数据传输过程中的安全性,但本发明不以此为限。

在本实施例中,所述feistel结构的轮数可以与所述密钥k的数量的相同;且所述feistel结构的轮数可以为三轮;所述密钥k的数量可以为三个,分别为所述第一密钥k1、所述第二密钥k2和所述第三密钥k3。基于三轮feistel结构并利用三个所述密钥k对每一所述明文组对应的所述第一新明文m1和所述第二新明文m2进行加密,以得到与每一所述明文组对应的密文c的具体执行过程如表2中伪代码所示:

表2基于feistel结构和密钥对每一明文组加密

请继续参考图1和图4,所述双明文传输的数据对称加密方法,还包括:步骤s201、将所述预设终端接收的所有所述密文c按序排列;步骤s202、基于所述feistel结构并利用若干个所述密钥k对每一所述密文c进行解密,以得到与每一所述密文c对应的所述第一新明文m1和所述第二新明文m2;步骤s203、采用cbc模式对每一所述密文c对应的所述第一新明文m1和所述第二新明文m2进行逆处理,以得到所述第一原明文m1和所述第二原明文m2;步骤s204、对每一所述密文c对应的所述第一原明文m1和所述第二原明文m2进行组合,以得到每一所述密文c对应的所述明文组;以及步骤s205、对所有所述密文c对应的所述明文组进行组合,以得到所述原始数据。

具体的,在本实施例中,当所述原始数据以若干个所述密文c的形式传输至所述预设终端后,需要对所述预设终端接收的所有所述密文c进行解密才能得到传输至所述预设终端的所述原始数据,此时则才完成对所述原始数据的传输。因此,所述步骤s201至所述步骤s205则可以定义为对所述原始数据的解密过程,即为所述原始数据的加密过程的逆运算过程,但本发明不以此为限。

请继续参考图5,所述步骤s202包括:将每一所述密文c分解为所述第三异或值mhp3'和所述第二异或值mhp2';通过所述轮函数f对所述第二异或值mhp2'与所述第三密钥k3进行运算,并得到所述第三轮运算结果f(mhp2',k3);将所述第三轮运算结果f(mhp2',k3)与所述第三异或值mhp3'进行异或运算,以得到所述第一异或值mhp1';通过所述轮函数f对所述第一异或值mhp1'与所述第二密钥k2进行运算,并得到所述第二轮运算结果f(mhp1',k2);将所述第二轮运算结果f(mhp1',k2)与所述第二异或值mhp2'进行异或运算,以得到每一所述密文c对应的所述第二组合值mhp2;通过所述轮函数f对所述第二组合值mhp2与所述第一密钥k1进行运算,并得到所述第一轮运算结果f(mhp2,k1);将所述第一轮运算结果f(mhp2,k1)与所述第一异或值mhp1'进行异或运算,以得到每一所述密文c对应的所述第一组合值mhp1;将每一所述密文c对应的所述第一组合值mhp1分解为所述第一散列值mh1和所述第一填充值mp1;将每一所述密文c对应的所述第二组合值mp2分解为所述第二散列值mh2和所述第二填充值mp2;以及对每一所述密文c对应的所述第一填充值mp1和所述第二填充值mp2分别进行逆填充,以得到每一所述密文c对应的所述第一新明文m1和所述第二新明文m2。

可以理解的是,在一些其他的实施例中,所述步骤s202还包括:对每一所述密文c对应的所述第一新明文m1和所述第二新明文m2分别进行散列,以得到第三散列值mh1'和第四散列值mh2';将每一所述密文c对应的所述第三散列值mh1'与所述第一散列值mh1进行对比以及所述第四散列值mh2'与所述第二散列值mh2进行对比,以验证每一所述密文c的解密成功性。

具体的,在本实施例中,可以采用验证算法将每一所述密文c对应的所述第三散列值mh1'与所述第一散列值mh1进行对比以及所述第四散列值mh2'与所述第二散列值mh2进行对比,以保证所述原始数据在传输过程中的完整性,即具有防篡改功能。更具体的,若每一所述密文c对应的所述第三散列值mh1'与所述第一散列值mh1相等且所述第四散列值mh2'与所述二散列值mh2相等,则表示对所述原始数据解密成功,此时解密后得到的所述原始数据未被篡改且解密后得到的每一所述密文c对应的所述第一新明文m1和所述第二新明文m2可以进行后续运算;若将每一所述密文c对应的所述第三散列值mh1'与所述第一散列值mh1不相等和/或所述第四散列值mh2'与所述二散列值mh2不相等,则表示对所述原始数据解密不成功,此时解密后得到的所述原始数据可能已被篡改且解密后得到的每一所述密文c对应的所述第一新明文m1和所述第二新明文m2无法进行后续运算,但本发明不以此为限。

在本实施例中,基于三轮feistel结构并利用三个所述密钥k对每一所述密文c进行解密,以得到与每一所述密文c对应的所述第一新明文m1和所述第二新明文m2的具体执行过程如表3中伪代码所示:

表3基于feistel结构和密钥对每一密文解密

请继续参考图6,所述步骤s203包括:将每一所述密文c对应的所述第一新明文m1与其前一所述密文进行异或运算,以得到每一所述密文c对应的所述第一原明文m1;将每一所述密文c对应的所述第二新明文m2与所述第一新明文m1进行异或运算,以得到每一所述密文c对应的所述第二原明文m2。

可以理解的是,在一些其他的实施例中,首个所述密文c对应的所述第一新明文m1与所述预设初始化向量进行异或运算,以得到首个所述密文c对应的所述第一原明文m1;首个所述密文c对应的所述第二新明文m2与首个所述密文c对应的所述第一新明文m1进行异或运算,以得到首个所述密文c对应的所述第二原明文m2。

具体的,在本实施例中,由于所述原始数据的解密过程是所述原始数据的加密过程的逆运算过程,基于cbc模式,将每一所述密文c对应的所述第一新明文m1与其前一所述密文进行异或运算便可以得到所述第一原明文m1;随后将所述第一新明文m1与所述第二新明文m2进行异或运算便可以得到所述第二原明文m2,后续则可以对每一所述密文c对应的所述第一原明文m1和所述第二原明文m2进行组合得到每一所述密文c对应的所述明文组,进而得到所述原始数据。更具体的,对于首个所述密文c来说并不存在前一所述密文,因此同样需要引入所述预设初始化向量,并将其与首个所述密文c对应的所述第一新明文m1进行异或运算,且解密过程中的所述预设初始化向量与加密过程中的所述预设初始化向量相同,但本发明不以此为限。

在本实施例中,采用cbc模式对每一所述密文c对应的所述第一新明文m1和所述第二新明文m2进行逆处理,以得到所述第一原明文m1和所述第二原明文m2的具体执行过程如表4中伪代码所示:

表4基于cbc模式获取每一密文对应的第一原明文和第二原明文

综上所述,本实施例提供的一种双明文传输的数据对称加密方法,采用cbc模式对将每一明文组中的第一原明文和第二原明文进行处理,可以使每一明文组加密后得到密文均与前一明文组对应的密文相关,从而防止数据相同的明文组加密后产生相同的密文,进而可以抵抗选择明文攻击;基于三轮feistel结构可以对具有双明文特征的原始数据进行双明文加密传输,使得双明文传输的数据对称加密方法具有可行性,同时还可以增强原始数据传输过程中的安全性以及有效增加传输量,从而能够对原始数据进行高效且具有针对性的加密传输。本实施例提供的一种双明文传输的数据对称加密方法,在解密过程中采用验证算法将每一密文对应的第三散列值与第一散列值进行对比以及第四散列值与第二散列值进行对比,可以保证述原始数据在传输过程中的完整性,即具有防篡改功能。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

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