The technical scheme of the present invention includes a one-way 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 iteratively decrypting to obtain the ciphertext set C, in which iteratively decrypting uses the key set P and algorithm set A; and calling the key set P for the ciphertext set C. In key set P, the key is decrypted many times, in which the decryption uses key set P and algorithm set A, and the decryption result is converted into plaintext file. The invention has the advantages of simple implementation, saving manpower and material resources, complex decryption, and can effectively improve the difficulty of decryption or difficult to be decrypted.
【技术实现步骤摘要】
基于双密钥流密码的单向链表顺序加密解密方法
本专利技术涉及基于双密钥流密码的单向链表顺序加密解密方法,属于信息安全领域。
技术介绍
网络通信信息加密,航天数字遥控指令与数据加密,无人机数字遥控通信数据加密,预警机数字通信指挥系统信息加密,GPS卫星数字通信数据加密,手机通信加密,电子邮件加密,电子金融数据传输加密等。在影像编码方面,可对各种格式影像加密,保护影像知识产权。对于军事、政治、外交文件加密后,可利用民用通信网络传输,节省文件传送成本。流密码(streamcipher),也称之为序列密码。现有流密码的研究状态,由于流密码的分析和设计往往用于一个国家的军事和外交通信。所以,流密码的研发和设计基本上都是在保密的状态下进行,各个国家研发流密码的学者和专家为了保密几乎没有过多的这方面的公开的论著。各国都将流密码技术和产品,作为军工产品而限制出口。由于它具有许多其他密码不可比拟的优点,所以,它是当今最为通用的密码系统之一。现在的流密码学的研究方向,都是以数学模型为基础,使用复杂的代数运算、布尔代数运算、伪随机数、移位寄存器、线性反馈等。完成流密码的加密和解密。在这方 ...
【技术保护点】
1.基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法包括:根据明文文件创建明文集合M,其中明文可以是任意是任意可解析文件;将明文集合M作为初始集合并进行顺序迭代加密得到密文集合C,其中迭代加密结合使用参照串、密钥集合P及算法集合A,所述参照串为2m字节,其中m>=0且m为正整数;所述迭代加密包括获取文集合M、密文集合C、密钥集合P任意值作为初值以及初值对应的位指针,通过位指针、参照串及算法集合A的加密算法对文集合M进行两次迭代加密,得到密文集合C,其中文集合M及密钥集合P对应用于加密的位指针不同时为顺或散;对密文集合C调用密钥集合P进行多次解密,其中加密使用密 ...
【技术特征摘要】
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…xn-1},xi={0,1},并且有i(0<=i<=n-1),M作为循环链表则有xn-1的后继是x0。4.根据权利要求1所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:所述密钥集合P包括第一密钥子集和第二密钥子集,所述第一密钥P0={y00y01…y0n-1},y0j0={0,1},其中j0(0<=j0<=n-1),且P0为有序集合,所述第二密钥子集P1={y10y11…y1n-1},y1j1={0,1},其中j1(0<=j1<=n-1),且P1为有序集合,第一密钥子集P0和第二密钥子集作为单向循环链表,对于P0则有y0n-1的后继是y00,对于P1则有y1n-1的后继是y10,其中集合P0及集合P1为单向循环链表。5.根据权利要求1所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:所述密文集合C包括第一密文子集和第二密文子集,所述第一密文子集C0={z00z01…z0n-1},y0k0={0,1},其中k0(0<=k0<=n-1),且C0为有序集合,所述第二密钥子集C1={z10z11…z1n-1},z1k1={0,1},其中k1(0<=k1<=n-1),且C1为有序集合,第一密钥集合C0和第二密钥集合C1作为单向循环链表,对于C0则有z0n-1的后继是z00,对于C1则有z1n-1的后继是z10。6.根据权利要求1所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:将明文集合M作为初值并进行迭代加密得到密文集合C的加密步骤包括四种失败加密方法、八种半加密方法及四种双密钥加密方法,舍弃所有失败加密方法和半加密方法并执行四种双密钥加密方法,其中四种双密钥加密方法包括根据循环链表的指针进行顺序加密。7.根据权利要求3-6任意所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:取任意初值i0(0<=i0<=n-1),作为M集合的初值,并保留该初值;取任意初值i1(0<=i1<=n-1),作为C0集合的初值,并保留该初值;取任意初值j0(0<=j0<=n-1),作为P0集合的初值,并保留该初值;取任意初值j1(0<=j1<=n-1),作为P1集合的初值,并保留该初值;取任意初值k0(0<=k0<=n-1),作为C0集合的初值,并保留该初值;取任意初值k1(0<=k1<=n-1),作为C1集合的初值,并保留该初值;建立位指针p,第一次加密p指向M集合的xi位;建立位指针q,第一次加密q指向P0集合的y0j0位;建立位指针r,第一次加密r指向C0集合的z0k0位;建立位指针p,第二次加密p指向C0集合的xi1位;建立位指针q,第二次加密q指向P1集合的y1j1位;建立位指针r,第二次加密r指向C1集合的z1k1位。8.根据权利要求7任意所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:第一加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:第一次加密p指向M集合的xi0位;第一次加密q指向P0集合的y0j0位;第一次加密r指向C0集合的z0k0位;执行第一次遍历,判断*q是否为真,若是则*r=*p,且p、q及r递增,若*q结果不为真,则p及q递增,第一次遍历结束,p指向M集合xi0位,q指向P0集合的y0j0位;执行第二次遍历,判断*q是否为假,若是则*r=*p,且p、q及r递增,若*q结果不为假,则p及q递增,第二次遍历结束并得到已加密的C0,将已加密的C0写入文件,结束第一加密步骤;其中第二加密步骤包括:第一次加密p指向已加密的C0集合的z0i1位;第一次加密q指向P1集合的y1j1位;第一次加密r指向C1集合的z1k1位;执行第一次遍历,判断*q是否为真,若是则*r=*p,且p、q及r递增,若*q结果不为真,则p及q递增,第一次遍历结束,p指向已加密的C0集合的z0i1位,q指向P0集合的y1j1位;执行第二次遍历,判断*q是否为假,若是则*r=*p,且p、q及r递增,若*q结果不为假,则p及q递增,第二次遍历结束并得到已加密的C1,将已加密的C1写入文件,结束第二加密步骤;所述第一加密步骤的中p为散r为顺,所述第二加密步骤的p为散r为顺。9.根据权利要求7任意所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:第一加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:第一次加密p指向M集合的xi0位;第一次加密q指向P0集合的y0j0位;第一次加密r指向C0集合的z0k0位;执行第一次遍历,判断*q是否为真,若是则*r=*p,且p、q及r递增,若*q结果不为真,则p及q递增,第一次遍历结束,p指向M集合xi0位,q指向P0集合的y0j0位;执行第二次遍历,判断*q是否为假,若是则*r=*p,且p、q及r递增,若*q结果不为假,则p及q递增,第二次遍历结束并得到已加密的C0,将已加密的C0写入文件,结束第一加密步骤;其中第二加密步骤包括:第一次加密p指向已加密的C0集合的z0i1位;第一次加密q指向P1集合的y1j1位;第一次加密r指向C1集合的z1k1位;执行第一次遍历,判断*q是否为真,若是则*r=*p,且p、q及r递增,若*q结果不为真,则p及q递增,第一次遍历结束,p指向已加密的C0集合的z0i1位,q指向P0集合的y1j1位;执行第二次遍历,判断*q是否为假,若是则*r=*p,且p、q及r递增,若*q结果不为假,则p及q递增,第二次遍历结束并得到已加密的C1,将已加密的C1写入文件,结束第二加密步骤;所述第一加密步骤的中p为散r为顺,所述第二加密步骤的p为顺r为散。10.根据权利要求7任意所述的基于双密钥流密码的单向链表顺序加密解密方法,其特征在于,该方法还包括:第一加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:第一次加密p指向M集合的xi0位;第一次加密q指向P0集合的y0j0位;第一次加密r指向C0集合的z0k0位;执行第一次遍历,判断*q是否为真,若是则*r=*p,且p、q及r递增,若*q结果不为真,则p及q递增,第一次遍历结束,p指向M集合xi0位,q指向P0集合的y0j0位;执行第二次遍历,判断*q是否为假,若是则*r=*p,且p、q及r递增,若*q结果不为假,则p及q递增,第二次遍历结束并得到已加密的C0,将已加密的C0写入文件,结束第一加密步骤;其中第二加密步骤包括:第一次加密p指向已加密的C0集合的z0i1位;第一次加密q指向P1集合的y1j1位;第一次加密r指向C1集合的z1k1位;执行第一次遍历,判断*q是否为真,若是则*r=*p,且p、q及r...
【专利技术属性】
技术研发人员:司玉娟,郎六琪,
申请(专利权)人:吉林大学,吉林大学珠海学院,
类型:发明
国别省市:吉林,22
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。