当前位置: 首页 > 专利查询>吉林大学专利>正文

基于双密钥流密码的双向链表顺序加密解密方法技术

技术编号:19390828 阅读:26 留言:0更新日期:2018-11-10 02:44
本发明专利技术的技术方案包括基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法包括:根据明文文件创建明文集合M;将明文集合M作为初值并进行迭代解密得到密文集合C,其中迭代解密使用密钥集合P和算法集合A;对密文集合C调用密钥集合P进行调用密钥集合P中密钥多次解密,其中解密使用密钥集合P和算法集合A;将得到的解密结果转换为明文文件。本发明专利技术的有益效果为:实施方式简单,节省人力物力;解密复杂,能够有效提升解密的难度或者难以被解密;可将传输在现在互联网中的文件变得安全;他人截获也无法破译,传输技术和环境仍使用现有的互联网平台,但传输的信息是加密信息。

Double linked list sequential encryption and decryption method based on double key stream cipher

The technical scheme of the invention includes a bidirectional linked list sequential encryption and decryption method based on double key stream cipher, which is characterized by: creating a plaintext set M according to plaintext file; using the plaintext set M as initial value and performing iterative decryption to obtain a ciphertext set C, in which the key set P and algorithm set A are used for iterative decryption; The ciphertext set C calls the key set P to decrypt the key in the call key set P several times, in which the decryption uses the key set P and the algorithm set A; the decryption results are converted into plaintext files. The beneficial effects of the invention are: simple implementation, saving manpower and material resources; complex decryption, which can effectively enhance the difficulty of decryption or can not be decrypted; files transmitted in the current Internet can become secure; others can not intercept and decode; transmission technology and environment still use the existing Internet platform, but transmission The message is encrypted information.

【技术实现步骤摘要】
基于双密钥流密码的双向链表顺序加密解密方法
本专利技术涉及基于双密钥流密码的双向链表顺序加密解密方法,属于信息安全领域。
技术介绍
网络通信信息加密,航天数字遥控指令与数据加密,无人机数字遥控通信数据加密,预警机数字通信指挥系统信息加密,GPS卫星数字通信数据加密,手机通信加密,电子邮件加密,电子金融数据传输加密等。在影像编码方面,可对各种格式影像加密,保护影像知识产权。对于军事、政治、外交文件加密后,可利用民用通信网络传输,节省文件传送成本。流密码(streamcipher),也称之为序列密码。现有流密码的研究状态,由于流密码的分析和设计往往用于一个国家的军事和外交通信。所以,流密码的研发和设计基本上都是在保密的状态下进行,各个国家研发流密码的学者和专家为了保密几乎没有过多的这方面的公开的论著。各国都将流密码技术和产品,作为军工产品而限制出口。由于它具有许多其他密码不可比拟的优点,所以,它是当今最为通用的密码系统之一。现在的流密码学的研究方向,都是以数学模型为基础,使用复杂的代数运算、布尔代数运算、伪随机数、移位寄存器、线性反馈等。完成流密码的加密和解密。在这方面比较成功的方法有A5方法,S盒方法,RC4方法,K2方法等。这些方法已经是不公开的秘密,经过多年的研究,对其加密和解密已经具有了一定的成熟手段。现在已有很多学者研究攻击和破译上述方法加密的密文。这就使得使用以上的方法进行加密的密文,其安全性受到极大的挑战。目前流密码的设计方案,主要采用系统论的方法,密钥流序列的生成主要是利用线性反馈移位寄存器产生伪随机序列。生成伪随机数列的方法如下:反馈移位寄存器序列;线性移位寄存器加非线性前馈函数产生前馈序列;钟控序列;组合网络序列;进位移位寄存器;元胞自动机;混沌理论等。
技术实现思路
针对现有技术的不足,本专利技术的技术方案提供了本专利技术基于双密钥流密码的双向链表顺序加密解密方法。采用的是混沌流,不同于以往的混沌流,本专利技术提出的混沌流可以是任意的文件模式,而不是由函数或信号发生器产生的混沌流,也可称本混沌流为真随机序列,而不是伪随机序列的动态寄生法,本方法即使被猜到,由于混沌流是一个无序的序列,所以,要想破译,几乎不可能实现。用穷举法,在数学上几乎不可能实现,穷举的次数为明文的字节数(N)8倍的二次幂,即:28n,在计算机上也几乎不可能实现。本专利技术的技术方案包括基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法包括:根据明文文件创建明文集合M,其中明文可以是任意是任意可解析文件;将明文集合M作为初始集合并进行顺序迭代加密得到密文集合C,其中迭代加密结合使用参照串、密钥集合P及算法集合A,所述参照串为2m字节,其中m>=0且m为正整数;所述迭代加密包括获取文集合M、密文集合C、密钥集合P任意值作为初值以及初值对应的指针,通过指针、参照串及算法集合A的加密算法对文集合M进行两次迭代加密,得到密文集合C,其中文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;对密文集合C调用密钥集合P进行多次解密,其中加密使用密钥集合P和算法集合A,其中加密和解密共享密钥集合P和算法集合A,且集合M、C均为双向循环链表,其中文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;所述解密包括取回迭代加密的初值,创建初值对应的指针结合C参照串及算法集合A的加密算法对密文集合C进行两次解密,得到明文集合M,并将明文集合M转换为明文文件。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中明文集合M、密文集合C、密钥集合P及算法集合A均为二进制码元组成的字符集。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中根据明文文件创建明文集合M包括:读取明文文件,得到明文文件字节数n;创建明文集合M为为有序集,其中M={x0x1…x8n-1},xi={0,1},并且有i(0<=i<=8n-1),M作为双向循环链表则有xn-1的后继是x0。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中该方法还包括:所述密钥集合P包括第一密钥子集和第二密钥子集,所述第一密钥P0={y00y01…y08n-1},y0j0={0,1},其中j0(0<=j0<=8n-1),且P0为有序集合,所述第二密钥子集P1={y10y11…y18n-1},y1j1={0,1},其中j1(0<=j1<=8n-1),且P1为有序集合,第一密钥子集P0和第二密钥子集作为双向循环链表,对于P0则有y08n-1的后继是y00,对于P1则有y18n-1的后继是y10。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中该方法还包括:所述密文集合C包括第一密文子集和第二密文子集,所述第一密文子集C0={z00z01…z08n-1},y0k0={0,1},其中k0(0<=k0<=8n-1),且C0为有序集合,所述第二密钥子集C1={z10z11…z18n-1},z1k1={0,1},其中k1(0<=k1<=8n-1),且C1为有序集合,第一密钥C0和第二密钥作为双向循环链表,对于C0则有z08n-1的后继是z00,对于C1则有z18n-1的后继是z10。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中该方法还包括:取任意初值i0(0<=i0<=8n-1),作为M集合的初值,并保留该初值;取任意初值i1(0<=i1<=8n-1),作为C0集合的初值,并保留该初值;取任意初值j0(0<=j0<=8n-1),作为P0集合的初值,并保留该初值;取任意初值j1(0<=j1<=8n-1),作为P1集合的初值,并保留该初值;取任意初值k0(0<=k0<=8n-1),作为C0集合的初值,并保留该初值;取任意初值k1(0<=k1<=8n-1),作为C1集合的初值,并保留该初值。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中该方法还包括:将明文集合M作为初值并进行迭代加密得到密文集合C的加密步骤包括四种失败加密方法、八种半加密方法及四种双密钥加密方法,舍弃所有失败加密方法和半加密方法并执行四种双密钥加密方法,其中四种双密钥加密方法包括根据循环链表的指针进行顺序加密。根据所述的基于双密钥流密码的双向链表顺序加密解密方法,其中双密钥加密方法还包括:第一加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:建立指针p1指向明文集合M的xi0位,且当p1为0时,置p1为8n-1;建立指针p2指向明文集合M的xi0+1位,且当p2为8n-1时,置p2为0;建立指针q指向第一密钥子集P0集合y0j0位;建立指针r指向第一密文子集C0集合z0k0位;顺序执行加密,包括判断*q或!(*q)为真,若为真则*r=*p2且p2、q及r递增,若不为真则*r=*p1且q及r递增,p1递减,其中第一加密步骤p1和p2为双数,其中r为单数;本文档来自技高网
...

【技术保护点】
1.基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法包括根据明文文件创建明文集合M,其中明文可以是任意是任意可解析文件;将明文集合M作为初始集合并进行顺序迭代加密得到密文集合C,其中迭代加密结合使用参照串、密钥集合P及算法集合A,所述参照串为2m字节,其中m>=0且m为正整数;所述迭代加密包括获取文集合M、密文集合C、密钥集合P任意值作为初值以及初值对应的指针,通过指针、参照串及算法集合A的加密算法对文集合M进行两次迭代加密,得到密文集合C,其中文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;对密文集合C调用密钥集合P进行多次解密,其中加密使用密钥集合P和算法集合A,其中加密和解密共享密钥集合P和算法集合A,且集合M、C均为双向循环链表,其中文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;所述解密包括取回迭代加密的初值,创建初值对应的指针结合C参照串及算法集合A的加密算法对密文集合C进行两次解密,得到明文集合M,并将明文集合M转换为明文文件。

【技术特征摘要】
1.基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法包括根据明文文件创建明文集合M,其中明文可以是任意是任意可解析文件;将明文集合M作为初始集合并进行顺序迭代加密得到密文集合C,其中迭代加密结合使用参照串、密钥集合P及算法集合A,所述参照串为2m字节,其中m>=0且m为正整数;所述迭代加密包括获取文集合M、密文集合C、密钥集合P任意值作为初值以及初值对应的指针,通过指针、参照串及算法集合A的加密算法对文集合M进行两次迭代加密,得到密文集合C,其中文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;对密文集合C调用密钥集合P进行多次解密,其中加密使用密钥集合P和算法集合A,其中加密和解密共享密钥集合P和算法集合A,且集合M、C均为双向循环链表,其中文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;所述解密包括取回迭代加密的初值,创建初值对应的指针结合C参照串及算法集合A的加密算法对密文集合C进行两次解密,得到明文集合M,并将明文集合M转换为明文文件。2.根据权利要求1所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,所述明文集合M、密文集合C、密钥集合P及算法集合A均为二进制码元组成的字符集。3.根据权利要求1所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,所述根据明文文件创建明文集合M包括:读取明文文件,得到明文文件字节数n;创建明文集合M为为有序集,其中M={x0x1…x8n-1},xi={0,1},并且有i(0<=i<=8n-1),M作为双向循环链表则有xn-1的后继是x0。4.根据权利要求1所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法还包括:所述密钥集合P包括第一密钥子集和第二密钥子集,所述第一密钥P0={y00y01…y08n-1},y0j0={0,1},其中j0(0<=j0<=8n-1),且P0为有序集合,所述第二密钥子集P1={y10y11…y18n-1},y1j1={0,1},其中j1(0<=j1<=8n-1),且P1为有序集合,第一密钥子集P0和第二密钥子集P1作为单向循环链表,对于P0则有y08n-1的后继是y00,对于P1则有y18n-1的后继是y10。5.根据权利要求1所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法还包括:所述密文集合C包括第一密文子集和第二密文子集,所述第一密文子集C0={z00z01…z08n-1},y0k0={0,1},其中k0(0<=k0<=8n-1),且C0为有序集合,所述第二密钥子集C1={z10z11…z18n-1},z1k1={0,1},其中k1(0<=k1<=8n-1),且C1为有序集合,第一密钥C0和第二密钥作为双向循环链表,对于C0则有z08n-1的后继是z00,对于C1则有z18n-1的后继是z10。6.根据权利要求1所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法还包括:将明文集合M作为初值并进行迭代加密得到密文集合C的加密步骤包括四种失败加密方法、八种半加密方法及四种双密钥加密方法,舍弃所有失败加密方法和半加密方法并执行四种双密钥加密方法,其中四种双密钥加密方法包括根据循环链表的指针进行顺序加密。7.根据权利要求3-6任意所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法还包括:取任意初值i0(0<=i0<=8n-1),作为M集合的初值,并保留该初值;取任意初值i1(0<=i1<=8n-1),作为C0集合的初值,并保留该初值;取任意初值j0(0<=j0<=8n-1),作为P0集合的初值,并保留该初值;取任意初值j1(0<=j1<=8n-1),作为P1集合的初值,并保留该初值;取任意初值k0(0<=k0<=8n-1),作为C0集合的初值,并保留该初值;取任意初值k1(0<=k1<=8n-1),作为C1集合的初值,并保留该初值。8.根据权利要求7所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,所述双密钥加密方法还包括:第一加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:建立指针p1指向明文集合M的xi0位,且当p1为0时,置p1为8n-1;建立指针p2指向明文集合M的xi0+1位,且当p2为8n-1时,置p2为0;建立指针q指向第一密钥子集P0集合y0j0位;建立指针r指向第一密文子集C0集合z0k0位;顺序执行加密,包括判断*q或!(*q)为真,若为真则*r=*p2且p2、q及r递增,若不为真则*r=*p1且q及r递增,p1递减,其中第一加密步骤p1和p2为双数,其中r为单数;其中第二加密步骤包括:建立指针p1指向第一密文子集C0的z0i1位,且当p1为0时,置p1为8n-1;建立指针p2指向第二密钥子集P1的z0i1+1位,且当p2为8n-1时,置p2为0;建立指针q指向第二密钥子集P1的y1j1位;建立指针r指向第二密文子集C1的z1k1位;顺序执行加密,包括判断*q或!(*q)为真,若为真则*r=*p2且p2、q及r递增,若不为真则*r=*p2且q及r递增,p1递减,其中第二加密步骤的p1和p2为双数,其中r为单数。9.根据权利要求7所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,所述双密钥加密方法还包括:第二加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:建立指针p1指向明文集合M的xi0位,且当p1为0时,置p1为8n-1;建立指针p2指向明文集合M的xi0+1位,且当p2为8n-1时,置p2为0;建立指针q指向第一密钥子集P0集合y0j0位;建立指针r指向第一密文子集C0集合z0k0位;顺序执行加密,包括判断*q或!(*q)为真,若为真则*r=*p2且p2、q及r递增,若不为真则*r=*p1且q及r递增,p1递减,其中第一加密步骤p1和p2为双数,其中r为单数;其中第二加密步骤包括:建立指针p1指向第一密文子集C0的z0i1位;建立指针p2指向第二密钥子集P1的y1j1位;建立指针r1指向第二密钥子集P1的z0k0位,且当r1为0时,置r1为8n-1;建立指针r2指向第一密文子集C0的z1k1位,且当r2为8n-1时,置r2为0;顺序执行加密,包括判断*q或!(*q)为真,若为真则*r2=*p且p、q及r2递增,若不为真则*r1=*p且p及q递增,r1递减,其中第二加密步骤的p为单数,其中r1和r2为双数。10.根据权利要求7所述的基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,所述双密钥加密方法还包括:第三加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:建立指针p指向第一密文子集C0的z0i1位;建立指针q指向第二密钥子集P1的y1j1位;建立指针r1指向第二密文子集C1集合z0k0位,且当r1为0时,置r1为8n-1;建立指针r2指向第二密文子集C1集合z0k0+1位,且当r2为8n-1时,置r2为0;顺序执行加密,包括判断*q或!(*q)为真,若为真则*r=*p2且p2、q及r递增,若不为真则*r=*p1且q及r递增,p1递减,其中第一加密步骤p为单数,其中r1和r2为双数;其中第二加密步骤包括:建立指针p1指向第一密文子...

【专利技术属性】
技术研发人员:司玉娟郎六琪陈家良
申请(专利权)人:吉林大学吉林大学珠海学院
类型:发明
国别省市:吉林,22

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

1