CN110278066B - 一种中文字符串的加密、解密方法 - Google Patents
一种中文字符串的加密、解密方法 Download PDFInfo
- Publication number
- CN110278066B CN110278066B CN201910494401.XA CN201910494401A CN110278066B CN 110278066 B CN110278066 B CN 110278066B CN 201910494401 A CN201910494401 A CN 201910494401A CN 110278066 B CN110278066 B CN 110278066B
- Authority
- CN
- China
- Prior art keywords
- sequence
- order
- chaotic
- chinese character
- low
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种中文字符串的加密、解密方法,包括:将某段中文字符串转换成高位数值序列、低位数值序列;对高位数值序列逐个元素正向扩散加密,得到高位数值序列的正向扩散加密密文序列;对低位数值序列逐个元素逆向扩散加密,得到低位数值序列的逆向扩散加密密文序列;最后将正向扩散加密密文序列和逆向扩散加密密文序列进行数值与字符的转换,得到该段中文字符串的加密密文,通过类似的方法可将密文解密恢复出原始的中文字符串。本发明所提供的中文字符串的加密、解密方法,利用混沌信号的密码特性,实现字符串的加密和解密,具有良好的抵抗已知/选择明文攻击、唯密文攻击的性能,保证了中文字符串加密与解密的安全性和可行性。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种中文字符串的加密、解密方法。
背景技术
随着现代通信技术的飞速发展,计算机网络已成为众多领域进行信息交换的手段。由于计算机网络是一个开放式网络,信息交换时往往面临信息被窃取、篡改和伪造等安全问题,此时信息加密技术的研究与应用势在必行。
目前大多数主流信息加密解密技术都只能应用于如字母、数字、英文标点符号等单字节字符构成的信息,而可用于汉字、中文标点符号等双字节字符所构成的信息加密算法却很少。现有的中文字符加密算法,主要包括根据汉字区位码,进行的简单取反、区位码位置交换、异或,以及DES或RAS混合加密。现有的中文字符加密算法,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加密算法。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的中文字符串加密、解密方法,显得尤为重要。
发明内容
本发明的目的是为了解决现有技术中的不足,提供一种中文字符串的加密、解密方法,利用混沌系统所产生混沌序列的密码特性,对中文字符串转换而成的高位数值序列逐个元素进行正向扩散加密,并对中文字符串转换而成的低位数值序列逐个元素进行逆向扩散加密,进而将高位、低位数值序列加密后数据进行数值与字符的转换以生成密文,从而保证了中文字符串加密与解密的安全性和可行性。
本发明提供了一种中文字符串的加密方法,其特征在于,包括如下几个步骤:
(1)将某段中文字符串逐个字符转换为数值型数据,得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2},其中,高位数值序列P1和低位数值序列P2的长度均与该段中文字符串的长度一致,记为L;
(2)对高位数值序列P1进行正向扩散加密,得到高位数值序列P1的正向扩散加密密文序列C1={C11,C12,...,C1i,...,C1L};
所述对高位数值序列P1进行正向扩散加密包括:
利用外部加密密钥(α、β),令初值x1=α和参数μ=β,对如下公式(1)所示的切比雪夫混沌系统进行迭代,得到混沌序列X={x1,x2,...,x300,x301},
xk+1=cos(μ·arccos(xk)) (1)
其中,k表示迭代次数,k=1,2,...,300,xk+1表示第k次迭代得到的混沌信号;
从混沌序列X中抽取元素x300,作为如公式(2)所示的切比雪夫混沌系统的初值y1,且令切比雪夫混沌系统的参数μ1=β,同时对混沌信号y1按照如下公式(3)进行整数化处理,得到混沌信号Y1,
yk+1=cos(μ1·arccos(yk)) (2)
Y1=mod(y1×1014,74) (3)
对高位数值序列P1={P11,P21,...,Pi1,....,PL1}中每个元素Pi1,其中i=1,2,3,...,L,依次进行如下操作:
S11.由混沌信号yi和参数μ1,对如公式(2)所示切比雪夫混沌系统进行单次迭代,得到混沌信号yi+1,同时对混沌信号yi+1按照如公式(3’)进行整数化处理,得到混沌信号Yi+1,
Yi+1=mod(yi+1×1014,74) (3’)
S12.利用整数化处理后的混沌信号Yi+1、Yi以及对应的低位数值序列元素Pi2,对数据Pi1按照如下公式(4)进行正向扩散加密,得到正向扩散加密密文C1i,
其中,C10设为正向扩散加密密钥;
S13.比较i与L的大小,若i=L,则停止,若i<L,则根据正向扩散加密密文C1i、C1i-1和混沌信号Yi、Yi+1以及对应的低位数值序列元素Pi2,对公式(2)所示的切比雪夫混沌系统中的参数μ1按照如下公式(5)进行调整,
然后转向步骤S11;
(3)对低位数值序列P2进行逆向扩散加密,得到低位数值序列P2的逆向扩散加密密文C2={C21,C22,...,C2i,...,C2L}:
所述对低位数值序列P2进行逆向扩散加密包括:
从混沌序列X中抽取元素x301,作为如公式(6)所示的切比雪夫混沌系统的初值z1,且令公式(6)所示的切比雪夫混沌系统的参数μ2=β,同时对混沌信号z1按照如下公式(7)进行整数化处理,得到整数化处理后的混沌信号Z1,
zk+1=cos(μ2·arccos(zk)) (6)
Z1=mod(z1×1014,94) (7)
对低位数值序列P2={P12,P22,...,Pi2,....,PL2}中每个元素Pi2,其中i=1,2,3,...,L,依次进行如下操作:
S21.由混沌信号zi和参数μ2,对如公式(6)所示切比雪夫混沌系统进行单次迭代,得到混沌信号zi+1,同时对混沌信号zi+1按照如公式(7’)进行整数化处理,得到混沌信号Zi+1,
Zi+1=mod(zi+1×1014,94) (7’)
S22.利用整数化处理后的混沌信号Zi+1、Zi,对数据PL+1-i2按照如下公式(8)进行逆向扩散加密,得到逆向扩散加密密文C2L+1-i,
其中,C2L+1为逆向扩散加密密钥,
S23.比较i与L的大小,若i=L,则停止,若i<L,则根据逆向扩散加密密文C2L+1-i、C2L+2-i和混沌信号Zi、Zi+1以及对应的高位数值序列元素加密密文C1i,对切比雪夫混沌系统的参数μ2按照如下公式(9)进行调整,
然后转向步骤S21;
(4)将高位数值序列P1的正向扩散加密密文序列C1和低位数值序列P2的逆向扩散加密密文序列C2,进行数值与字符的转换,得到字符序列C,所述字符序列C即为该段中文字符串的加密密文,其中所述字符序列C的长度为且
进一步的,中文字符串的加密方法里步骤(1)中所述的将某段中文字符串逐个字符转换为数值型数据,其中,某段中文字符串包括中文标点符号和汉字,所述中文标点符号和所述汉字均选自GB2312字符集;逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[区数值数据,位数值数据]形式,记为[Pi1,Pi2],相应的数据组合得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2}。
进一步的,中文字符串的加密方法里步骤(4)中所述的将高位数值序列P1的正向扩散加密密文序列C1和低位数值序列P2的逆向扩散加密密文序列C2,进行数值与字符的转换,其转换关系表述如下:
设定一个空字符序列C,将高位数值序列的正向扩散加密密文序列C1={C11,C12,...,C1i,...,C1L}和低位数值序列的逆向扩散加密密文序列C2={C21,C22,...,C2i,...,C2L}中各对应元素依次进行如下运算,
如果C1i=0,则
首先判断是否(C2i+161)=161,如果是,那么在字符序列C中添加1个中文字符'②',即C=[C,'②'],并设C2i=C2i+1,
然后利用native 2 unicode(·)函数将数值数据[C1i+161,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native 2 unicode([C1i+161,C2i+161])];
如果C1i=1,则利用native 2 unicode(·)函数将数值数据[C1i+162,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native 2 unicode([C1i+162,C2i+161])];
如果C1i>1,则
首先判断是否(C1i+174)=215且(C2i+161)>249,如果是,那么在字符序列C中添加1个中文字符'①',即C=[C,'①'],并设C1i=C1i-1,
然后利用native 2 unicode(·)函数将数值数据[C1i+174,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native 2 unicode([C1i+174,C2i+161])]。
本发明还提供了一种中文字符串的解密方法,用于对根据上述的中文字符串的加密方法所获得的加密字符串进行解密,所述中文字符串的解密方法包括如下几个步骤:
对低位数值序列R2进行逆向扩散解密包括:
然后转向步骤S31;
其中,R01为正向扩散解密密钥,
S43.比较i与L的大小,若i=L,则停止,若i<L,则根据高位数值序列元素Ri1、Ri-11和混沌信号以及对应的低位数值序列元素的解密数据D2i,对切比雪夫混沌系统的参数按照如下公式(18)进行调整,
然后转向步骤S41;
(4)将高位数值序列R1正向扩散解密后的序列D1和低位数值序列R2逆向扩散解密后的序列D2,进行数值与字符的转换,得到字符序列PP,即为该段待解密中文字符串解密后恢复的中文字符串,其中所述字符序列PP的长度为
进一步的,中文字符串的解密方法里步骤(4)中所述的将高位数值序列R1正向扩散解密后的序列D1和低位数值序列R2逆向扩散解密后的序列D2,进行数值与字符的转换,其转换关系表述如下:
首先判断是否D1i=215且D2i>249,如果存在,则令D1i=161;
然后利用native 2 unicode(·)函数将数值数据[D1i,D2i]转换为单个中文字符,并添加到字符序列PP中,即PP=[PP,native 2 unicode([D1i,D2i])]。
有益效果:本发明利用混沌信号的密码特性,对中文字符串转换而成的高位数值序列逐个元素进行正向扩散加密或者解密,并对中文字符串转换而成的低位数值序列逐个元素进行逆向扩散加密或者解密,具有良好的抵抗已知/选择明文攻击、唯密文攻击的性能,从而保证了中文字符串加密与解密的安全性和可行性。
附图说明
图1为本发明的一种中文字符串的加密、解密流程示意图。
具体实施方式
如图1所示的一种中文字符串的加密方法,包括如下几个步骤:
(1)将某段中文字符串逐个字符转换为数值型数据;
某段中文字符串选自GB2312字符集中的中文标点符号,以及GB2312字符集中双字节编码的6763个汉字;逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[区数值数据,位数值数据]形式,即为[Pi1,Pi2],相应的数据组合得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2},其中数值序列P1、P2的长度与该段中文字符串的长度一致,记为L;
(2)对高位数值序列P1进行正向扩散加密,得到高位数值序列P1的正向扩散加密密文序列C1={C11,C12,...,C1i,...,C1L};
对高位数值序列P1进行正向扩散加密具体包括:
首先利用外部加密密钥(α、β),令初值x1=α和参数μ=β,对如公式xk+1=cos(μ·arccos(xk))所示的切比雪夫混沌系统进行迭代,得到混沌序列X={x1,x2,...,x300,x301},k表示迭代次数(k=1,2,...,300),xk+1表示第k次迭代得到的混沌信号,从混沌序列X中抽取元素x300,作为如公式yk+1=cos(μ1·arccos(yk))所示的切比雪夫混沌系统的初值y1(y1=x300),且令切比雪夫混沌系统的参数μ1=β,同时对混沌信号y1按照如公式Y1=mod(y1×1014,74)所示进行整数化处理,得到混沌信号Y1,
然后对高位数值序列P1={P11,P21,...,Pi1,....,PL1}中每个元素Pi1,其中i=1,2,3,...,L,依次进行如下操作:
S11:由混沌信号yi和参数μ1,对如公式yk+1=cos(μ1·arccos(yk))所示切比雪夫混沌系统进行单次迭代,得到混沌信号yi+1,同时对混沌信号yi+1按照如公式Yi+1=mod(yi+1×1014,74)所示进行整数化处理,得到混沌信号Yi+1,
S12:利用整数化处理后的混沌信号Yi+1、Yi以及对应的低位数值序列元素Pi2,对高位数值序列元素Pi1按照如下公式进行正向扩散加密,得到正向扩散加密密文C1i,
其中,C10为正向扩散加密密钥,
S13:比较i与L的大小,若i=L,则停止,若i<L,则根据正向扩散加密密文C1i、C1i-1和混沌信号Yi、Yi+1以及对应的低位数值序列元素Pi2,对切比雪夫混沌系统的参数μ1按照如下公式进行调整,
然后转向步骤S11;
当迭代完成后(i=L),得到高位数值序列的正向扩散加密密文C1={C11,C12,...,C1i,...,C1L};
(3)对低位数值序列P2进行逆向扩散加密,得到低位数值序列P2的逆向扩散加密密文序列C2={C21,C22,...,C2i,...,C2L};
对低位数值序列P2进行逆向扩散加密具体包括:
首先从混沌序列X中抽取元素x301,作为如公式zk+1=cos(μ2·arccos(zk))所示的切比雪夫混沌系统的初值z1(z1=x301),且令切比雪夫混沌系统的参数μ2=β,同时对混沌信号z1按照如公式Z1=mod(z1×1014,94)所示进行整数化处理,得到整数化处理后的混沌信号Z1,
然后对低位数值序列P2={P12,P22,...,Pi2,....,PL2}中每个元素Pi2,其中i=1,2,3,...,L,依次进行如下操作:
S21:由混沌信号zi和参数μ2,对如公式zk+1=cos(μ2·arccos(zk))所示切比雪夫混沌系统进行单次迭代,得到混沌信号zi+1,同时对混沌信号zi+1按照如公式Zi+1=mod(zi+1×1014,94)所示进行整数化处理,得到整数化处理后的混沌信号Zi+1,
S22:利用整数化处理后的混沌信号Zi+1、Zi,对低位数值序列P2中的元素PL+1-i2按照如下公式进行逆向扩散加密,得到逆向扩散加密密文C2L+1-i,
其中,C2L+1为逆向扩散加密密钥,
S23.比较i与L的大小,若i=L,则停止,若i<L,则根据逆向扩散加密密文C2L+1-i、C2L+2-i和混沌信号Zi、Zi+1以及对应的高位数值序列元素加密密文C1i,对切比雪夫混沌系统的参数μ2按照如下公式进行调整,
然后转向步骤S21;
当迭代完成后(i=L),得到低位数值序列的逆向扩散加密密文C2={C21,C22,...,C2i,...,C2L};
(4)设定一个空字符序列C,将高位数值序列的正向扩散加密密文序列C1={C11,C12,...,C1i,...,C1L}和低位数值序列的逆向扩散加密密文序列C2={C21,C22,...,C2i,...,C2L}中各对应元素依次进行如下数值与字符的转换运算,
如果C1i=0,则
首先判断是否(C2i+161)=161,如果是,那么在字符序列C中添加1个中文字符'②',即C=[C,'②'],并设C2i=C2i+1;
然后利用native 2 unicode(·)函数将数值数据[C1i+161,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native 2 unicode([C1i+161,C2i+161])];
如果C1i=1,则利用native 2 unicode(·)函数将数值数据[C1i+162,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native 2 unicode([C1i+162,C2i+161])];
如果C1i>1,则
首先判断是否(C1i+174)=215且(C2i+161)>249,如果是,那么在字符序列C中添加1个中文字符'①',即C=[C,'①'],并设C1i=C1i-1;
然后利用native 2 unicode(·)函数将数值数据[C1i+174,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native 2 unicode([C1i+174,C2i+161])],
如图1所示,本发明还提供了一种中文字符串的解密方法,用于对上述的中文字符串的加密方法所获得的加密字符串进行解密,包括如下几个步骤:
对低位数值序列R2进行逆向扩散解密具体包括:
首先利用外部解密密钥令初值和参数对如公式所示的切比雪夫混沌系统进行迭代,k表示迭代次数(k=1,2,...,300),表示第k次迭代得到的混沌信号,得到混沌序列从混沌序列中抽取元素作为如公式所示的切比雪夫混沌系统的初值且令切比雪夫混沌系统的参数同时对混沌信号按照如公式所示进行整数化处理,得到混沌信号
然后转向步骤S31。
对高位数值序列R1进行正向扩散解密具体包括:
其中,R01为正向扩散解密密钥,
然后转向步骤S41;
首先判断是否D1i=215且D2i>249,如果存在,则令D1i=161;
然后利用native 2 unicode(·)函数将数值数据[D1i,D2i]转换为单个中文字符,并添加到字符序列PP中,即PP=[PP,native 2 unicode([D1i,D2i])],
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述具体实施方式中一种中文字符串的加密方法,步骤如下:
(1)将某段中文字符串“一种中文字符串的加密和解密方法,简单实用。”逐个字符转换成数值型数据,得到高位数值序列P1={210,214,214,206,215,183,180,181,188,195,186,189,195,183,183,163,188,181,202,211,161}和低位数值序列P2={187,214,208,196,214,251,174,196,211,220,205,226,220,189,168,172,242,165,181,195,163},其中数值序列P1、P2的长度与该段字符串的长度一致,记为L=21;
(2)首先利用外部加密密钥(α=0.12345、β=23.45),令初值x1=α和参数μ=β,根据上述具体实施方式中一种中文字符串的加密方法步骤(2)中公式xk+1=cos(μ·arccos(xk))所示的切比雪夫混沌系统进行迭代,得到混沌序列X,从混沌序列X中抽取元素x300=-0.925809812983847,作为如公式yk+1=cos(μ1·arccos(yk))所示的切比雪夫混沌系统的初值y1(y1=-0.925809812983847),且令切比雪夫混沌系统的参数μ1=β,同时根据上述具体实施方式中一种中文字符串的加密方法步骤(2)中公式Y1=mod(y1×1014,74)所示对混沌信号y1进行整数化处理,得到混沌信号Y1=69,
然后对高位数值序列P1={P11,P21,...,Pi1,....,P211}={210,214,214,206,215,183,180,181,188,195,186,189,195,183,183,163,188,181,202,211,161}中每个元素Pi1,依次进行上述具体实施方式中一种中文字符串的加密方法步骤(2)中公式所示的切比雪夫混沌系统单次迭代、整数化处理、正向扩散加密和切比雪夫混沌系统参数μ1调整等操作,其中取正向扩散加密密钥C10=12,从而得到高位数值序列的正向扩散加密密文序列C1={62,36,71,42,8,19,73,62,8,43,4,16,60,40,8,7,42,7,8,71,36};
(3)首先从混沌序列X中抽取元素x301=-0.176980652493400,作为如公式zk+1=cos(μ2·arccos(zk))所示的切比雪夫混沌系统的初值z1(z1=-0.176980652493400),且令切比雪夫混沌系统的参数μ2=β=23.45,同时根据上述具体实施方式中一种中文字符串的加密方法步骤(3)中公式Z1=mod(z1×1014,94)所示对混沌信号z1进行整数化处理,得到混沌信号Z1=37,
然后对低位数值序列P2={P12,P22,...,Pi2,....,P212}={187,214,208,196,214,251,174,196,211,220,205,226,220,189,168,172,242,165,181,195,163}中每个元素Pi2,依次进行上述具体实施方式中一种中文字符串的加密方法步骤(3)中公式所示的切比雪夫混沌系统单次迭代、整数化处理、逆向扩散加密和切比雪夫混沌系统参数μ2调整等操作,其中取逆向扩散加密密钥C222=21,从而得到低位数值序列的逆向扩散加密密文序列C2={35,65,28,55,13,18,14,53,41,29,3,45,14,67,51,32,28,44,30,4,58};
(4)设定一个空字符序列C,将高位数值序列的正向扩散加密密文序列C1={62,36,71,42,8,19,73,62,8,43,4,16,60,40,8,7,42,7,8,71,36}和低位数值序列的逆向扩散加密密文序列C2={35,65,28,55,13,18,14,53,41,29,3,45,14,67,51,32,28,44,30,4,58}中各对应元素依次进行如上述具体实施方式中一种中文字符串的加密方法步骤(4)中所示数值与字符的转换运算,得到该段中文字符串的加密密文C=“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”
按照上述具体实施方式中一种中文字符串的解密方法,步骤如下:
(1)将某段待解密的中文字符串密文“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”逐个字符转换成数值型数据,得到高位数值序列R1={62,36,71,42,8,19,73,62,8,43,4,16,60,40,8,7,42,7,8,71,36}和低位数值序列R2={35,65,28,55,13,18,14,53,41,29,3,45,14,67,51,32,28,44,30,4,58};
(2)首先利用外部解密密钥令初值和参数根据上述具体实施方式中一种中文字符串的解密方法步骤(2)中公式所示的切比雪夫混沌系统进行迭代,得到混沌序列从混沌序列中抽取元素作为如公式所示的切比雪夫混沌系统的初值 且令切比雪夫混沌系统的参数同时根据上述具体实施方式中一种中文字符串的解密方法步骤(2)中公式所示对混沌信号进行整数化处理,得到混沌信号
然后对低位数值序列R2={35,65,28,55,13,18,14,53,41,29,3,45,14,67,51,32,28,44,30,4,58}中每个元素Ri2,其中i=1,2,3,...,21,依次进行上述具体实施方式中一种中文字符串的解密方法步骤(2)中公式所示的切比雪夫混沌系统单次迭代、整数化处理、逆向扩散解密和切比雪夫混沌系统参数调整等操作,其中取逆向扩散解密密钥R222=21,从而得到低位数值序列逆向扩散解密后的序列D2={187,214,208,196,214,251,174,196,211,220,205,226,220,189,168,172,242,165,181,195,163};
(3)首先从混沌序列中抽取元素作为如公式所示的切比雪夫混沌系统的初值 且令切比雪夫混沌系统的参数同时根据上述具体实施方式中一种中文字符串的解密方法步骤(3)中公式对混沌信号进行整数化处理,得到混沌信号
然后对高位数值序列R1={62,36,71,42,8,19,73,62,8,43,4,16,60,40,8,7,42,7,8,71,36}中每个元素Ri1,其中i=1,2,3,...,21,依次进行上述具体实施方式中一种中文字符串的解密方法步骤(3)中公式所示的切比雪夫混沌系统单次迭代、整数化处理、正向扩散解密和切比雪夫混沌系统参数调整等操作,其中取正向扩散解密密钥R01=12,从而得到高位数值序列正向扩散解密后的序列D1={210,214,214,206,215,183,180,181,188,195,186,189,195,183,183,163,188,181,202,211,161};
(4)将高位数值序列正向扩散解密后的序列D1={210,214,214,206,215,183,180,181,188,195,186,189,195,183,183,163,188,181,202,211,161}和低位数值序列逆向扩散解密后的序列D2={187,214,208,196,214,251,174,196,211,220,205,226,220,189,168,172,242,165,181,195,163}进行数值与字符的转换,得到中文字符序列PP,即为该段密文解密后恢复的中文字符串为“一种中文字符串的加密和解密方法,简单实用。”。
实施例2
按照上述一种中文字符串的加密方法,某段待加密中文字符串为“一种中文字符串的加密和解密方法,简单实用。”,其加密步骤与具体实施例1相似,仅加密密钥发生细微变化:α=0.12345000000001;或β=23.45000000000001;或C10=13;或C222=20,中文字符串加密结果如表1所示。由表1可知,加密密钥的细微变化会引起中文字符串加密密文发生很大的变化,由此可见本专利所提一种中文字符串的加密方法对加密密钥具有敏感性。
表1外部加密密钥发生微变时,中文字符串加密结果
实施例3
按上述一种中文字符串的加密方法,其加密步骤与具体实施例1相似,仅某段待加密中文字符串(“一种中文字符串的加密和解密方法,简单实用。”)发生细微变化:“二种中文字符串的加密和解密方法,简单实用。”;或“一种中文子符串的加密和解密方法,简单实用。”;或“一种中文字符串的加蜜和解密方法,简单实用。”;或“一种中文字符串的加密和解密方法、简单实用。”;或“一种中文字符串的加密和解密方法,简卑实用。”;或“一种中文字符串的加密和解密方法,简单实用!”;或“种一中文字符串的加密和解密方法,简单实用。”;或“一种中文字符串的加密和解密方法,简单实。用”,中文字符串加密结果如表2所示。由表2可见:待加密中文字符串平文信息的细微变化会引起加密密文的“面目全非”,由此可见本专利所提一种中文字符串加密方法对待加密中文字符串的平文信息具有敏感性。
表2待加密字符串发生微变时,字符串加密结果
由上述具体实施例2、3分析可知,本专利所提一种中文字符串加密方法所生成的中文字符串密文不仅与加密密钥密切相关,而且依赖于待加密中文字符串平文信息,因此本专利所提一种中文字符串加密方法可抵抗已知/选择明文攻击,具有很强的安全性。
实施例4
按照上述一种中文字符串的解密方法,某段待解密中文密文为“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”,一种中文字符串的解密步骤与具体实施例1相似,仅解密密钥发生细微变化:或或R01=13;或R222=20,中文字符串密文解密结果如表3所示。由表3可知,解密密钥的细微变化会引起密文解密结果发生很大的变化,恢复出的中文字符串将是无用信息,由此可见本专利所提一种中文字符串的解密方法对解密密钥具有敏感性。
表3外部解密密钥发生微变时,密文解密结果
实施例5
按照上述一种中文字符串的解密方法,其解密步骤与具体实施例1相似,仅某段待解密中文字符串密文(“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”)发生细微变化:“柱意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”;或“炷意踅刎幢脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”;或“炷意踅刎懂脸鳢溜妒倬菠疚戬咒对盗亟低犊酯役”;或“炷意踅刎懂脸鳢熘妒倬菠久戬咒对盗亟低犊酯役”;或“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟底犊酯役”;或“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯股”;或“意炷踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊酯役”;或“炷意踅刎懂脸鳢熘妒倬菠疚戬咒对盗亟低犊役酯”,中文字符串密文解密结果如表4所示。由表4可知,待解密中文字符串密文的细微变化会引起密文解密结果发生很大的变化,难以恢复出原始的中文字符串,由此可见本专利所提一种中文字符串解密方法可抵抗唯密文攻击。
表4待解密中文字符串密文发生微变时,密文解密结果
Claims (5)
1.一种中文字符串的加密方法,其特征在于,包括如下几个步骤:
(1)将某段中文字符串逐个字符转换为数值型数据,得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2},其中,所述高位数值序列P1和所述低位数值序列P2的长度均与所述中文字符串的长度一致,记为L;
(2)对高位数值序列P1进行正向扩散加密,得到高位数值序列P1的正向扩散加密密文序列C1={C11,C12,...,C1i,...,C1L};
所述对高位数值序列P1进行正向扩散加密包括:
利用外部加密密钥(α、β),令初值x1=α和参数μ=β,对如下公式(1)所示的切比雪夫混沌系统进行迭代,得到混沌序列X={x1,x2,...,x300,x301},
xk+1=cos(μ·arccos(xk)) (1)
其中,k表示迭代次数,k=1,2,...,300,xk+1表示第k次迭代得到的混沌信号;
从混沌序列X中抽取元素x300,作为如公式(2)所示的切比雪夫混沌系统的初值y1,且令切比雪夫混沌系统的参数μ1=β,同时对混沌信号y1按照如下公式(3)进行整数化处理,得到整数化处理后的混沌信号Y1,
yk+1=cos(μ1·arccos(yk)) (2)
Y1=mod(y1×1014,74) (3)
对高位数值序列P1={P11,P21,...,Pi1,....,PL1}中每个元素Pi1,其中i=1,2,3,...,L,依次进行如下操作:
S11.由混沌信号yi和参数μ1,对如公式(2)所示切比雪夫混沌系统进行单次迭代,得到混沌信号yi+1,同时对混沌信号yi+1按照如公式(3’)进行整数化处理,得到整数化处理后的混沌信号Yi+1,
Yi+1=mod(yi+1×1014,74) (3’)
S12.利用整数化处理后的混沌信号Yi+1、Yi以及对应的低位数值序列元素Pi2,对高位数值序列元素Pi1按照如下公式(4)进行正向扩散加密,得到正向扩散加密密文C1i,
其中,C10设为正向扩散加密密钥;
S13.比较i与L的大小,若i=L,则停止操作,若i<L,则根据正向扩散加密密文C1i、C1i-1和混沌信号Yi、Yi+1以及对应的低位数值序列元素Pi2,对公式(2)所示的切比雪夫混沌系统中的参数μ1按照如下公式(5)进行调整,
然后转向步骤S11;
(3)对低位数值序列P2进行逆向扩散加密,得到低位数值序列P2的逆向扩散加密密文序列C2={C21,C22,...,C2i,...,C2L}:
所述对低位数值序列P2进行逆向扩散加密包括:
从混沌序列X中抽取元素x301,作为如公式(6)所示的切比雪夫混沌系统的初值z1,且令公式(6)所示的切比雪夫混沌系统的参数μ2=β,同时对混沌信号z1按照如下公式(7)进行整数化处理,得到整数化处理后的混沌信号Z1,
zk+1=cos(μ2·arccos(zk)) (6)
Z1=mod(z1×1014,94) (7)
对低位数值序列P2={P12,P22,...,Pi2,....,PL2}中每个元素Pi2,其中i=1,2,3,...,L,依次进行如下操作:
S21.由混沌信号zi和参数μ2,对如公式(6)所示切比雪夫混沌系统进行单次迭代,得到混沌信号zi+1,同时对混沌信号zi+1按照如公式(7’)进行整数化处理,得到整数化处理后的混沌信号Zi+1,
Zi+1=mod(zi+1×1014,94) (7’)
S22.利用整数化处理后的混沌信号Zi+1、Zi,对低位数值序列P2中的元素PL+1-i2按照如下公式(8)进行逆向扩散加密,得到逆向扩散加密密文C2L+1-i,
其中,C2L+1为逆向扩散加密密钥,
S23.比较i与L的大小,若i=L,则停止操作,若i<L,则根据逆向扩散加密密文C2L+1-i、C2L+2-i和混沌信号Zi、Zi+1以及对应的高位数值序列元素加密密文C1i,对切比雪夫混沌系统的参数μ2按照如下公式(9)进行调整,
然后转向步骤S21;
(4)将高位数值序列P1的正向扩散加密密文序列C1和低位数值序列P2的逆向扩散加密密文序列C2,进行数值与字符的转换,得到字符序列C,具体为:
设定一个空字符序列C,将高位数值序列P1的正向扩散加密密文序列C1={C11,C12,...,C1i,...,C1L}和低位数值序列P2的逆向扩散加密密文序列C2={C21,C22,...,C2i,...,C2L}中各对应元素依次进行如下运算,
如果C1i=0,则
首先判断是否(C2i+161)=161,如果是,那么在字符序列C中添加1个中文字符'②',即C=[C,'②'],并设C2i=C2i+1,
然后利用native2unicode(·)函数将数值数据[C1i+161,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native2unicode([C1i+161,C2i+161])];
如果C1i=1,则利用native2unicode(·)函数将数值数据[C1i+162,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native2unicode([C1i+162,C2i+161])];
如果C1i>1,则
首先判断是否(C1i+174)=215且(C2i+161)>249,如果是,那么在字符序列C中添加1个中文字符'①',即C=[C,'①'],并设C1i=C1i-1,
然后利用native2unicode(·)函数将数值数据[C1i+174,C2i+161]转换为单个中文字符,并添加到字符序列C中,即C=[C,native2unicode([C1i+174,C2i+161])],
2.根据权利要求1所述的一种中文字符串的加密方法,其特征在于:步骤(1)所述的将某段中文字符串逐个字符转换为数值型数据,其中某段中文字符串包括GB2312字符集中的中文标点符号以及GB2312字符集中双字节编码汉字;逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[区数值数据,位数值数据]形式,记为[Pi1,Pi2],相应的数据组合得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2}。
3.一种中文字符串的解密方法,用于对根据权利要求1或2所述的中文字符串的加密方法所获得的加密字符串进行解密,其特征在于,所述中文字符串的解密方法包括如下几个步骤:
(2)对低位数值序列R2进行逆向扩散解密,得到低位数值序列R2逆向扩散解密后的序列D2={D21,D22,...,D2i,...,D2L};
所述对低位数值序列R2进行逆向扩散解密包括:
然后转向步骤S31;
(3)对高位数值序列R1进行正向扩散解密,得到高位数值序列R1正向扩散解密后的序列D1={D11,D12,...,D1i,...,D1L};
所述对高位数值序列R1进行正向扩散解密包括:
其中,R01为正向扩散解密密钥,
S43.比较i与L的大小,若i=L,则停止,若i<L,则根据高位数值序列元素Ri1、Ri-11和混沌信号以及对应的低位数值序列元素的解密数据D2i,对切比雪夫混沌系统的参数按照如下公式(18)进行调整,
然后转向步骤S41;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494401.XA CN110278066B (zh) | 2019-06-10 | 2019-06-10 | 一种中文字符串的加密、解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494401.XA CN110278066B (zh) | 2019-06-10 | 2019-06-10 | 一种中文字符串的加密、解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110278066A CN110278066A (zh) | 2019-09-24 |
CN110278066B true CN110278066B (zh) | 2022-02-25 |
Family
ID=67961999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910494401.XA Active CN110278066B (zh) | 2019-06-10 | 2019-06-10 | 一种中文字符串的加密、解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110278066B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116781244B (zh) * | 2023-08-21 | 2023-10-27 | 徐州医科大学 | 基于余弦混沌的mnss平台的数据私密及管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1179912A1 (en) * | 2000-08-09 | 2002-02-13 | STMicroelectronics S.r.l. | Chaotic encryption |
CN103532701A (zh) * | 2013-10-16 | 2014-01-22 | 南通纺织职业技术学院 | 一种数值型数据的加密、解密方法 |
CN104486073A (zh) * | 2014-12-23 | 2015-04-01 | 南通大学 | 一种字符型数据的加密、解密方法 |
CN109472338A (zh) * | 2018-11-19 | 2019-03-15 | 南通大学 | 一种商品防伪二维码的批量生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001326631A (ja) * | 2000-05-17 | 2001-11-22 | Yazaki Corp | カオス暗号通信方法、及びカオス暗号通信システム |
-
2019
- 2019-06-10 CN CN201910494401.XA patent/CN110278066B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1179912A1 (en) * | 2000-08-09 | 2002-02-13 | STMicroelectronics S.r.l. | Chaotic encryption |
CN103532701A (zh) * | 2013-10-16 | 2014-01-22 | 南通纺织职业技术学院 | 一种数值型数据的加密、解密方法 |
CN104486073A (zh) * | 2014-12-23 | 2015-04-01 | 南通大学 | 一种字符型数据的加密、解密方法 |
CN109472338A (zh) * | 2018-11-19 | 2019-03-15 | 南通大学 | 一种商品防伪二维码的批量生成方法 |
Non-Patent Citations (1)
Title |
---|
混沌加密算法的研究与实现;刘成斌;《中国优秀硕士学位论文全文数据库》;20100331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110278066A (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995504B (zh) | 一种字符串的加密和解密方法 | |
CN110299989B (zh) | 一种中英文字符串的加密、解密方法 | |
CN109981245B (zh) | 一种字符串的加密、解密方法 | |
CN110011783B (zh) | 一种汉字的加密、解密方法 | |
CN110650005B (zh) | 一种中英文字符串加密方法 | |
Purnama | An Analysis of Encryption and Decryption Application by using One Time Pad Algorithm | |
CN108768617A (zh) | 一种基于传统分组密码的保持格式加密方法 | |
Geetha et al. | Tamilian cryptography: an efficient hybrid symmetric key encryption algorithm | |
CN109981246B (zh) | 一种字符串的加密方法和解密方法 | |
CN110768797A (zh) | 一种基于身份格式保留加密的数据脱敏方法 | |
Sari et al. | Cryptography Triple Data Encryption Standard (3DES) for Digital Image Security | |
CN110278066B (zh) | 一种中文字符串的加密、解密方法 | |
CN110287713B (zh) | 一种中文字符串的加密方法和解密方法 | |
Kulkarni et al. | A robust encryption method for speech data hiding in digital images for optimized security | |
CN114741712A (zh) | 一种基于分层置乱的汉字加密方法 | |
CN114745096A (zh) | 一种基于分层双向扩散的字符串加密方法 | |
Sivakumar et al. | Generation of random key stream using word grid puzzle for the applications of cryptography | |
CN110650006B (zh) | 一种中英文字符串的加密和解密方法 | |
CN114553393A (zh) | 一种基于分层移位的汉字加密方法 | |
CN114707165A (zh) | 一种基于分层置乱的字符串加密方法 | |
CN109495430A (zh) | 一种基于泄序加密的解密算法 | |
Chandran et al. | VLSI Implementaion of Image Encryption and Decryption Using Reversible Logic Gates | |
Siahaan et al. | Application of Data Encryption Standard and Lempel-Ziv-Welch Algorithm for File Security | |
Sathiaraj et al. | Secure Transfer of Image-Acquired Text Using a Combination of Cryptography and Steganography | |
CN110287712B (zh) | 一种中英文字符串的加密方法 |
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 |