[发明专利]基于双密钥流密码的双向链表顺序加密解密方法有效
申请号: | 201810449252.0 | 申请日: | 2018-05-11 |
公开(公告)号: | CN108777611B | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | 司玉娟;郎六琪;陈家良 | 申请(专利权)人: | 吉林大学;吉林大学珠海学院 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/00 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 俞梁清 |
地址: | 130012 吉林*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 密钥 密码 双向 顺序 加密 解密 方法 | ||
1.基于双密钥流密码的双向链表顺序加密解密方法,其特征在于,该方法包括:
根据明文文件创建明文集合M,其中明文是任意可解析文件,包括:读取明文文件,得到明文文件字节数n;创建明文集合M为有序集,其中M={x0x1…x8n-1},xi={0,1},并且有i(0=i=8n-1),M作为双向循环链表则有xn-1的后继是x0;
将明文集合M作为初始集合并进行顺序迭代加密得到密文集合C,其中迭代加密结合使用参照串、密钥集合P及算法集合A,所述参照串为2m字节,其中m=0且m为正整数;其中,所述密钥集合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;所述密文集合C包括第一密文子集和第二密文子集,所述第一密文子集C0={z00z01…z08n-1},z0k0={0,1},其中k0(0=k0=8n-1),且C0为有序集合,所述第二密文子集C1={z10z11…z18n-1},z1k1={0,1},其中k1(0=k1=8n-1),且C1为有序集合,第一密文子集C0和第二密文子集C1均为双向循环链表,对于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、密钥集合P任意值作为初值以及初值对应的指针,通过指针、参照串及算法集合A的加密算法对明文集合M进行两次迭代加密,得到密文集合C,其中明文集合M及密钥集合P对应用于加密的指针不同时为双数或单数,所述迭代加密的方法为第一加密方法,包括第一加密步骤和第二加密步骤,其中第一加密步骤包括:
建立指针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指向第一密文子集C0的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为单数;
对密文集合C调用密钥集合P进行多次解密,其中加密使用密钥集合P和算法集合A,其中加密和解密共享密钥集合P和算法集合A,且集合M、C均为双向循环链表,其中明文集合M及密钥集合P对应用于加密的指针不同时为双数或单数;
所述解密包括取回迭代加密的初值,创建初值对应的指针结合C参照串及算法集合A的加密算法对密文集合C进行两次解密,得到明文集合M,并将明文集合M转换为明文文件,包括:取回用于加密的初值i0、i1、j0、j1、k0及k1;所述解密方法为第一解密方法,包括第一解密步骤和第二解密步骤,其中第一解密步骤包括:
建立指针p1指向第一密文子集C0的z0i1位,且当p1为0时,置p1为8n-1;
建立指针p2指向第一密文子集C0的z0i1+1位,且当p2为8n-1时,置p2为0;
建立指针q指向P1集合y1j1位;
建立指针r指向C1集合z1k1位;
顺序执行解密,包括判断*q或!(*q)为真,若为真则*r=*p2且p2、q及r递增,若不为真则*r=*p1且q及r递增,p1递减,其中第一解密步骤p1和p2为双数,其中r为单数;
其中第二解密步骤包括:
建立指针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为单数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学;吉林大学珠海学院,未经吉林大学;吉林大学珠海学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810449252.0/1.html,转载请声明来源钻瓜专利网。