[发明专利]一种基于分层置乱的汉字解密方法在审
申请号: | 202210359672.6 | 申请日: | 2022-04-06 |
公开(公告)号: | CN114760022A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 盛苏英;刘焰森;陆国平;张小美;吴新华;张嘉豪;范云雷;杜宇笙 | 申请(专利权)人: | 南通大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 226019*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分层 汉字 解密 方法 | ||
1.一种基于分层置乱的汉字解密方法,其特征在于,包括如下几个步骤:
(1)转码
将某段待解密的汉字密文C逐个汉字转换成数值型数据[Pi1,Pi2],得到高位数值序列R1={R11,R12,...,R1i,....,R12L}={P11,P21,...,Pi1,....,P2L1}和低位数值序列R2={R21,R22,...,R2i,....,R22L}={P12,P22,...,Pi2,....,P2L2},i=1,2,...,2L,
其中,某段待解密的汉字密文C包括GB2312字符集中的汉字标点符号、GB2312字符集中双字节编码的汉字,某段待解密的汉字密文的长度表示为2L,数值序列R1、R2的长度为2L;
(2)分层置乱
首先,将高位数值序列R1中元素R1m和低位数值序列R2中元素R2m,其中m=1,2,...,2L,依次进行如下的数值与二进制序列转换操作:
H0:令m=1,数值转换参数tmp_S1=8、tmp_S2=5,设空二进制矩阵C1、C2和CC,
H1:将数值型数据R1m加上数值tmp_S1,两者之和记为sum_RS1,并采用dec2bin(·,8)函数将数值sum_RS1转换成8位二进制数据,且将8位二进制数据按序填入二进制矩阵C1的第m列,即C1(1:8,m)=(dec2bin(R1m+tmp_S1,8))T,
同时将数值型数据R2m加上数值tmp_S2,两者之和记为sum_RS2,并采用dec2bin(·,8)函数将数值sum_RS2转换成8位二进制数据,且将8位二进制数据按序填入二进制矩阵C2的第m列,即C2(1:8,m)=(dec2bin(R2m+tmp_S2,8))T,
H2:更新数值转换参数tmp_S1=8+mod(R1m,9)、tmp_S2=5+mod(R2m,27),且令m=m+1,接着判断m的大小,如果m≤2L,则转入步骤H1,否则转入步骤H3,
H3:结束数值型数据转换操作,将二进制矩阵C1的后6行与C2的后6行上下拼接,即从而得到二进制矩阵CC;
接着,利用外部解密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
令则
其中,CC0表示二进制矩阵CC中含二进制‘0’的个数,函数表示为不大于a的最大整数,外部解密密钥满足α∈(0,1),β∈(3.57,4),
由混沌系统的初值x1和参数μ,对如下公式(2)所示Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+11n1,m2+11n2),
xk+1=μ×xk×(1-xk) (2)
得到混沌序列X,从第m1个元素开始每隔n1个元素取1个,从而形成长度为12的混沌序列Y,并从第m2个元素开始每隔n2个元素取1个,从而形成长度为12的混沌序列Z,
混沌序列Y按升序排序,将序列Y排序前、后的位置变化置乱规则记为T1={T11,T12,...,T111,T112},同时混沌序列Z按升序排序,将序列Z排序前、后的位置变化置乱规则记为T2={T21,T22,...,T211,T212},
然后,对二进制矩阵CC按行进行分层,得到相应12个二进制分层序列,表示为其中j=1,2,...,11,12,
将二进制分层序列依次进行如下拆解反置乱操作:
S0:令j=1,拆解反置乱规则参数
S1:判断拆解反置乱规则参数rule_Perm的数值,
如果rule_Perm=0,则将二进制分层序列对半拆分成两个序列和并利用位置变化置乱规则T1对序列进行反置乱,即同时利用位置变化置乱规则T2对序列进行反置乱,即
如果rule_Perm=1,则将二进制分层序列对半拆分成两个序列和并利用位置变化置乱规则T2对序列进行反置乱,即同时利用位置变化置乱规则T1对序列进行反置乱,即
如果rule_Perm=2,则先将二进制分层序列前后颠倒再对半拆分成两个序列和并利用位置变化置乱规则T1对序列进行反置乱,即同时利用位置变化置乱规则T2对序列进行反置乱,即
如果rule_Perm=3,则先将二进制分层序列前后颠倒再对半拆分成两个序列和并利用位置变化置乱规则T2对序列进行反置乱,即同时利用位置变化置乱规则T1对序列进行反置乱,即
从而得到拆解反置乱后的二进制序列和
S2:首先将二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数表示为不小于2L/10的最小整数,
然后更新拆解反置乱规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
S3:结束二进制分层序列的拆解反置乱操作,从而得到拆解反置乱后的二进制序列和分别表示为以及并将二进制序列按行依次填入二进制矩阵A1中,表示如下,
同时将二进制序列按行依次填入二进制矩阵A2中,表示如下,
最后,按列依次将二进制矩阵A1的列序列A1(:,t)转换成数值型数据D1t,同时按列依次将二进制矩阵A2的列序列A2(:,t)转换成数值型数据D2t,其中t=1,2,...,L-1,L,得到数值序列D1={D11,D12,...,D1L}和D2={D21,D22,...,D2L};
(3)转码
将数值序列D1={D11,D12,...,D1L}和D2={D21,D22,...,D2L},对应元素依次组合并进行数值与汉字的转换,得到汉字序列A,即为该段待解密汉字解密后恢复的平文,其中汉字序列A的长度为L。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210359672.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种城轨列车车号图像定位方法
- 下一篇:一种测试装置