CN110287712A - 一种中英文字符串的加密方法 - Google Patents

一种中英文字符串的加密方法 Download PDF

Info

Publication number
CN110287712A
CN110287712A CN201910494396.2A CN201910494396A CN110287712A CN 110287712 A CN110287712 A CN 110287712A CN 201910494396 A CN201910494396 A CN 201910494396A CN 110287712 A CN110287712 A CN 110287712A
Authority
CN
China
Prior art keywords
sequence
values
chinese
encryption
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910494396.2A
Other languages
English (en)
Other versions
CN110287712B (zh
Inventor
盛苏英
任宇
张小美
陆国平
张振娟
周磊
高岩波
任洁
朱建红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Yibu Digital Technology Co.,Ltd.
Original Assignee
Nantong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nantong University filed Critical Nantong University
Priority to CN201910494396.2A priority Critical patent/CN110287712B/zh
Publication of CN110287712A publication Critical patent/CN110287712A/zh
Application granted granted Critical
Publication of CN110287712B publication Critical patent/CN110287712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种中英文字符串的加密方法,包括如下步骤:将某段中英文字符串逐个字符转换为数值型数据;然后利用混沌信号,对英文字符转换而成的数值序列进行双向扩散加密;接着利用混沌信号,对汉字转换而成的高位、低位数值序列进行置乱,并对置乱后的高位数值序列进行正向扩散加密、对置乱后的低位数值序列进行逆向扩散加密;再对中文标点符号转换而成的高位、低位数值序列进行混沌加密;最后进行数值与字符的转换,从而得到该段中英文字符串的加密密文。本发明利用混沌信号的密码特性,对中英文字符串转换而成的数值序列进行位置置乱、正向扩散、逆向扩散、判断性加密等组合运算,可抵抗已知/选择明文攻击,保证中英文字符串加密的安全性。

Description

一种中英文字符串的加密方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种中英文字符串的加密方法。
背景技术
随着现代通信技术的飞速发展,计算机网络已成为众多领域进行信息交换的手段。由于计算机网络是一个开放式网络,信息交换时往往面临信息被窃取、篡改和伪造等安全问题,此时信息加密技术的研究与应用势在必行。
目前大多数主流信息加密解密技术都只能应用于如字母、数字、英文标点符号等单字节字符构成的信息,而可用于汉字、中文标点符号等双字节字符所构成的信息加密算法却很少。现有的中文字符加密算法,主要包括根据汉字区位码,进行的简单取反、区位码位置交换、异或,以及DES或RAS混合加密。现有的中文字符加密算法,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加密算法。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的中英文字符串加密方法,显得尤为重要。
发明内容
本发明的目的是为了解决现有技术中的不足,提供一种中英文字符串的加密方法,利用混沌系统所产生混沌序列的密码特性,对中英文字符串转换而成的数值序列进行位置置乱、正向扩散、逆向扩散、判断性加密等组合运算,进而高、低位数值序列转换以生成中英文字符串密文,具有良好的抵抗已知/选择明文攻击的性能,从而保证了中英文字符串加密与解密的安全性和可行性。
本发明提供了一种中英文字符串的加密方法,包括如下几个步骤:
(1)转码:将某段中英文字符串逐个字符转换为数值型数据,得到英文字符转换而成的数值序列B={B1,...,Bi,...,Bm},中文字符转换而成的高位数值序列P1={P11,P12,...,P1i,....,P1l}和低位数值序列P2={P21,P22,...,P2i,....,P2l},同时分别从高位数值序列P1和低位数值序列P2中取出汉字和中文标点符号转换而成的高、低位数值序列,得到汉字转换而成的高位数值序列P11={P111,P112,...,P11i,....,P11l1}、中文标点符号转换而成的高位数值序列P12={P121,...,P12i,....,P12l2}、汉字转换而成的低位数值序列P21={P211,P212,...,P21i,....,P21l1},中文标点符号转换而成的低位数值序列P22={P221,P222,...,P22i,....,P22l2},其中所述中英文字符串的长度为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(α12,1)和参数μ=(β11)/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,则停止操作,得到逆向扩散加密后的数值序列C4={C41,C42,...,C4i,...,C4l1};
(5)高、低位数值序列P12、P22的加密:
利用外部密钥(α1、β1、α2、β2),令初值x1=mod(α12,1)和参数对如公式(15)所示的Henon混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1、yk+1表示第k次迭代得到的混沌信号,得到混沌序列{y1,y2,...,yi,...,y101,...},从其第101个元素开始连续取l2个元素,
同时按如下公式(16)所示进行整数化处理,得到整数化处理后的混沌序列Y6={Y61,Y62,...,Y6i,...Y6l2},
然后判断,如果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)
从而得到加密后的高位数值序列C5={C51,C52,...,C5i,...,C5l2}、低位数值序列C6={C61,C62,...,C6i,...,C6l2};
(6)转码:将英文字符转换并双向扩散加密的数值序列C2、汉字转换并置乱后的正向扩散加密数值序列C3和逆向扩散加密数值序列C4、中文标点符号转换并加密的数值序列C5和数值序列C6,分别进行数值与字符的转换,然后按照明文中原来中英文字符的位置进行整合,得到字符序列C,即为该段中英文字符串的加密密文,其中序列C的长度为
进一步地,步骤(1)中所述的将某段中英文字符串逐个字符转换为数值型数据,其中字符包括,除空格以外的可显示ASCII码字符,以及GB2312字符集中双字节编码的6763个汉字以及常用的中文标点符号;其中逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[高位数值数据,低位数值数据],将英文字符转换为ASCII码数值数据,表示为[ASCII码数值数据]。
进一步地,步骤(6)中所述的将英文字符转换并双向扩散加密的数值序列C2、汉字转换并置乱后的正向扩散加密数值序列C3和逆向扩散加密数值序列C4、中文标点符号转换并加密的数值序列C5和数值序列C6,分别进行数值与字符的转换,其转换关系表述如下:设定一个空字符序列C,
对于英文字符转换并双向扩散加密的数值序列C2={C21,C22,...,C2i,...,C2m},利用unicode2native(·)函数逐个将数值型数据C2i+33转换为单个英文字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode(C2i+33)];
对于汉字转换并置乱后的正向扩散加密数值序列C3={C31,C32,...,C3i,...,C3l1}和逆向扩散加密数值序列C4={C41,C42,...,C4i,...,C4l1},首先判断是否(C3i+176)=215且(C4i+161)>249,如果是,那么在字符序列C中添加1个中文字符'①',即C=[C,'①'],并设C1i=C1i+1,然后利用unicode2native(·)函数逐个将数值型数据组合[C3i+176,C4i+161]转换为单个汉字字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode([C3i+176,C4i+161])];
对于中文标点符号转换并加密的数值序列C5={C51,C52,...,C5i,...,C5l2}和数值序列C6={C61,C62,...,C6i,...,C6l2},利用unicode2native(·)函数逐个将数值型数据组合[C5i,C6i]转换为单个中文标点符号字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode([C5i,C6i])],从而得到该段中英文字符串的加密密文。
有益效果:本发明利用混沌系统所产生混沌序列的密码特性,对中英文字符串转换而成的数值序列进行位置置乱、正向扩散、逆向扩散、判断性加密等组合运算,进而高、低位数值序列转换以生成中英文字符串密文,具有良好的抵抗已知/选择明文攻击的性能,从而保证了中英文字符串加密与解密的安全性和可行性。
附图说明
图1为本发明的一种中英文字符串的加密流程示意图。
具体实施方式
如图1所示的一种中英文字符串的加密方法,包括如下几个步骤:
(1)转码:将某段中英文字符串逐个字符转换为数值型数据,得到英文字符转换而成的数值序列B={B1,...,Bi,...,Bm},中文字符转换而成的高位数值序列P1={P11,P12,...,P1i,....,P1l}和低位数值序列P2={P21,P22,...,P2i,....,P2l},同时分别从高位数值序列P1和低位数值序列P2中取出汉字和中文标点符号转换而成的高、低位数值序列,得到汉字转换而成的高位数值序列中文标点符号转换而成的高位数值序列汉字转换而成的低位数值序列中文标点符号转换而成的低位数值序列其中某段中英文字符串包括,除空格以外的可显示ASCII码字符,以及GB2312字符集中双字节编码的6763个汉字以及常用的中文标点符号,逐个字符转换为数值型数据,是指采用unicode 2 native(·)函数,将单个中文字符转换为区位码数值数据,表示为[高位数值数据,低位数值数据],将英文字符转换为ASCII码数值数据,表示为[ASCII码数值数据],该段中英文字符串的长度为L,数值序列B的长度为m,数值序列P1、P2的长度均为l,数值序列P11、P21的长度均为l1,数值序列P12、P22的长度均为l2,且L=m+l,l1+l2=l;
(2)数值序列B的双向扩散加密;
1)进行数值序列B的正向扩散加密
利用外部加密密钥(α1、β1),令初值x1=α1和参数μ=β1+mod(sum(P1)/1000×l+sum(P2)/1000×l,4-β1),对如公式xk+1=μxk(1-xk)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...,x201},
令混沌信号初值y11=x201和μ1=β1,对数值序列B={B1,...,Bi,...,Bm}中每个元素Bi,其中i=1,2,3,...,m,依次进行如下操作:
S11.由混沌信号y1i和参数μ1,对如公式y1k+1=μ1·y1k·(1-y1k)所示Logistics混沌系统进行单次迭代,得到混沌信号y1i+1,同时对混沌信号y1i+1按照如下公式进行整数化处理,得到整数化处理后的混沌信号Y1i
S12.利用整数化处理后的混沌信号Y1i对数据Bi按照如下公式进行正向扩散加密,得到正向扩散加密数据C1i
其中,C10为正向扩散加密密钥,
S13.比较i与m的大小,若i<m,则根据正向扩散加密数据C1i,对Logistics混沌系统的参数μ1按照如下公式进行调整,然后转向步骤S11,
若i=m,则停止操作,得到正向扩散加密后的数值序列C1={C11,C12,...,C1i,...,C1m};
2)进行数值序列C1的逆向扩散加密
利用外部加密密钥(α2、β2),令初值x1=α2和参数μ=β2,对如公式xk+1=μxk(1-xk)所示的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,对如公式y2k+1=μ2·y2k·(1-y2k)所示Logistics混沌系统进行单次迭代,得到混沌信号y2i+1,同时对混沌信号y2i+1按照如下公式进行整数化处理,得到整数化处理后的混沌信号Y2i
S22.利用整数化处理后的混沌信号Y2i对数据C1m+1-i按照如下公式进行逆向扩散加密,得到双向扩散加密数据C2i
其中,C20为逆向扩散加密密钥,
S23.比较i与m的大小,若i<m,则根据双向扩散加密密文C2i,对Logistics混沌系统的参数μ2按照如下公式进行调整,然后转向S21,
若i=m,则停止操作,得到双向扩散加密后的数值序列C2={C21,C22,...,C2i,...,C2m};
(3)高、低位数值序列P11、P21的置乱:
按照如下公式计算,得到混沌序号抽取开始位和抽取间隔(M和N),
利用外部密钥(α1、β1、α2、β2),令初值x1=mod(α12,1)和参数μ=(β11)/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,对如公式xk+1=μxk(1-xk)所示的Logistics混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列{x1,x2,...,xi,...,x201},
令混沌信号初值y41=x201和μ4=β4,对置乱后的数值序列中每个元素其中i=1,2,3,...,l1,依次进行如下操作:
S31.由初值y4i和参数μ4,对如公式y4i+1=μ4·y4i·(1-y4i)所示Logistics混沌系统进行单次迭代,得到混沌信号y4i+1,同时对混沌信号y4i+1按照如下公式进行整数化处理,得到整数化处理后的混沌信号Y4i
S32.利用整数化处理后的混沌信号Y4i对数据按照如下公式进行正向扩散加密,得到正向扩扩散加密数据C3i
其中,C30为正向扩散加密密钥,
S33.比较i与l1的大小,若i<l1,则根据正向扩散加密数据C3i,对Logistics混沌系统的参数μ4按照如下公式进行调整,然后转向S31,
若i=l1,则停止操作,得到正向扩散加密后的数值序列
2)利用外部加密密钥(α2、β2),令初值x1=α2和参数μ=β2,对如公式xk+1=μxk(1-xk)所示的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按照如下公式进行整数化处理,得到整数化处理后的混沌信号Y5i
S42.利用整数化处理后的混沌信号Y5i对数据按照如下公式进行逆向扩散加密,得到逆向扩散加密数据C4i
其中,C40为逆向扩散加密密钥,
S43.比较i与l1的大小,若i<l1,则根据逆向扩散加密数据C4i,对Logistics混沌系统的参数μ5按照如下公式进行调整,然后转向S41,
若i=l1,则停止操作,得到逆向扩散加密后的数值序列
(5)高、低位数值序列P12、P22的加密:
利用外部密钥(α1、β1、α2、β2),令初值x1=mod(α12,1)和参数对如下公式所示的Henon混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1、yk+1表示第k次迭代得到的混沌信号,得到混沌序列{y1,y2,...,yi,...,y101,...},从其第101个元素开始连续取l2个元素,
同时按如下公式所示进行整数化处理,得到整数化处理后的混沌序列
然后判断,如果P12i>162,则令加密后的高位数值序列C5中元素C5i=161,并设低位数值序列P22中元素P22i进行如下公式所示的加密,
C6i=mod(P12i+P22i-161-Y6i,93)+162
否则,令加密后的高位数值序列C5中元素C5i=163,并设低位数值序列P22中元素P22i进行如下公式所示的加密,
C6i=mod(P12i+P22i-161+Y6i,94)+161
从而得到加密后的高位数值序列低位数值序列
(6)转码:将英文字符转换并双向扩散加密的数值序列C2、汉字转换并置乱后的正向扩散加密数值序列C 3和逆向扩散加密数值序列C4、中文标点符号转换并加密的数值序列C5和数值序列C6,分别进行数值与字符的转换,其转换关系表述如下:设定一个空字符序列C,
对于英文字符转换并双向扩散加密的数值序列C2={C21,C22,...,C2i,...,C2m},利用unicode 2 native(·)函数逐个将数值型数据C2i+33转换为单个英文字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode(C2i+33)];
对于汉字转换并置乱后的正向扩散加密数值序列和逆向扩散加密数值序列首先判断是否(C3i+176)=215且(C4i+161)>249,如果是,那么在字符序列C中添加1个中文字符'①',即C=[C,'①'],并设C1i=C1i+1,然后利用unicode 2 native(·)函数逐个将数值型数据组合[C3i+176,C4i+161]转换为单个汉字字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode([C3i+176,C4i+161])];
对于中文标点符号转换并加密的数值序列和数值序列利用unicode 2 native(·)函数逐个将数值型数据组合[C5i,C6i]转换为单个中文标点符号字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode([C5i,C6i])],
然后按照明文中原来中英文字符的位置进行整合,得到字符序列C,即为该段中英文字符串的加密密文,其中序列C的长度为
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述具体实施方式中一种中英文字符串的加密方法,步骤如下:
(1)将某段中英文字符串“中英文字符串123,进行加密或解密&afe!”逐个字符转换为数值型数据,得到英文字符转换而成的数值序列B={B1,...,Bi,...,B7}={49,50,51,38,97,102,101},汉字转换而成的高位数值序列P11={P111,P112,...,P11i,....,P1113}={214,211,206,215,183,180,189,208,188,195,187,189,195}、中文标点符号转换而成的高位数值序列P12={P121,P122}={163,163}、汉字转换而成的低位数值序列P21={P211,P212,...,P21i,....,P2113}={208,162,196,214,251,174,248,208,211,220,242,226,220},中文标点符号转换而成的低位数值序列P22={P221,P222}={172,161};
(2)首先利用外部加密密钥(α1=0.76543、β1=3.756),令初值x1=α1和参数μ=3.819135134974612,对上述具体实施方式中一种中文字符串的加密方法步骤(2)中公式所示的Logistics混沌系统进行200次迭代,得到混沌序列,令混沌信号初值y11=x201、μ1=β1、C10=60,并将数值序列B={B1,...,Bi,...,B7}中每一个元素依次进行上述具体实施方式中一种中英文字符串的加密方法步骤(2)中公式所示的Logistics混沌系统单次迭代与整数化、正向扩散加密和Logistics混沌系统参数μ1调整等操作,从而得到数值序列C1={89,6,23,57,47,91,40};
然后利用外部加密密钥(α2=0.65432、β2=3.751),令初值x1=α2和参数μ=β2,对上述具体实施方式中一种中文字符串的加密方法步骤(2)中公式所示的Logistics混沌系统进行200次迭代,得到混沌序列,令混沌信号初值y21=x201、μ2=β2、C20=61,并将数值序列C1={C11,...,C1i,...,C17}中每一个元素依次进行上述具体实施方式中一种中英文字符串的加密方法步骤(2)中公式所示的Logistics混沌系统单次迭代与整数化、逆向扩散加密和Logistics混沌系统参数μ2调整等操作,从而得到英文字符转换并双向扩散加密的C2={68,65,90,10,30,11,30};
(3)利用外部加密密钥(α1=0.76543、α2=0.65432、β1=3.756、β2=3.751),令初值x1=mod(α12,1)=0.41975和参数μ=(β11)/2=3.7535,M=4,N=5,对上述具体实施方式中一种中文字符串的加密方法步骤(2)中公式所示的Logistics混沌系统进行迭代,得到混沌序列,从混沌序列的第4个元素开始每隔5个元素取1个,形成长度为13的混沌序列H1,将混沌序列H1按升序排序,根据序列H1排序前、后的位置变化置乱规则,对汉字转换而成的高位数值序列P11进行置乱,得到置乱后的数值序列从混沌序列的第5个数开始每隔4个元素取1个,形成长度为13的混沌序列H2,将混沌序列H2按降序排序,根据序列H2排序前、后的位置变化置乱规则,对汉字转换而成的低位数值序列P21进行置乱,得到置乱后的数值序列
(4)首先利用外部加密密钥(α1=0.76543、β1=3.756),令初值x1=α1和参数μ=β1,对上述具体实施方式中一种中文字符串的加密方法步骤(4)中公式所示的Logistics混沌系统进行200次迭代,得到混沌序列,令混沌信号初值y41=x201、μ4=β1、C30=50,并将置乱后的数值序列中每一个元素依次进行上述具体实施方式中一种中英文字符串的加密方法步骤(4)中公式所示的Logistics混沌系统单次迭代与整数化、正向扩散加密和Logistics混沌系统参数μ4调整等操作,从而得到数值序列C3={11,23,37,21,24,71,9,66,48,23,54,50,0};
然后利用外部加密密钥(α2=0.65432、β2=3.751),令初值x1=α2和参数μ=β2,对上述具体实施方式中一种中文字符串的加密方法步骤(4)中公式所示的Logistics混沌系统进行200次迭代,得到混沌序列,令混沌信号初值y51=x201、μ5=β2、C40=51,并将置乱后的数值序列中每一个元素依次进行上述具体实施方式中一种中英文字符串的加密方法步骤(4)中公式所示的Logistics混沌系统单次迭代与整数化、逆向扩散加密和Logistics混沌系统参数μ5调整等操作,从而得到数值序列C4={23,56,61,43,56,74,37,53,74,55,32,10,45};
(5)利用外部密钥(α1=0.76543、α2=0.65432、β1=3.756、β2=3.751),令初值x1=0.11111和参数μ=0.288043956043956,对如下公式所示的Henon混沌系统进行迭代,得到混沌序列,并对中文标点符号高位数值序列P12={163,163}和标点符号低位数值序列P22={172,161}进行上述具体实施方式中一种中英文字符串的加密方法步骤(5)中所示公式进行加密,得到加密后的高位数值序列C5={161,161}、低位数值序列C6={238,174};
(6)将英文字符转换并双向扩散加密的数值序列C2={68,65,90,10,30,11,30}、汉字转换并置乱后的正向扩散加密数值序列C3={11,23,37,21,24,71,9,66,48,23,54,50,0}和逆向扩散加密数值序列C4={23,56,61,43,56,74,37,53,74,55,32,10,45}、中文标点符号转换并加密的数值序列C5={161,161}和数值序列C6={238,174},分别进行数值与字符的转换,然后按照明文中原来中英文字符的位置进行整合,从而得到该段中英文字符串的加密密文为“桓琴辙盘荣麟eb{☆蛊蛑嚯秦媪猥拔+?,?‘”。
实施例2
按照上述一种中英文字符串的加密方法,某段待加密字符串为“中英文字符串123,进行加密或解密&afe!”,一种中英文字符串的加密步骤与具体实施例1相似,仅外部加密密钥发生细微变化:α1=0.76543000000001;或α2=0.65432000000001;或β1=3.75600000000001;或β2=3.75100000000001;或C10=59;或C20=62;或C30=49;或C40=52,字符串加密结果如表1所示。由表1可知,加密密钥的细微变化会引起中英文字符串加密密文发生很大的变化,由此可见本专利所提一种中英文字符串的加密方法对加密密钥具有敏感性。
表1 外部加密密钥发生微变时,字符串加密结果
实施例3
按上述一种中英文字符串的加密方法,其加密步骤与具体实施例1相似,仅某段待加密中英文字符串“中英文字符串123,进行加密或解密&afe!”发生细微变化:“中英文字符串133,进行加密或解密&afe!”;或“中英文子符串123,进行加密或解密&afe!”;或“中英文字符串123,进行加密或解密&afe?”,中英文字符串加密结果如表2所示。由表2可见:待加密中英文字符串平文信息的细微变化会引起加密密文的“面目全非”,由此可见本专利所提一种字符串加密方法对待加密中英文字符串的平文信息具有敏感性。
表2 待加密中英文字符串发生微变时,字符串加密结果
由上述具体实施例2、3分析可知,本专利所提一种中英文字符串加密方法所生成的字符串密文不仅与加密密钥密切相关,而且依赖于待加密中英文字符串平文信息,因此本专利所提一种中英文字符串加密方法可抵抗已知/选择明文攻击,具有很强的安全性。

Claims (3)

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(α12,1)和参数μ=(β11)/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(α12,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的长度为
2.根据权利要求1所述的一种中英文字符串的加密方法,其特征在于:步骤(1)中所述的将某段中英文字符串逐个字符转换为数值型数据,其中字符包括,除空格以外的可显示ASCII码字符,以及GB2312字符集中双字节编码的6763个汉字以及常用的中文标点符号;其中逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[高位数值数据,低位数值数据],将英文字符转换为ASCII码数值数据,表示为[ASCII码数值数据]。
3.根据权利要求1所述的一种中英文字符串的加密方法,其特征在于:步骤(6)中所述的将英文字符转换并双向扩散加密的数值序列C2、汉字转换并置乱后的正向扩散加密数值序列C3和逆向扩散加密数值序列C4、中文标点符号转换并加密的数值序列C5和数值序列C6,分别进行数值与字符的转换,其转换关系表述如下:设定一个空字符序列C,
对于英文字符转换并双向扩散加密的数值序列C2={C21,C22,...,C2i,...,C2m},利用unicode2native(·)函数逐个将数值型数据C2i+33转换为单个英文字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode(C2i+33)];
对于汉字转换并置乱后的正向扩散加密数值序列和逆向扩散加密数值序列首先判断是否(C3i+176)=215且(C4i+161)>249,如果是,那么在字符序列C中添加1个中文字符'①',即C=[C,'①'],并设C1i=C1i+1,然后利用unicode2native(·)函数逐个将数值型数据组合[C3i+176,C4i+161]转换为单个汉字字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode([C3i+176,C4i+161])];
对于中文标点符号转换并加密的数值序列和数值序列利用unicode2native(·)函数逐个将数值型数据组合[C5i,C6i]转换为单个中文标点符号字符,并添加到相应位置的字符序列C中,即C=[C,native2unicode([C5i,C6i])],从而得到该段中英文字符串的加密密文。
CN201910494396.2A 2019-06-10 2019-06-10 一种中英文字符串的加密方法 Active CN110287712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910494396.2A CN110287712B (zh) 2019-06-10 2019-06-10 一种中英文字符串的加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910494396.2A CN110287712B (zh) 2019-06-10 2019-06-10 一种中英文字符串的加密方法

Publications (2)

Publication Number Publication Date
CN110287712A true CN110287712A (zh) 2019-09-27
CN110287712B CN110287712B (zh) 2022-09-16

Family

ID=68003717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910494396.2A Active CN110287712B (zh) 2019-06-10 2019-06-10 一种中英文字符串的加密方法

Country Status (1)

Country Link
CN (1) CN110287712B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054682A1 (en) * 2000-08-09 2002-05-09 Stmicroelectronics S.R.L. Method and device for protecting the contents of an electronic document
CN103825723A (zh) * 2014-01-24 2014-05-28 深圳市太和物联信息技术有限公司 一种加密方法和装置
CN104486073A (zh) * 2014-12-23 2015-04-01 南通大学 一种字符型数据的加密、解密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020054682A1 (en) * 2000-08-09 2002-05-09 Stmicroelectronics S.R.L. Method and device for protecting the contents of an electronic document
CN103825723A (zh) * 2014-01-24 2014-05-28 深圳市太和物联信息技术有限公司 一种加密方法和装置
CN104486073A (zh) * 2014-12-23 2015-04-01 南通大学 一种字符型数据的加密、解密方法

Also Published As

Publication number Publication date
CN110287712B (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
CN110046513A (zh) 基于Hopfield混沌神经网络的明文关联图像加密方法
CN101206815A (zh) 加密处理、加密装置和存储加密程序的计算机可读介质
CN110299989A (zh) 一种中英文字符串的加密、解密方法
CN106254074A (zh) 一种基于混合加密的宋词载体文本信息隐藏技术
Limbong et al. Testing the classic caesar cipher cryptography using of matlab
CN104917747A (zh) 一种隐秘通信方法
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
CN108833733B (zh) 一种基于混沌s盒的图像加密算法的解密方法
CN101335616A (zh) 一种具有无限密钥空间的对称加密方法
Akiwate et al. A dynamic DNA for key-based cryptography
Din et al. Traid-bit embedding process on Arabic text steganography method
CN110287712A (zh) 一种中英文字符串的加密方法
Torvi et al. An unique data security using text steganography
CN110086633B (zh) 一种区块链技术中密文防篡改方法
CN110650006A (zh) 一种中英文字符串的加密和解密方法
CN110278066B (zh) 一种中文字符串的加密、解密方法
Acharjee et al. XORSTEG: A new model of text steganography
Rizal et al. Modified key using multi-cycle key in vigenere cipher
Kumar et al. SCLCT: Secured cross language cipher technique
CN110287713B (zh) 一种中文字符串的加密方法和解密方法
Patro et al. Text-to-image encryption and decryption using piece wise linear chaotic maps
Tan et al. A novel identification approach to encryption mode of block cipher
CN110718272B (zh) 基于基因序列与基因功能的非数值字段的加密及解密方法
Alregabo et al. Proposed Method for Efficient Block Cipher Cryptography
Chandu et al. Implementation of AES Algorithm using Dynamic S-box on FPGA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240426

Address after: Room 804, Unit 2, Building 1, Landmark Building, No. 77 Jincheng Road, Beigan Street, Xiaoshan District, Hangzhou City, Zhejiang Province, 310000

Patentee after: Hangzhou Yibu Digital Technology Co.,Ltd.

Country or region after: China

Address before: 226019 Jiangsu city of Nantong province sik Road No. 9

Patentee before: NANTONG University

Country or region before: China