CN114741712A - 一种基于分层置乱的汉字加密方法 - Google Patents
一种基于分层置乱的汉字加密方法 Download PDFInfo
- Publication number
- CN114741712A CN114741712A CN202210359706.1A CN202210359706A CN114741712A CN 114741712 A CN114741712 A CN 114741712A CN 202210359706 A CN202210359706 A CN 202210359706A CN 114741712 A CN114741712 A CN 114741712A
- Authority
- CN
- China
- Prior art keywords
- sequence
- binary
- scrambling
- hierarchical
- chinese character
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000000739 chaotic effect Effects 0.000 claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 26
- 239000011159 matrix material Substances 0.000 claims description 32
- 230000001174 ascending effect Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- LTXREWYXXSTFRX-QGZVFWFLSA-N Linagliptin Chemical compound N=1C=2N(C)C(=O)N(CC=3N=C4C=CC=CC4=C(C)N=3)C(=O)C=2N(CC#CC)C=1N1CCC[C@@H](N)C1 LTXREWYXXSTFRX-QGZVFWFLSA-N 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 241000282994 Cervidae Species 0.000 description 1
- 206010011224 Cough Diseases 0.000 description 1
- 102000004190 Enzymes Human genes 0.000 description 1
- 108090000790 Enzymes Proteins 0.000 description 1
- FYYHWMGAXLPEAU-UHFFFAOYSA-N Magnesium Chemical compound [Mg] FYYHWMGAXLPEAU-UHFFFAOYSA-N 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- YEBSMMDJPSPRTO-UHFFFAOYSA-N ethyl n-(2-phenylquinoline-4-carbonyl)carbamate Chemical compound N=1C2=CC=CC=C2C(C(=O)NC(=O)OCC)=CC=1C1=CC=CC=C1 YEBSMMDJPSPRTO-UHFFFAOYSA-N 0.000 description 1
- 229910052749 magnesium Inorganic materials 0.000 description 1
- 239000011777 magnesium Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于分层置乱的汉字加密方法,步骤如下:将某段待加密汉字进行数值型数据以及12bits二进制转换,得到二进制矩阵B1和B2;分别对二进制矩阵B1和B2按行进行分层,并利用混沌信号的置乱规则分别对二进制分层序列进行置乱,再按置乱拼接规则将置乱后的二进制分层序列进行不同的拼接操作,且实时更新置乱拼接规则参数,然后根据数值转换参数进行数值型数据转换,且实时更新数值转换参数,得到数值序列D1和D2;最后进行数值与汉字的转换,从而得到汉字序列C,即为该段待加密汉字的加密密文。本发明的一种基于分层置乱的汉字加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
Description
技术领域
本发明涉及信息加密技术领域,特别涉及一种基于分层置乱的汉字加密方法。
背景技术
随着社会的发展,信息资源逐渐成为人们生活的重要组成部分,信息安全也随之成为人们研究的热门课题,同时随着网络通讯技术的发展,对于字符串特别是汉字通讯的安全性、便捷性需求逐渐增加。在现有技术中,主要对数据进行简单取反、位置交换、异或,以及DES或RAS混合加密,加密性能有待提高。现有的中文字符加密算法,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加密算法。同时由于混沌系统和密码学之间存在着一些自然联系,混沌系统作为一种天然的密码系统,被引入到密码学领域。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的基于分层置乱的汉字加密方法,显得尤为重要。
发明内容
发明目的:本发明的目的是为了解决现有技术中的不足,提供一种基于分层置乱的汉字加密方法,将某段待加密汉字进行数值型数据、12bits二进制转换,以及二进制矩阵的按行分层,并利用混沌信号的置乱规则对二进制分层序列进行置乱,按置乱拼接规则将置乱后的二进制分层序列进行不同的拼接操作,且实时更新置乱拼接规则参数,同时根据实时更新的数值转换参数进行数值型数据转换,从而得到该段待加密汉字的加密密文。本发明的一种基于分层置乱的汉字加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
技术方案:一种基于分层置乱的汉字加密方法,包括如下几个步骤:
(1)转码
首先,将某段待加密汉字A逐字转换为数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2},
然后,利用函数dec2bin(·,12),将高位数值序列P1中元素P1i逐个转换成12bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10,PB1i11,PB1i12},并按列填入矩阵,得到二进制矩阵B1,
最后,利用函数dec2bin(·,12),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密汉字包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,某段待加密汉字的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为12×L;
(2)分层置乱
接着,利用外部加密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对如下公式(2)所示Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+12n1,m2+12n2),
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},
S1:判断置乱拼接规则参数rule_Perm的数值,
S2:首先将置乱拼接后的二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
最后,按列将二进制矩阵BB的列序列BB(:,m),依次进行如下的数值型数据转换操作:
H0:令m=1,数值转换参数tmp_S1=8、tmp_S2=5,
H1:取列序列BB(:,m)的前6位且在其首端加上二进制“11”,并采用bin2dec()函数转换成数值型数据后减去数值tmp_S1,得到数值型数据D1m,即D1m=bin2dec(['11',(BB(1:6,m))T])-tmp_S1,
同时取列序列BB(:,m)的后6位且在其首端加上二进制“11”,并采用bin2dec()函数转换成数值型数据后减去数值tmp_S2,得到数值型数据D2m,即D2m=bin2dec(['11',(BB(7:12,m))T])-tmp_S2,
H2:更新数值转换参数tmp_S1=8+mod(D1m,9)、tmp_S2=5+mod(D2m,27),且令m=m+1,接着判断m的大小,如果m≤2L,则转入步骤H1,否则转入步骤H3,
H3:结束数值型数据转换操作,从而得到数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L};
(3)转码
将数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L},对应元素依次组合并进行数值与汉字的转换,得到汉字序列C,即为该段待加密汉字的加密密文,其中汉字序列C的长度为2L。
进一步地,一种基于分层置乱的汉字加密方法里步骤(1)中所述的将某段待加密汉字A逐字转换为数值型数据[Pi1,Pi2],是指将某段待加密汉字A中逐个汉字采用unicode2native(·)函数转换为数值型数据,即[Pi1,Pi2]=unicode2native(Ai),从而得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2}。
进一步地,一种基于分层置乱的汉字加密方法里步骤(4)中所述的将数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L},对应元素依次组合并进行数值与汉字的转换,是指利用native2unicode(·)函数将数值序列D1和D2中对应元素依次组合的数据[D1m,D2m]转换为单个汉字,并添加到字符序列C中,即C=[C,native2unicode([D1m,D2m])],其中m=1,2,3,...,2L。
有益效果:本发明利用混沌信号的置乱规则,对某段待加密汉字进行数值型数据、12bits二进制转换,以及二进制矩阵按行分层所得的二进制分层序列进行置乱,按实时更新的置乱拼接规则进行不同的拼接操作,同时根据实时更新的数值转换参数进行数值型数据转换,从而得到该段待加密汉字的加密密文。本发明的一种基于分层置乱的汉字加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
附图说明
图1为本发明的一种基于分层置乱的汉字加密流程示意图;
具体实施方式
如图1所示的一种基于分层置乱的汉字加密方法,包括如下几个步骤:
(1)转码
首先,将某段待加密汉字A逐字转换为数值型数据[Pi1,Pi2],指采用unicode2native(·)函数,即[Pi1,Pi2]=unicode2native(Ai),从而得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2},
然后,利用函数dec2bin(·,12),将高位数值序列P1中元素P1i逐个转换成12bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10,PB1i11,PB1i12},并按列填入矩阵,得到二进制矩阵B1,
最后,利用函数dec2bin(·,12),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密汉字包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,某段待加密汉字的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为12×L;
(2)分层置乱
接着,利用外部加密密钥α和β,按照如下所示公式分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对如下公式所示的Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+12n1,m2+12n2),
xk+1=μ×xk×(1-xk)
得到混沌序列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},
S1:判断置乱拼接规则参数rule_Perm的数值,
S2:首先将置乱拼接后的二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
最后,按列将二进制矩阵BB的列序列BB(:,m),依次进行如下的数值型数据转换操作:
H0:令m=1,数值转换参数tmp_S1=8、tmp_S2=5,
H1:取列序列BB(:,m)的前6位且在其首端加上二进制“11”,并采用bin2dec()函数转换成数值型数据后减去数值tmp_S1,得到数值型数据D1m,即D1m=bin2dec(['11',(BB(1:6,m))T])-tmp_S1,
同时取列序列BB(:,m)的后6位且在其首端加上二进制“11”,并采用bin2dec()函数转换成数值型数据后减去数值tmp_S2,得到数值型数据D2m,即D2m=bin2dec(['11',(BB(7:12,m))T])-tmp_S2,
H2:更新数值转换参数tmp_S1=8+mod(D1m,9)、tmp_S2=5+mod(D2m,27),且令m=m+1,接着判断m的大小,如果m≤2L,则转入步骤H1,否则转入步骤H3,
H3:结束数值型数据转换操作,从而得到数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L};
(3)转码
将数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L},利用native2unicode(·)函数将数值序列D1和D2中对应元素依次组合的数据[D1m,D2m]转换为单个汉字,并添加到字符序列C中,即C=[C,native2unicode([D1m,D2m])],得到汉字序列C,即为该段待加密汉字的加密密文,其中m=1,2,3,...,2L,汉字序列C的长度为2L。
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述一种基于分层置乱的汉字加密方法,步骤如下:
(1)转码
首先,将某段待加密汉字A=“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”,逐字转换为数值型数据,得到高位数值序列P1={202,190,188,195,181,187,177,185,179,190,202,182,212,192,206,195,206,181,206,188,187,202,190,176,196,214,203,183,189,208,180,192,163,202,198,179,206,178,191,182,181,210,182,180,194,206,161,195,206,161,163,210,180,181,177,187,202,190,178,177,183,183,200,199,200,161,212,182,181,196,181,161}和低位数值序列P2={253,221,211,220,196,249,190,253,204,205,199,212,173,180,170,247,196,196,196,254,242,253,221,180,179,214,227,168,248,208,166,237,172,185,228,201,170,187,201,193,196,187,206,250,235,170,176,220,196,177,172,212,239,189,163,164,253,221,187,187,199,168,203,212,161,162,196,193,196,191,196,163},
然后,将高位数值序列P1逐个元素P1i转换成12bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10,PB1i11,PB1i12},得到二进制矩阵B1,
最后,将低位数值序列P2逐个元素P2i转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},得到二进制矩阵B2,
其中,某段待加密汉字的长度表示为L=72,数值序列P1和P2的长度均为72,二进制矩阵B1和B2的大小为12×72;
(2)分层置乱
接着,利用外部加密密钥α=0.12345和β=3.75,按照如下公式分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对Logistic混沌映射进行迭代,得到混沌序列X,从第128个元素开始每隔12个元素取1个,从而形成长度为12的混沌序列Y={0.596540358403478,0.359276051479367,0.179177815287489,0.706274603846246,0.882315822146122,0.231989311040093,0.402036631635494,0.919293352799475,0.782910525165698,0.774042986731300,0.950378006230384,0.240808586889317},并从第308个元素开始每隔54个元素取1个,从而形成长度为12的混沌序列Z={0.940751031628523,0.239342376006342,0.949298640238768,0.885244811669458,0.926746123120465,0.241609840768414,0.232376258513029,0.259879004400357,0.272441136919206,0.930994528582212,0.233247941261852,0.612027774954891},
将混沌序列Y按升序排序,将序列Y排序前、后的位置变化置乱规则记为T1={3,6,12,2,7,1,4,10,9,5,8,11},同时将混沌序列Z按升序排序,将序列Z排序前、后的位置变化置乱规则记为T2={7,11,2,6,8,9,12,4,5,10,1,3},
最后,按列将二进制矩阵BB的列序列BB(:,m)依次进行数值型数据转换操作,得到数值序列D1={187,184,196,192,195,191,209,191,195,183,199,189,187,179,199,211,182,192,183,204,206,179,179,180,204,196,201,194,194,185,195,185,194,186,180,193,203,200,191,184,192,200,203,202,199,204,190,192,183,195,191,188,199,196,207,196,182,183,198,209,212,192,204,192,187,203,185,185,191,205,191,210,229,180,218,198,184,180,216,216,186,178,225,184,230,229,198,234,232,209,232,209,184,228,215,176,197,226,231,210,215,192,215,192,181,199,233,208,199,215,210,213,210,229,182,216,232,225,186,228,231,180,218,232,211,180,184,180,234,216,218,214,179,176,195,194,229,214,227,182,184,198,186,212}和D2={195,195,193,189,190,200,176,181,173,184,176,180,171,181,183,171,193,185,178,185,179,183,174,180,174,175,183,167,192,191,188,167,185,175,177,173,187,167,191,190,190,192,186,165,187,171,185,164,199,184,170,182,173,181,174,188,174,184,169,186,170,184,180,176,187,168,184,171,183,168,188,166,227,236,227,188,189,231,184,209,179,230,217,214,222,193,211,209,195,209,195,209,179,214,222,193,243,215,205,199,205,183,194,226,189,231,200,220,211,209,227,236,195,225,206,198,222,209,179,182,195,225,190,198,238,225,222,193,227,236,211,209,227,204,216,215,205,183,194,242,189,247,211,209};
(3)转码
将数值序列D1和D2,对应元素依次组合并进行数值与汉字的转换,得到汉字序列C=“幻该牧澜镁咳寻康铆犯前酱猾车欠荧读拦凡坦纬撤钞创坍寞煞搂吕箍眉恭鹿函幢镰嘶颧靠妇谰壤撕圣腔太竟坤非酶开级黔牡袭募懂犯譬押元栏檀腊换栓垢公糠通考姚邈挫阢萍附寸馗匮撼叉豳钢孓辶朴暄杳蜒杳蜒赋渲邹傲朋庾缤仪淄婪茁棱到晴槿熊怯籽毅侦颐遽段仄柁嵫撼涠缑瘁诰杵宇瘁皋戳赉仂谟盅炽疤秘伦逋址懵厄附器河匝”,即为该段待加密汉字的加密密文,其中汉字序列C的长度为2L=144。
实施例2
按照上述一种基于分层置乱的汉字加密方法,某段待加密汉字为“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”,其加密步骤与具体实施例1相似,仅外部加密密钥发生细微变化:α=0.123450000001;或β=3.750000000001,汉字加密结果如表1所示。由表1可知,外部加密密钥的细微变化会引起汉字加密密文发生很大的变化,由此可见本专利所提一种基于分层置乱的汉字加密方法对外部加密密钥具有敏感性。
表1外部加密密钥发生微变时,汉字加密结果
实施例3
按上述一种基于分层置乱的汉字加密方法,其加密步骤与具体实施例1相似,仅某段待加密汉字(“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”)发生细微变化:“数居加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”;或“数据加密的基本过程就是对源来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”;或“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为‘密文’,以达到保护数据不被非法人窃取、阅读的目的。”;或“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃听、阅读的目的。”;或“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的!”,汉字加密结果如表2所示。由表2可见:待加密汉字平文信息的细微变化会引起加密密文的“面目全非”,由此可见本专利所提一种基于分层置乱的汉字加密方法对待加密汉字的平文信息具有敏感性。
表2待加密汉字发生微变时,汉字加密结果
由上述具体实施例2、3分析可知,本专利所提一种基于分层置乱的汉字加密方法所生成的汉字加密密文不仅与外部加密密钥密切相关,而且依赖于待加密汉字平文信息,因此本专利所提一种基于分层置乱的汉字加密方法可抵抗已知/选择明文攻击,具有很强的安全性。
Claims (3)
1.一种基于分层置乱的汉字加密方法,其特征在于,包括如下几个步骤:
(1)转码
首先,将某段待加密汉字A逐字转换为数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2},
然后,利用函数dec2bin(·,12),将高位数值序列P1中元素P1i逐个转换成12bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10,PB1i11,PB1i12},并按列填入矩阵,得到二进制矩阵B1,
最后,利用函数dec2bin(·,12),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密汉字包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,某段待加密汉字的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为12×L;
(2)分层置乱
接着,利用外部加密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对如下公式(2)所示Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+12n1,m2+12n2),
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},
S1:判断置乱拼接规则参数rule_Perm的数值,
S2:首先将置乱拼接后的二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
最后,按列将二进制矩阵BB的列序列BB(:,m),依次进行如下的数值型数据转换操作:
H0:令m=1,数值转换参数tmp_S1=8、tmp_S2=5,
H1:取列序列BB(:,m)的前6位且在其首端加上二进制“11”,并采用bin2dec()函数转换成数值型数据后减去数值tmp_S1,得到数值型数据D1m,即D1m=bin2dec(['11',(BB(1:6,m))T])-tmp_S1,
同时取列序列BB(:,m)的后6位且在其首端加上二进制“11”,并采用bin2dec()函数转换成数值型数据后减去数值tmp_S2,得到数值型数据D2m,即D2m=bin2dec(['11',(BB(7:12,m))T])-tmp_S2,
H2:更新数值转换参数tmp_S1=8+mod(D1m,9)、tmp_S2=5+mod(D2m,27),且令m=m+1,接着判断m的大小,如果m≤2L,则转入步骤H1,否则转入步骤H3,
H3:结束数值型数据转换操作,从而得到数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L};
(3)转码
将数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L},对应元素依次组合并进行数值与汉字的转换,得到汉字序列C,即为该段待加密汉字的加密密文,其中汉字序列C的长度为2L。
2.根据权利要求1所述的一种基于分层置乱的汉字加密方法,其特征在于:步骤(1)中所述的将某段待加密汉字A逐字转换为数值型数据[Pi1,Pi2],是指将某段待加密汉字A中逐个汉字采用unicode2native(·)函数转换为数值型数据,即[Pi1,Pi2]=unicode2native(Ai),从而得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2}。
3.根据权利要求1所述的一种基于分层置乱的汉字加密方法,其特征在于:步骤(3)中所述的将数值序列D1={D11,D12,...,D12L}和D2={D21,D22,...,D22L},对应元素依次组合并进行数值与汉字的转换,是指利用native2unicode(·)函数将数值序列D1和D2中对应元素依次组合的数据[D1m,D2m]转换为单个汉字,并添加到字符序列C中,即C=[C,native2unicode([D1m,D2m])],其中m=1,2,3,...,2L。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210359706.1A CN114741712A (zh) | 2022-04-06 | 2022-04-06 | 一种基于分层置乱的汉字加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210359706.1A CN114741712A (zh) | 2022-04-06 | 2022-04-06 | 一种基于分层置乱的汉字加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741712A true CN114741712A (zh) | 2022-07-12 |
Family
ID=82278572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210359706.1A Withdrawn CN114741712A (zh) | 2022-04-06 | 2022-04-06 | 一种基于分层置乱的汉字加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741712A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116894255A (zh) * | 2023-05-29 | 2023-10-17 | 山东莱特光电科技有限公司 | 一种共享充电桩交易数据加密存储方法 |
-
2022
- 2022-04-06 CN CN202210359706.1A patent/CN114741712A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116894255A (zh) * | 2023-05-29 | 2023-10-17 | 山东莱特光电科技有限公司 | 一种共享充电桩交易数据加密存储方法 |
CN116894255B (zh) * | 2023-05-29 | 2024-01-02 | 山东莱特光电科技有限公司 | 一种共享充电桩交易数据加密存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115865523B (zh) | 一种用于信息分析系统的数据加密传输方法 | |
CN113297606A (zh) | 基于多混沌与dna运算的彩色量子图像加密及解密方法 | |
CN114553391A (zh) | 一种基于分层移位的字符串加密方法 | |
CN111353166B (zh) | 一种图片转汉字的加密方法 | |
CN116032474A (zh) | 一种基于大数据计算机网络安全防护系统 | |
CN110650005B (zh) | 一种中英文字符串加密方法 | |
CN116545771B (zh) | 一种智能驾驶系统测试数据的智能存储方法及系统 | |
CN114465709A (zh) | 一种基于分层移位的字符串解密方法 | |
CN115567320B (zh) | 基于微服务架构的物联网平台数据管理方法 | |
CN114741712A (zh) | 一种基于分层置乱的汉字加密方法 | |
CN115941189A (zh) | 一种用于文档数据的加密方法 | |
Elmahi et al. | Text steganography using compression and random number generators | |
CN116865950B (zh) | 一种检测试剂盒质检数据安全存储系统 | |
CN108804933B (zh) | 一种用于信息隐藏技术中的大数据的进制转换方法 | |
CN110650006B (zh) | 一种中英文字符串的加密和解密方法 | |
CN109981246A (zh) | 一种字符串的加密方法和解密方法 | |
US6301361B1 (en) | Encoding and decoding information using randomization with an alphabet of high dimensionality | |
CN114707165A (zh) | 一种基于分层置乱的字符串加密方法 | |
CN114553393A (zh) | 一种基于分层移位的汉字加密方法 | |
CN110278066B (zh) | 一种中文字符串的加密、解密方法 | |
CN107493164B (zh) | 一种基于混沌系统的des加密方法和系统 | |
CN116318979A (zh) | 一种基于轻量级Piccolo分组密码算法的自编码查找表白盒化构造方法及系统 | |
CN110287713B (zh) | 一种中文字符串的加密方法和解密方法 | |
KR20010034058A (ko) | 이진 데이터 블록의 암호 변환 방법 | |
CN114760022A (zh) | 一种基于分层置乱的汉字解密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220712 |