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

摘要:

权利要求书:

1.一种字符串的加密方法,其特征在于,包括如下几个步骤:(1)字符串的置乱:

首先利用外部加密密钥(α、β),令初值x1=α和参数μ=β,对如下公式(1)所示的倾斜帐篷混沌系统进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号,得到混沌序列X,然后按照如下所示公式(2)分别计算得到混沌系统的初始迭代步数(m1)和抽取间隔(n1),从混沌序列X中第m1个元素开始每隔n1个元素取1个,从而形成长度为L的混沌序列Y,最后将混沌序列Y按升序排序,根据序列Y排序前、后的位置变化置乱规则,对某段待加密字符串进行置乱,得到置乱后的字符序列 其中字符串长度记为L;

(2)转码:将置乱后的字符序列逐个字符转换为数值型数据,得到高位数值序列和低位数值序列 其中数值序列的长度与该字符序列的长度一致;

(3)低位数值序列的双向扩散加密:

首先,进行低位数值序列的正向扩散加密

利用外部加密密钥(α、β),按照如下所示公式(3)计算得到混沌系统的初始迭代步数m2,从混沌序列X中抽取第m2个元素,作为倾斜帐篷混沌系统的初值 同时得到倾斜帐篷混沌系统的参数(μ1),即μ1=β,对低位数值序列 中每个元素 其中i=1,2,3,...,L,依次进行如下操作:

①由初值 和参数μ1,对如公式(1)所示倾斜帐篷混沌系统进行单次迭代,得到混沌信号 同时对混沌信号 按照如下公式(4)进行整数化处理,得到混沌信号Y1i,②利用混沌信号Y1i对数据 按照如下公式(5)进行正向扩散加密,得到正向扩散加密密文C1i,其中,Y10和C10为正向扩散加密密钥,

③根据正向扩散加密密文C1i,以及C1i-1和Y1i-1,对倾斜帐篷混沌系统的参数μ1按照如下公式(6)进行调整,从而得到正向扩散加密后的低位数值序列C1={C11,C12,...,C1i,...,C1L};

然后,进行低位数值序列的逆向扩散加密

利用外部加密密钥(α、β),按照如下所示公式(7)计算得到混沌系统的初始迭代步数m3,从混沌序列X中抽取第m3个元素,作为倾斜帐篷混沌系统的初值 同时得到倾斜帐篷混沌系统的参数(μ2),即μ2=β,对正向扩散加密后的低位数值序列C1={C11,C12,...,C1i,...,C1L}中每个元素C1i,其中i=1,2,3,...,L,依次进行如下操作:①由初值 和参数μ2,对如公式(1)所示倾斜帐篷混沌系统进行单次迭代,得到混沌信号 同时对混沌信号 按照如下公式(8)进行整数化处理,得到混沌信号Y2i,②利用混沌信号Y2i对数据C1i按照如下公式(9)进行逆向扩散加密,得到双向扩散加密密文C2i,其中,Y20和C20为逆向扩散加密密钥,

③根据双向扩散加密密文C2i,以及C2i-1和Y2i-1,对倾斜帐篷混沌系统的参数μ2按照如下公式(10)进行调整,从而得到双向扩散加密后的低位数值序列C2={C21,C22,...,C2i,...,C2L};

(4)转码:将高位数值序列 和双向扩散加密后的低位数值序列C2,进行数值与字符的转换,得到字符序列C,即为该段字符串的加密密文,其中序列C的长度为 且

2.根据权利要求1所述的一种字符串的加密方法,其特征在于:步骤(2)中所述的将置乱后的字符序列逐个字符转换为数值型数据,其中字符序列包括,除空格以外的可显示ASCII码字符,以及GB2312字符集中双字节编码的6763个汉字;其中逐个字符转换为数值型数据,是指采用unicode2native(·)函数,将单个汉字转换为区位码数值数据,表示为[区数值数据,位数值数据],或将可显示ASCII码字符转换为ASCII码数值数据,表示为[0,ASCII码数值数据],都可以用数据 表示,相应的数据组合得到高位数值序列和低位数值序列

3.根据权利要求1所述的一种字符串的加密方法,其特征在于:步骤(4)中所述的将高位数值序列 和双向扩散加密后的低位数值序列C2,进行数值与字符的转换,其转换关系表述如下:设定一个空字符串C,将高位数值序列 和双向扩散加密后的低位数值序列C2={C21,C22,...,C2i,...,C2L}中各对应元素依次进行如下运算,如果首先进行判断,如果 且(C2i+161)≥250,那么在字符序列C中添加1个空格,即C=[C,”],并设然后利用native2unicode(·)函数将数值数据 转换为单个汉字,并添加到字符序列C中,即

如果

直接利用char(·)函数将数值数据(C2i+33)转换为单个ASCII码字符,并添加到字符序列C中,即C=[C,char(C2i+33)]。

4.一种字符串的解密方法,其特征在于,包括如下几个步骤:(1)转码:将某段待解密字符串密文 逐个字符转换成数值型数据,得到高位数值序列和低位数值序列 其中数值序列R1、R2的长度为 某段待解密字符串密文 的长度为(2)低位数值序列的双向扩散解密:

首先,进行低位数值序列的逆向扩散解密

利用外部解密密钥 令初值 和参数 对公式(11)所示的倾斜帐篷混沌系统进行迭代,k表示迭代次数(k=1,2,...), 表示第k次迭代得到的混沌信号,得到混沌序列按照如下所示公式(12)计算得到混沌系统的初始迭代步数 从混沌序列 中抽取第个混沌信号,作为倾斜帐篷混沌系统的初值 同时得到倾斜帐篷混沌系统的参数即对低位数值序列 中每个元素Ri2,其中 依次进

行如下操作:

①由初值 和参数 对如公式(11)所示倾斜帐篷混沌系统进行单次迭代,得到混沌信号 同时对混沌信号 按照如下公式(13)进行整数化处理,得到混沌信号②利用混沌信号 对数据Ri2按照如下公式(14)进行逆向扩散解密,得到逆向扩散解密数据其中, 和R0′2为逆向扩散解密密钥,

③根据低位数值序列中元素Ri2、Ri-1 2对应的数值R′i2、R′i-1 2,以及 对倾斜帐篷混沌系统的参数 按照如下公式(15)进行调整,从而得到逆向扩散解密后的低位数值序列

然后,进行低位数值序列的正向扩散解密

利用外部解密密钥 按照如下所示公式(16)计算得到混沌系统的初始迭代步数从混沌序列 中抽取第 个元素,作为倾斜帐篷混沌系统的初值 同时得到倾斜帐篷混沌系统的参数 即对逆向扩散解密后的低位数值序列 中每个元素D1i,其中依次进行如下操作:

①由初值 和参数 对如公式(11)所示倾斜帐篷混沌系统进行单次迭代,得到混沌信号 同时对混沌信号 按照如下公式(17)进行整数化处理,得到混沌信号②利用混沌信号 对数据D1i按照如下公式(18)进行正向扩散解密,得到双向扩散解密数据D2i,其中, 和D10为正向扩散解密密钥,

③根据正向扩散解密数据D1i,以及D1i-1和 对倾斜帐篷混沌系统的参数 按照如下公式(19)进行调整,从而得到双向扩散解密后的低位数值序列

(3)转码:将高位数值序列R1和双向扩散解密后的低位数值序列D2,进行数值与字符的转换,得到字符序列PP,其中字符序列PP的长度为(4)字符串的反置乱:

首先利用外部解密密钥 按照如下所示公式(20)分别计算得到混沌系统的初始迭代步数 和抽取间隔然后从混沌序列 中第 个元素开始每隔 个元素取1个,从而形成长度为 的混沌序列最后将混沌序列 按升序排序,根据序列 排序前、后的位置变化置乱规则,对字符串PP中每个字符进行反置乱,得到反置乱后的字符序列 即为该段待解密字符串解密后恢复的字符串。

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

述如下:

首先将某段待解密字符串密文 中逐个字符转换为数值数据,即采用unicode2native(·)函数,将单个汉字转换为区位码数值数据,表示为[区数值数据,位数值数据],或将可显示ASCII码字符转换为ASCII码数值数据,表示为[0,ASCII码数值数据],都可用数据[Ri1,Ri2]表示;

然后将各个数值型数据[Ri1,Ri2]对应组合 得到高位数值序列和低位数值序列

接着检查低位数值序列R2中是否有Ri2=32的元素,如果是,则将对应高位数值序列R1中后一元素Ri+1 1数值加1,并删除该数值为32的元素Ri2和其对应高位数值序列R1中的元素Ri1;

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

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

如果Ri1>128,则

如果Ri1=215且D2i≥250,那么在字符序列PP中添加1个空格,即PP=[PP,”];

否则利用native2unicode(·)函数将数值数据[Ri1,D2i]转换为单个汉字,并添加到字符序列PP中,即PP=[PP,native2unicode([Ri1,D2i])];

如果Ri1<128,则

直接利用char(·)函数将数值数据(D2i)转换为单个ASCII码字符,并添加到字符序列PP中,即PP=[PP,char(D2i)]。