【技术实现步骤摘要】
一种中英文字符串的加密和解密方法
本专利技术涉及信息安全
,特别涉及一种中英文字符串的加密和解密方法。
技术介绍
随着现代通信技术的飞速发展,计算机网络已成为众多领域进行信息交换的手段。由于计算机网络是一个开放式网络,信息交换时往往面临信息被窃取、篡改和伪造等安全问题,此时信息加密技术的研究与应用势在必行。目前大多数主流信息加密解密技术都只能应用于如字母、数字、英文标点符号等单字节字符构成的信息,而可用于汉字、中文标点符号等双字节字符所构成的信息加密算法却很少。现有的中文字符加密算法,主要包括根据汉字区位码,进行的简单取反、区位码位置交换、异或,以及DES或RAS混合加密,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加密算法。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的中英文字符串的加密和解密方法,显得尤为重要。
技术实现思路
本专利技术的目的在于提供一种中英文字符串的加密和解密方法,利用混沌信号的密码特性,对中英文字符串转换而成的二进制位序列进行分组,并对分组后的二进制位序列进行双向移位操作,进而再进行分组并转换为数值型数据,以及数值与字符的转换以生成密文,从而保证了中英文字符串加密与解密的安全性和可行性。本专利技术提供了一种中英文字符串的加密方法,包括如下几个步骤:(1)转码:将某段中英文字符串逐个字符转换为数值型数据,得到数值序列P={P1,P2,... ...
【技术保护点】
1.一种中英文字符串的加密方法,其特征在于,包括如下几个步骤:/n(1)转码:将某段中英文字符串逐个字符转换为数值型数据,得到数值序列P={P
【技术特征摘要】
1.一种中英文字符串的加密方法,其特征在于,包括如下几个步骤:
(1)转码:将某段中英文字符串逐个字符转换为数值型数据,得到数值序列P={P1,P2,...,Pi,....,Pm},再将数值序列P逐个元素转换成8bits的二进制数据,得到二进制位序列B={B1,B2,...,Bi,....,B8×m},其中该段中英文字符串的长度为L,数值序列P的长度为m,二进制位序列B的长度为8×m,且L≤m≤2×L;
(2)混沌序列产生:
首先利用外部加密密钥(α、β),按照如下公式(1)计算分别得到倾斜帐篷混沌映射的初值x1、参数μ和取样间隔M,
其中,PB_1为二进制位序列B中元素为二进制‘1’的总个数,PB_0为二进制位序列B中元素为二进制‘0’的总个数,
然后利用初值x1和参数μ,对如下公式(2)所示的倾斜帐篷混沌映射进行迭代,k表示迭代次数,k=1,2,...,xk+1表示第k次迭代得到的混沌信号,
得到混沌序列X={x1,x2,...},从中每隔M个元素取1个,从而形成长度为8×m的混沌序列Y={Y1,Y2,...,Y8×m};
(3)二进制位序列B的正向移位:
首先将二进制位序列B中元素从头到尾依次正向以8个元素为单位进行分组,得到分组后的二进制位序列,表示为BF{1},BF{2},...,BF{i},...BF{m},
然后令dircshift1=0、numshift1=0,将每一个二进制位分组序列BF{i},其中i=1,2,3,...,m,依次进行如下操作:
①利用混沌信号Yi,按照如下公式(3)计算分别得到移位方向direction_shift1、移位个数k_shift1,
其中,
②当direction_shift1=0时,将二进制位分组序列BF{i}中元素循环左移k_shift1位,得到正向移位后的二进制位分组序列BF1{i},
当direction_shift1=1时,将二进制位分组序列BF{i}中元素循环右移k_shift1位,得到正向移位后的二进制位分组序列BF1{i},
③利用正向移位后的二进制位分组序列BF1{i},对dircshift1和numshift1按照如下公式(4)进行计算,
最后将二进制位分组序列BF1{i}进行组合,得到正向移位后的二进制位序列
(4)二进制位序列的逆向移位:
首先将二进制位序列中元素从尾到头依次逆向以8个元素为单位进行分组,得到逆向分组后的二进制位序列,表示为BF2{1},BF2{2},...,BF2{i},...BF2{m},
然后令dircshift2=0、numshift2=0,将每一个二进制位分组序列BF2{i},其中i=1,2,3,...,m,依次进行如下操作,
①利用混沌信号Yi,按照如下公式(5)计算分别得到移位方向direction_shift2、移位个数k_shift2,
其中,
②当direction_shift2=0时,将二进制位分组序列BF2{i}中元素循环左移k_shift2位,得到逆向移位后的二进制位分组序列BF3{i},
当direction_shift2=1时,将二进制位分组序列BF2{i}中元素循环右移k_shift2位,得到逆向移位后的二进制位分组序列BF3{i},
③利用逆向移位后的二进制位分组序列BF3{i},对dircshift2和numshift2按照如下公式(6)进行计算,
最后将二进制位分组序列BF3{i}进行组合,得到双向移位后的二进制位序列
(5)转码:首先将二进制位序列中元素从头到尾依次正向以6个元素为单位进行分组,如剩多余元素则末尾补二进制‘0’直至补满6个一组为止;然后将分组后的二进制位序列,分别转换为数值型数据,即进行bin2dec(·)操作,得到数值序列再将数值序列DBF进行数值与字符的转换,得到字符序列C,即为该段中英文字符串的加密密文,其中数值序列DBF的长度为字符序列C的长度为且
2.根据权利要求1所述的一种中英文字符串的加密方法,其特征在于:步骤(1)中所述的将某段中英文字符串逐个字符转换为数值型数据,其中某段中英文字符串包括,GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的6763个汉字,以及可显示ASCII码字符;逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[区数值数据,位数值数据],或将可显示ASCII码字符转换为ASCII码数值数据,表示为[ASCII码数值数据],从而得到数值序列P={P1,P2,...,Pi,....,Pm};将数值序列P逐个元素转换成8bits的二进制数据,是指采用dec2bin(·,8)函数,用二进制数据[B8l-7,B8l-6,B8l-5,B8l-4,B8l-3,B8l-2,B8l-1,B8l]表示,l=1,2,...,m,从而得到二进制位序列B={B1,B2,...,Bi,....,B8×m}。
3.根据权利要求1所述的一种中英文字符串的加密方法,其特征在于:步骤(5)中所述的将数值序列DBF进行数值与字符的转换,其转换关系表述如下:
首先设定一个空字符序列C,将数值序列中两个元素为一组[DBF2t-1,DBF2t],其中依次利用native2unicode(·)函数将数值型数据[DBF2t-1+180,DBF2t+170]转换为单个中文字符,并添加到字符序列C中,即C=[C,native2unicode([DBF2t-1+180,DBF2t+170])];
然后判定是否为奇数,如果为奇数,则利用char(·)函数将数值型数据转换为单个英文字符,并添加到字符序列C中,即
4.一种中英文字符串的解密方法,其特征在于,包括如下几个步骤:
(1)转码:首先将某段待解密的中英文字符串密文逐个字符转换成数值型数据,得到数值序列然后将数值序列R逐个元素转换成6bits的二进制数据,得到二进制位序列再将二进制位序列RB中元素从头到尾依次正向以8个元素为单位进行分组,得到分组后的二进制位序列,表示为RBF{1},RBF{2},...,...
【专利技术属性】
技术研发人员:盛苏英,张小美,吴新华,陆国平,张振娟,朱建红,周磊,任洁,
申请(专利权)人:南通大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。