[发明专利]一种基于传统分组密码的保持格式加密方法有效
| 申请号: | 201810574634.6 | 申请日: | 2018-06-06 |
| 公开(公告)号: | CN108768617B | 公开(公告)日: | 2021-02-23 |
| 发明(设计)人: | 谢明明;彭长根;刘波涛;吴睿雪;丁红发 | 申请(专利权)人: | 贵州大学 |
| 主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/08 |
| 代理公司: | 贵阳中新专利商标事务所 52100 | 代理人: | 胡绪东 |
| 地址: | 550025 贵州*** | 国省代码: | 贵州;52 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 传统 分组 密码 保持 格式 加密 方法 | ||
1.一种基于传统分组密码的保持格式加密方法,其特征在于,包括如下步骤:
步骤1:设明文的长度为n,构造替换表T,将明文中的数字、大写字母和小写字母替换成{0,1,2,…,61}中的数,并依次将每一位数转化为6位二进制比特串,得到长度为6n的明文m;
步骤2:选择一种分组长度大于3n的分组密码算法(Block cipher algorithm),记为E,并选取与E对应长度的密钥Key,将密钥Key进行密钥扩展,得到key0,key1,key2,…,keyr共r+1个子密钥,除key0外,每一个子密钥的长度与分组密码算法E的密钥长度相同,并根据子密钥key0计算得到两个校验码check1,check2,校验码不需要进行传输,解密不使用校验码,明文加密之后校验码可销毁;
步骤3:将明文m与子密钥key0进行f1运算,即m=f1(m,key0),经过轮函数F运算,即c=F(m),得到密文c,将密文c与子密钥key0进行f2运算,即c=f2(c,key0),然后按每6位转化为十进制,并根据替换表T变换成明文格式,此时完成明文加密,如果得到加密后的结果包含校验码中的一个或两个,则更换密钥重新进行加密操作;
步骤4:解密过程与加密过程相似,不同之处是在轮运算中解密过程中子密钥使用的顺序与加密过程相反;
步骤1所述替换表是通过如下方式进行构造:
明文的每一位取值范围为X={0,1,…,9,a,b,…,z,A,B,…,Z},通过与Y={0,1,…,61}之间构造一一映射关系来形成替换表,只要是X与Y的一一映射均可作为替换表;
步骤3所述f1运算、f2运算和轮函数F运算是按如下方法进行设计:
轮函数F运算是将数据m=(m1 m2 … m6n)等长度划分为左右两个部分,L0=(m1 m2 …m3n),R0=(m3n+1 m3n+2 … m6n),并按如下迭代公式进行r轮运算:
其中表示为将Ri-1使用密钥keyi和加密算法E进行加密,得到的结果截取前3n位;经过r轮迭代得到(Lr,Rr),交换左右两边顺序Lr+1=Rr,Rr+1=Lr,从而得到c=(Lr+1,Rr+1);
f1运算和f2运算是为了避免经过轮函数F运算后的数据出现“111111”或“111110”,导致无法进行替换表变换操作;m=(m1 m2 … m6n)为待运算数据,子密钥key0=k1k2k3k410,f1运算细节如下:
记
c=(c1 c2 … c6n)为待运算数据,子密钥key0=k1k2k3k410,f2运算细节如下:
记tci=c1+6ic2+6ic3+6ic4+6ic5+6ic6+6i(i=0,1,…,n-1)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州大学,未经贵州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810574634.6/1.html,转载请声明来源钻瓜专利网。





