当前位置: 首页 > 专利查询>南通大学专利>正文

一种基于分层双向扩散的字符串解密方法技术

技术编号:34106788 阅读:33 留言:0更新日期:2022-07-12 00:36
本发明专利技术属于信息解密技术领域,公开了一种基于分层双向扩散的字符串解密方法,步骤如下:将某段待解密的字符串密文进行数值型数据、交替抽取以及8bits二进制转换,得到二进制矩阵BB;利用混沌映射产生的混沌信号,对按行分层后的二进制分层序列逐个分组分别进行逆向、正向扩散,并根据待逆向与待正向扩散的数据分别实时更新逆向、正向采样步数,以及逆向、正向扩散值,得到双向扩散后的二进制分层序列;最后逐行填入二进制矩阵,并按列进行数值型数据转换,以及数值与字符的转换,从而得到字符序列A,即为该段待解密字符串解密后恢复的平文。本发明专利技术的字符串解密方法简单可行,可抵抗选择密文攻击,具有很强的安全性。具有很强的安全性。具有很强的安全性。

【技术实现步骤摘要】
一种基于分层双向扩散的字符串解密方法


[0001]本专利技术涉及信息解密
,特别涉及一种基于分层双向扩散的字符串解密方法。

技术介绍

[0002]随着社会的发展,信息资源逐渐成为人们生活的重要组成部分,信息安全也随之成为人们研究的热门课题,同时随着网络通讯技术的发展,对于数据特别是字符通讯的安全性、便捷性需求逐渐增加。在现有技术中,主要对数据进行简单取反、位置交换、异或,以及DES或RAS混合加密,加解密性能有待提高。现有的中文字符加密算法,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加解密算法。同时由于混沌系统和密码学之间存在着一些自然联系,混沌系统作为一种天然的密码系统,被引入到密码学领域。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的基于分层双向扩散的字符串解密方法,显得尤为重要。

技术实现思路

[0003]专利技术目的:本专利技术的目的是为了解决现有技术中的不足,提供一种基于分层双向扩散的字符串解密方法,利用混沌映射产生的混沌信号,将某段待解密的字符串密文进行数值型数据、交替抽取、8bits二进制转换以及按行分层,对二进制分层序列逐个分组分别进行逆向扩散以及正向扩散,并根据待逆向与待正向扩散的数据分别实时更新逆向、正向采样步数,以及逆向、正向扩散值,得到双向扩散后的二进制分层序列,再逐行填入二进制矩阵,并按列进行数值型数据转换,以及数值与字符的转换,从而得到该段待解密字符串解密后恢复的平文。本专利技术的一种基于分层双向扩散的字符串解密方法简单可行,可抵抗选择密文攻击,具有很强的安全性。
[0004]技术方案:一种基于分层双向扩散的字符串解密方法,包括如下几个步骤:
[0005](1)转码
[0006]将某段待解密的字符串密文C逐个字符转换成数值型数据,得到数值序列并将数值序列R中元素交替抽取组成两个数值序列R1和R2,即数值序列序列和数值序列
[0007]然后利用函数dec2bin(
·
,8),将数值序列R1中元素R1
i
逐个转换成8bits的二进制序列RB1{i}={RB1
i1
,RB1
i2
,RB1
i3
,RB1
i4
,RB1
i5
,RB1
i6
,RB1
i7
,RB1
i8
},将数值序列R2中元素R2
i
逐个转换成8bits的二进制序列RB2{i}={RB2
i1
,RB2
i2
,RB2
i3
,RB2
i4
,RB2
i5
,RB2
i6
,RB2
i7
,RB2
i8
},同时取二进制序列RB1{i}的第3位至第5位以及二进制序列RB2{i}的第3位至第7位,组成新序列{RB1
i3
,RB1
i4
,RB1
i5
,RB2
i3
,RB2
i4
,RB2
i5
,RB2
i6
,RB2
i7
},并填入二进制矩阵BB的第
i列,其中得到二进制矩阵BB,
[0008][0009]其中,某段待解密的字符串密文包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待解密的字符串密文的长度表示为数值序列R1、R2的长度均为二进制矩阵BB的大小为
[0010](2)分层逆向扩散
[0011]对二进制矩阵BB按行进行分层,得到相应8个二进制分层序列,表示为其中j=1,2,...,7,8,
[0012]将每一个二进制分层序列依次进行如下逆向扩散操作:
[0013]S0:令j=1、逆向采样步数step_2=1,设逆向扩散初值value_2,外部解密密钥α和β,且外部密钥满足α∈(0,1),β∈(3.57,4),另令混沌系统的初值z1=α和参数μ=β,由混沌系统的初值z1和参数μ,对如下公式(1)所示Logistic混沌映射进行step_2+345456次迭代,式中k表示迭代次数、z
k+1
表示第k次迭代得到的混沌信号,k=1,2,...,345456+step_2,
[0014]z
k+1
=μ
·
z
k
·
(1

z
k
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0015]得到混沌信号序列Z={z1,z2,...,z
345457+step_2
},
[0016]S1:首先令x1=z
345456+step_2
,由混沌系统的初值x1和参数μ,对公式(1)所示的Logistic混沌映射进行迭代,得到混沌信号序列X={x1,x2,...},
[0017]然后将第j个二进制分层序列正向以5个元素为单位进行分组,得到分组序列列并将每一个二进制分组序列其中依次进行如下逆向扩散操作:
[0018]H0:令m=1,逆向采样步数step_2=step_2+321,
[0019]H1:先从混沌信号序列X中采样第step_2个混沌信号并进行处理,得到处理后的混沌信号X
jm

[0020]再利用bin2dec(
·
)函数,将二进制分组序列转换为数值型数据DN
jm
,并将数值型数据DN
jm
与混沌信号X
jm
进行如下运算,
[0021][0022]并利用dec2bin(DX
jm
,5)函数,将数值型数据DX
jm
转换为5位二进制并倒序追加入
二进制序列RN{j}中,即RN{j}=[fliplr(dec2bin(DX
jm
,5)),RN{j}],
[0023]H2:更新逆向采样步数step_2=step_2+DN
jm
+DX
jm
,且更新逆向扩散值value_2=value_2+DN
jm
,令m=m+1,接着判断m的大小,如果则转入步骤H1,否则转入步骤H3,
[0024]H3:先从混沌信号序列X中采样第step_2个混沌信号并进行处理,得到处理后的混沌信号X
jm

[0025]再利用bin2dec(
·
)函数,将二进制分组序列转换为数值型数据DN
jm
,将数值型数据DN
jm
与混沌信号X本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分层双向扩散的字符串解密方法,其特征在于,包括如下几个步骤:(1)转码将某段待解密的字符串密文C逐个字符转换成数值型数据,得到数值序列并将数值序列R中元素交替抽取组成两个数值序列R1和R2,即数值序列序列和数值序列然后利用函数dec2bin(
·
,8),将数值序列R1中元素R1
i
逐个转换成8bits的二进制序列RB1{i}={RB1
i1
,RB1
i2
,RB1
i3
,RB1
i4
,RB1
i5
,RB1
i6
,RB1
i7
,RB1
i8
},将数值序列R2中元素R2
i
逐个转换成8bits的二进制序列RB2{i}={RB2
i1
,RB2
i2
,RB2
i3
,RB2
i4
,RB2
i5
,RB2
i6
,RB2
i7
,RB2
i8
},同时取二进制序列RB1{i}的第3位至第5位以及二进制序列RB2{i}的第3位至第7位,组成新序列{RB1
i3
,RB1
i4
,RB1
i5
,RB2
i3
,RB2
i4
,RB2
i5
,RB2
i6
,RB2
i7
},并填入二进制矩阵BB的第i列,其中得到二进制矩阵BB,其中,某段待解密的字符串密文包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待解密的字符串密文的长度表示为数值序列R1、R2的长度均为二进制矩阵BB的大小为(2)分层逆向扩散对二进制矩阵BB按行进行分层,得到相应8个二进制分层序列,表示为其中j=1,2,...,7,8,将每一个二进制分层序列依次进行如下逆向扩散操作:S0:令j=1、逆向采样步数step_2=1,设逆向扩散初值value_2,外部解密密钥α和β,且外部密钥满足α∈(0,1),β∈(3.57,4),另令混沌系统的初值z1=α和参数μ=β,由混沌系统的初值z1和参数μ,对如下公式(1)所示Logistic混沌映射进行step_2+345456次迭代,式中k表示迭代次数、z
k+1
表示第k次迭代得到的混沌信号,k=1,2,...,345456+step_2,z
k+1
=μ
·
z
k
·
(1

z
k
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)得到混沌信号序列Z={z1,z2,...,z
345457+step_2
},S1:首先令x1=z
345456+step_2
,由混沌系统的初值x1和参数μ,对公式(1)所示的Logistic混沌映射进行迭代,得到混沌信号序列X={x1,x2,...},然后将第j个二进制分层序列正向以5个元素为单位进行分组,得到分组序列
并将每一个二进制分组序列其中依次进行如下逆向扩散操作:H0:令m=1,逆向采样步数step_2=step_2+321,H1:先从混沌信号序列X中采样第step_2个混沌信号并进行处理,得到处理后的混沌信号X
jm
,再利用bin2dec(
·
)函数,将二进制分组序列转换为数值型数据DN
jm
,并将数值型数据DN
jm
与混沌信号X
jm
进行如下运算,并利用dec2bin(DX
jm
,5)函数,将数值型数据DX
jm
转换为5位二进制并倒序追加入二进制序列RN{j}中,即RN{j}=[fliplr(dec2bin(DX
jm
,5)),RN{j}],H2:更新逆向采样步数step_2=step_2+DN
jm
+DX
jm
,且更新逆向扩散值value_2=value_2+DN
jm
,令m=m+1,接着判断m的大小,如果则转入步骤H1,否则转入步骤H3,H3:先从混沌信号序列X中采样第step_2个混沌信号并进行处理,得到处理后的混沌信号X
jm
,再利用bin2dec(
·
)函数,将二进制分组序列转换为数值型数据DN
jm
,将数值型数据DN
jm
与混沌信号X
jm
进行如下运算,接着利用函数,将数值型数据DX
jm
转换为位二进制并倒序追加入二进制序列RN{j}中,即结束二进制分组序列的逆向扩散操作,从而得到逆向扩散后的二进制分层序列RN{j},其中二进制分层序列RN{j}的长度为S2:令j=j+1,接着判断j的大小,如果j≤8,则转入步骤S1,否则转入步骤S3,S3:结束二进制分层序列的逆向扩散操作,从而得到逆向扩散后的二进制分层序列,表示为RN{1},RN{2},...,RN{7},RN{8};(3)分层正向扩散将每一个二进制分层序列RN{j},其中j=1,2,...,11,12,依次进行如下正向扩散操作:S0:令j=1、正向采样步数step_1=1,设正向扩散初值value_1,另令混沌系统的初值y1=α和参数μ=β,S1:首先由混沌系统的初值y1和参数μ,对如下公式(1)所示的Logistic混沌映射进行迭代,式中k表示迭代次数、y
k+1
表示第k次迭代得到的混沌信号,k=1,2,...,得到混沌信号序
列Y={y1,y2,...},然后将第j个二进制分层序列RN{j}正向以5个元素为单位进行分组,得到分组序列然后将第j个二进制分层序列RN{j}正向以5个元素为单位进行分组,得到分组序列并将每一个二进制分组序列其中依次进行如下正向扩散操作:H0:令m=1,正向采样步数step_1=step_1+123,H1:先从混沌信号序列Y中采样第step_1个混沌信号并进行处理,得到处理后的混沌信号Y
jm
,再利用bin2dec(
·
)函数,将二进制分组序列转换为数值型数据DZ
jm
,将数值型数据DZ
jm
与混沌信号Y
jm
进行如下运算,并利用dec2bin(DY
jm
,4)函数,将数值型数据DY
jm
转换为5位二进制并顺序追加入二进制序列RZ{j}中,即RZ{j}=...

【专利技术属性】
技术研发人员:盛苏英张小美陆国平吴新华刘焰森张嘉豪
申请(专利权)人:南通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1