欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 201910494401X
申请人: 南通大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-07-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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即为步骤(1)中所述中文字符串的加密密文,其中所述字符序列C的长度为 且

2.根据权利要求1所述的一种中文字符串的加密方法,其特征在于:步骤(1)所述的将某段中文字符串逐个字符转换为数值型数据,其中某段中文字符串包括GB2312字符集中的中文标点符号以及GB2312字符集中双字节编码汉字;逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[区数值数据,位数值数据]形式,记为[Pi1,Pi2],相应的数据组合得到高位数值序列P1={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P12,P22,...,Pi2,....,PL2}。

3.根据权利要求1所述的一种中文字符串的加密方法,其特征在于:步骤(4)中所述的将高位数值序列P1的正向扩散加密密文序列C1和低位数值序列P2的逆向扩散加密密文序列C2,进行数值与字符的转换,其转换关系表述如下:设定一个空字符序列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])]。

4.一种中文字符串的解密方法,用于对根据权利要求1至3中任一项所述的中文字符串的加密方法所获得的加密字符串进行解密,其特征在于,所述中文字符串的解密方法包括如下几个步骤:(1)将某段待解密中文字符串密文序列 逐个字符转换成数值型数据,得到高位数值序列 和低位数值序列 其中所述高位数值序列R1、低位数值序列R2的长度为 所述待解密中文字符串密文序列 的长度为(2)对低位数值序列R2进行逆向扩散解密,得到低位数值序列R2逆向扩散解密后的序列所述对低位数值序列R2进行逆向扩散解密包括:

首先利用外部解密密钥 令初值 和参数 对如下公式(10)所示的

切比雪夫混沌系统进行迭代,得到混沌序列

其中,k表示迭代次数(k=1,2,...,300), 表示第k次迭代得到的混沌信号,从混沌序列 中抽取元素 作为如公式(11)所示的切比雪夫混沌系统的初值 且令公式(11)所示的切比雪夫混沌系统的参数 同时对混沌信号 按照如下公式(12)进行整数化处理,得到整数化处理后的混沌信号对低位数值序列 中每个元素Ri2,其中 依次进行

如下操作:

S31.由混沌信号 和参数 对如公式(11)所示切比雪夫混沌系统进行单次迭代,得到混沌信号 同时对混沌信号 按照如公式(12’)进行整数化处理,得到整数化处理后的混沌信号S32.利用整数化处理后的混沌信号 对低位数值序列R2中的元素 按照如下公式(13)进行逆向扩散解密,得到逆向扩散解密后数据

其中, 为逆向扩散解密密钥,

S33.比较i与L的大小,若i=L,则停止,若i<L,则根据低位数值序列元素和混沌信号 以及对应的高位数值序列元素Ri1,对切比雪夫混沌系统的参数 按照如下公式(14)进行调整,

然后转向步骤S31;

(3)对高位数值序列R1进行正向扩散解密,得到高位数值序列R1正向扩散解密后的序列所述对高位数值序列R1进行正向扩散解密包括:

从混沌序列 中抽取元素 作为如公式(15)所示的切比雪夫混沌系统的初值 且令公式(15)所示的切比雪夫混沌系统的参数 同时对混沌信号 按照如下公式(16)进行整数化处理,得到整数化处理后的混沌信号对高位数值序列 中每个元素Ri1,其中 依次进行

如下操作:

S41.由混沌信号 和参数 对如公式(15)所示切比雪夫混沌系统进行单次迭代,得到混沌信号 同时对混沌信号 按照如公式(16’)进行整数化处理,得到整数化处理后的混沌信号S42.利用整数化处理后的混沌信号 以及对应的低位数值序列元素的解密数据D2i,对数据Ri1按照如下公式(17)进行正向扩散解密,得到正向扩散解密后数据D1i,其中,R01为正向扩散解密密钥,S43.比较i与L的大小,若i=L,则停止,若i<L,则根据高位数值序列元素Ri1、Ri-11和混沌信号 以及对应的低位数值序列元素的解密数据D2i,对切比雪夫混沌系统的参数按照如下公式(18)进行调整,然后转向步骤S41;

(4)将高位数值序列R1正向扩散解密后的序列D1和低位数值序列R2逆向扩散解密后的序列D2,进行数值与字符的转换,得到字符序列PP,即为该段待解密中文字符串解密后恢复的中文字符串,其中所述字符序列PP的长度为

5.根据权利要求4所述的一种中文字符串的解密方法,其特征在于:步骤(1)中所述的将某段待解密中文字符串密文序列 逐个字符转换成数值型数据,得到高位数值序列和低位数值序列 其转换关系表述如下:

首先将某段待解密中文字符串密文序列 中逐个字符转换为数值数据,即采用unicode2native(·)函数,将单个中文字符转换为区位码数值数据,表示为[区数值数据,位数值数据],记为然后将数值型数据 对应组合 得到高位数值序列

和低位数值序列

接着逐个检查高位数值序列 中是否存在有 的元素并且低位数值序列 中是否存在有 的元素,如果存在,则将高位数值序列 中后一元素 数值加1,并删除高位数值序列 中 的元素以及其对应的低位数值序列 中 的元素;

同时逐个检查高位数值序列 中是否存在有 的元素并且低位数值序列 中是否存在有 的元素,如果存在,则将低位数值序列 中后一元素 数值减1,并删除高位数值序列 中 的元素以及其对应的低位数值序列 中 的元素;

再将高位数值序列 中各元素 逐个进行如下运算,

同时将低位数值序列 中各元素 逐个进行如下运算,

最后得到高位数值序列 和低位数值序列

6.根据权利要求4所述的一种中文字符串的解密方法,其特征在于:步骤(4)中所述的将高位数值序列R1正向扩散解密后的序列D1和低位数值序列R2逆向扩散解密后的序列D2,进行数值与字符的转换,其转换关系表述如下:设定一个空字符序列PP,将序列 和序列

中对应元素依次进行如下运算,

首先判断是否D1i=215且D2i>249,如果存在,则令D1i=161;

然后利用native2unicode(·)函数将数值数据[D1i,D2i]转换为单个中文字符,并添加到字符序列PP中,即PP=[PP,native2unicode([D1i,D2i])]。