[发明专利]一种中英文字符串的加密方法有效
申请号: | 201910494396.2 | 申请日: | 2019-06-10 |
公开(公告)号: | CN110287712B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 盛苏英;任宇;张小美;陆国平;张振娟;周磊;高岩波;任洁;朱建红 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 226019*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种中英文字符串的加密方法,包括如下步骤:将某段中英文字符串逐个字符转换为数值型数据;然后利用混沌信号,对英文字符转换而成的数值序列进行双向扩散加密;接着利用混沌信号,对汉字转换而成的高位、低位数值序列进行置乱,并对置乱后的高位数值序列进行正向扩散加密、对置乱后的低位数值序列进行逆向扩散加密;再对中文标点符号转换而成的高位、低位数值序列进行混沌加密;最后进行数值与字符的转换,从而得到该段中英文字符串的加密密文。本发明利用混沌信号的密码特性,对中英文字符串转换而成的数值序列进行位置置乱、正向扩散、逆向扩散、判断性加密等组合运算,可抵抗已知/选择明文攻击,保证中英文字符串加密的安全性。 | ||
搜索关键词: | 一种 中英文 字符串 加密 方法 | ||
【主权项】:
1.一种中英文字符串的加密方法,其特征在于,包括如下几个步骤:(1)转码:将某段中英文字符串逐个字符转换为数值型数据,得到英文字符转换而成的数值序列B={B1,...,Bi,...,Bm},中文字符转换而成的高位数值序列P1={P11,P12,...,P1i,....,P1l}和低位数值序列P2={P21,P22,...,P2i,....,P2l},同时分别从高位数值序列P1和低位数值序列P2中取出汉字和中文标点符号转换而成的高、低位数值序列,得到汉字转换而成的高位数值序列
中文标点符号转换而成的高位数值序列
汉字转换而成的低位数值序列
中文标点符号转换而成的低位数值序列
其中所述中英文字符串的长度为L,数值序列B的长度为m,数值序列P1、P2的长度均为l,数值序列P11、P21的长度均为l1,数值序列P12、P22的长度均为l2,且L=m+l,l1+l2=l;(2)数值序列B的双向扩散加密:将数值序列B进行正向扩散加密后再进行逆向扩散加密,具体包括:1)进行数值序列B的正向扩散加密:利用外部加密密钥(α1、β1),令初值x1=α1和参数μ=β1+mod(sum(P1)/1000×l+sum(P2)/1000×l,4‑β1),对如下公式(1)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...,x201},xk+1=μxk(1‑xk) (1)令混沌信号初值y11=x201、
和μ1=β1,对数值序列B={B1,...,Bi,...,Bm}中每个元素Bi,其中i=1,2,3,...,m,依次进行如下操作:S11.由混沌信号y1i和参数μ1,对如公式(1)所示Logistics混沌系统进行单次迭代,得到混沌信号y1i+1,同时对混沌信号y1i+1按照如下公式(2)进行整数化处理,得到整数化处理后的混沌信号Y1i,
S12.利用整数化处理后的混沌信号Y1i对数据Bi按照如下公式(3)进行正向扩散加密,得到正向扩散加密数据C1i,
其中,C10为正向扩散加密密钥,S13.比较i与m的大小,若i<m,则根据正向扩散加密数据C1i,对Logistics混沌系统的参数μ1按照如下公式(4)进行调整,然后转向步骤S11,
若i=m,则停止操作,得到正向扩散加密后的数值序列C1={C11,C12,...,C1i,...,C1m};2)进行数值序列C1的逆向扩散加密:利用外部加密密钥(α2、β2),令初值x1=α2和参数μ=β2,对公式(1)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...,x201},令混沌信号初值y21=x201、
和μ2=β2,对正向扩散加密后的数值序列C1={C11,C12,...,C1i,...,C1L1}中每个元素C1i,其中i=1,2,3,...,m,依次进行如下操作:S21.由初值y2i和参数μ2,对如公式(1)所示Logistics混沌系统进行单次迭代,得到混沌信号y2i+1,同时对混沌信号y2i+1按照如下公式(5)进行整数化处理,得到整数化处理后的混沌信号Y2i,
S22.利用整数化处理后的混沌信号Y2i对数据C1m+1‑i按照如下公式(6)进行逆向扩散加密,得到双向扩散加密数据C2i,
其中,C20为逆向扩散加密密钥,S23.比较i与m的大小,若i<m,则根据双向扩散加密密文C2i,对Logistics混沌系统的参数μ2按照如下公式(7)进行调整,然后转向S21,
若i=m,则停止操作,得到双向扩散加密后的数值序列C2={C21,C22,...,C2i,...,C2m};(3)高、低位数值序列P11、P21的置乱:按照如下公式(8)计算,得到混沌序号抽取开始位和抽取间隔(M和N),
利用外部密钥(α1、β1、α2、β2),令初值x1=mod(α1+α2,1)和参数μ=(β1+β1)/2,对如公式(1)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...},从混沌序列中第M个元素开始每隔N个元素取1个,从而形成长度为l1的混沌序列H1,从混沌序列中第N个元素开始每隔M个元素取1个,从而形成长度为l1的混沌序列H2。然后将混沌序列H1按升序排序,根据序列H1排序前、后的位置变化置乱规则,对汉字转换而成的高位数值序列P11进行置乱,得到置乱后的数值序列
并将混沌序列H2按降序排序,根据序列H2排序前、后的位置变化置乱规则,对汉字转换而成的低位数值序列P21进行置乱,得到置乱后的数值序列
其中数值序列
的长度均为l1;(4)置乱后高位数值序列
的正向扩散加密、低位数值序列
的逆向扩散加密,具体包括:1)利用外部加密密钥(α1、β1),令初值x1=α1和参数μ=β1,对公式(1)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...,x201},令混沌信号初值y41=x201、
和μ4=β4,对置乱后的数值序列
中每个元素
其中i=1,2,3,...,l1,依次进行如下操作:S31.由初值y4i和参数μ4,对如公式(1)所示Logistics混沌系统进行单次迭代,得到混沌信号y4i+1,同时对混沌信号y4i+1按照如下公式(9)进行整数化处理,得到整数化处理后的混沌信号Y4i,
S32.利用整数化处理后的混沌信号Y4i对数据
按照如下公式(10)进行正向扩散加密,得到正向扩散加密数据C3i,
其中,C30为正向扩散加密密钥,S33.比较i与l1的大小,若i<l1,则根据正向扩散加密数据C3i,对Logistics混沌系统的参数μ4按照如下公式(11)进行调整,然后转向S31,
若i=l1,则停止操作,得到正向扩散加密后的数值序列
2)利用外部加密密钥(α2、β2),令初值x1=α2和参数μ=β2,对公式(1)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...,x201},令混沌信号初值y51=x201、
和μ5=β5,对置乱后的数值序列
中每个元素
其中i=1,2,3,...,l1,依次进行如下操作:S41.由初值y5i和参数μ5,对如公式(1)所示Logistics混沌系统进行单次迭代,得到混沌信号y5i+1,同时对混沌信号y5i+1按照如下公式(12)进行整数化处理,得到整数化处理后的混沌信号Y5i,
S42.利用整数化处理后的混沌信号Y5i对数据
按照如下公式(13)进行逆向扩散加密,得到逆向扩散加密数据C4i,
其中,C40为逆向扩散加密密钥,S43.比较i与l1的大小,若i<l1,则根据逆向扩散加密数据C4i,对Logistics混沌系统的参数μ5按照如下公式(14)进行调整,然后转向S41,
若i=l1,则停止操作,得到逆向扩散加密后的数值序列
(5)高、低位数值序列P12、P22的加密:利用外部密钥(α1、β1、α2、β2),令初值x1=mod(α1‑α2,1)和参数
对如公式(15)所示的Henon混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1、yk+1表示第k次迭代得到的混沌信号,得到混沌序列{y1,y2,...,yi,...,y101,...},从其第101个元素开始连续取l2个元素,
同时按如下公式(16)所示进行整数化处理,得到整数化处理后的混沌序列![]()
然后判断,如果P12i>162,则令加密后的高位数值序列C5中元素C5i=161,并设低位数值序列P22中元素P22i进行如下公式(17)所示的加密,C6i=mod(P12i+P22i‑161‑Y6i,93)+162 (17)否则,令加密后的高位数值序列C5中元素C5i=163,并设低位数值序列P22中元素P22i进行如下公式(18)所示的加密,C6i=mod(P12i+P22i‑161+Y6i,94)+161 (18)从而得到加密后的高位数值序列
低位数值序列
(6)转码:将英文字符转换并双向扩散加密的数值序列C2、汉字转换并置乱后的正向扩散加密数值序列C3和逆向扩散加密数值序列C4、中文标点符号转换并加密的数值序列C5和数值序列C6,分别进行数值与字符的转换,然后按照明文中原来中英文字符的位置进行整合,得到字符序列C,即为该段中英文字符串的加密密文,其中序列C的长度为
且![]()
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910494396.2/,转载请声明来源钻瓜专利网。
- 上一篇:一种保护用户隐私的分析方法
- 下一篇:一种中文字符串的加密方法和解密方法