CN114707165A - 一种基于分层置乱的字符串加密方法 - Google Patents
一种基于分层置乱的字符串加密方法 Download PDFInfo
- Publication number
- CN114707165A CN114707165A CN202210358275.7A CN202210358275A CN114707165A CN 114707165 A CN114707165 A CN 114707165A CN 202210358275 A CN202210358275 A CN 202210358275A CN 114707165 A CN114707165 A CN 114707165A
- Authority
- CN
- China
- Prior art keywords
- sequence
- binary
- scrambling
- hierarchical
- rule
- 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 30
- 230000000739 chaotic effect Effects 0.000 claims abstract description 41
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000000605 extraction Methods 0.000 claims description 4
- 229940060587 alpha e Drugs 0.000 claims description 3
- 238000013507 mapping Methods 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
- 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 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000012907 honey Nutrition 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/08—Computing arrangements based on specific mathematical models using chaos models or non-linear system models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Nonlinear Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于分层置乱的字符串加密方法,步骤如下:将某段待加密字符串进行数值型数据以及10bits二进制转换,得到二进制矩阵B1和B2;分别对二进制矩阵B1和B2按行进行分层,并利用混沌信号的置乱规则分别对二进制分层序列进行置乱,再按置乱拼接规则将置乱后的二进制分层序列进行不同的拼接操作,且实时更新置乱拼接规则参数,然后进行数值型数据转换,得到数值序列D;最后进行数值与字符的转换,从而得到字符序列C,即为该段待加密字符串的加密密文。本发明的一种基于分层置乱的字符串加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
Description
技术领域
本发明涉及信息加密技术领域,特别涉及一种基于分层置乱的字符串加密方法。
背景技术
随着社会的发展,信息资源逐渐成为人们生活的重要组成部分,信息安全也随之成为人们研究的热门课题,同时随着网络通讯技术的发展,对于数据特别是字符串通讯的安全性、便捷性需求逐渐增加。在现有技术中,主要对数据进行简单取反、位置交换、异或,以及DES或RAS混合加密,加密性能有待提高。现有的中文字符加密算法,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加密算法。同时由于混沌系统和密码学之间存在着一些自然联系,混沌系统作为一种天然的密码系统,被引入到密码学领域。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的基于分层置乱的字符串加密方法,显得尤为重要。
发明内容
发明目的:本发明的目的是为了解决现有技术中的不足,提供一种基于分层置乱的字符串加密方法,将某段待加密字符串进行数值型数据、10bits二进制转换,以及二进制矩阵的按行分层,并利用混沌信号的置乱规则分别对二进制分层序列进行置乱,按实时更新的置乱拼接规则将置乱后的二进制分层序列进行不同的拼接操作,随后进行数值型数据、以及数值与字符的转换,从而得到该段待加密字符串的加密密文。本发明的一种基于分层置乱的字符串加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
技术方案:一种基于分层置乱的字符串加密方法,包括如下几个步骤:
(1)转码
首先,将某段待加密字符串A逐字转换为数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2},
然后,利用函数dec2bin(·,10),将高位数值序列P1中元素P1i逐个转换成10bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10},并按列填入矩阵,得到二进制矩阵B1,
最后,利用函数dec2bin(·,10),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密字符串A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待加密字符串A的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为10×L;
(2)分层置乱
接着,利用外部加密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对如下公式(2)所示Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+10n1,m2+10n2),
xk+1=μ×xk×(1-xk) (2)
得到混沌序列X,从第m1个元素开始每隔n1个元素取1个,从而形成长度为10的混沌序列Y,并从第m2个元素开始每隔n2个元素取1个,从而形成长度为10的混沌序列Z,
将混沌序列Y按降序排序,将序列Y排序前、后的位置变化置乱规则记为T1={T11,T12,...,T19,T110},同时将混沌序列Z按降序排序,将序列Z排序前、后的位置变化置乱规则记为T2={T21,T22,...,T29,T210},
S1:判断置乱拼接规则参数rule_Perm的数值,
S2:首先将置乱拼接后的二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DFj,其中函数表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DFj,8),且令j=j+1,接着判断j的大小,如果j≤10,则转入步骤S1,否则转入步骤S3,
最后,按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,其中m=1,2,3,...,2L,从而得到数值序列D={D1,D2,...,D4L-1,D4L}={D11,D21,D12,D22,...,D12L,D22L};
(3)转码
利用函数char(·),将数值序列D={D1,D2,...,D4L-1,D4L}中元素依次进行数值与字符的转换,得到字符序列C,即为该段待加密字符串的加密密文,其中字符序列C的长度为4L。
进一步地,一种基于分层置乱的字符串加密方法里步骤(1)中所述的将某段待加密字符串A逐字转换为数值型数据[Pi1,Pi2],是指将某段待加密字符串A中逐个字符采用unicode2native(·)函数转换为数值型数据,即[Pi1,Pi2]=unicode2native(Ai),将单个汉字转换为区位码数值数据,表示为[区数值数据,位数值数据],或将ASCII码值属于[32,126]的可见字符转换为ASCII码数值数据,表示为[0,ASCII码数值数据],从而得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2}。
进一步地,一种基于分层置乱的字符串加密方法里步骤(2)中所述的按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,是指取列序列CC(:,m)的前5位且在其首端加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D1m,即D1m=bin2dec(['1',(CC(1:5,m))T,'0']);同时取列序列CC(:,m)的后5位且在其首端加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D2m,即D2m=bin2dec(['1',(CC(6:10,m))T,'0'])。
有益效果:本发明利用混沌信号的置乱规则,对某段待加密字符串进行数值型数据、10bits二进制转换,以及二进制矩阵按行分层所得的二进制分层序列进行置乱,按实时更新的置乱拼接规则进行不同的拼接操作,从而得到该段待加密字符串的加密密文。本发明的一种基于分层置乱的字符串加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
附图说明
图1为本发明的一种基于分层置乱的字符串加密流程示意图;
具体实施方式
如图1所示的一种基于分层置乱的字符串加密方法,包括如下几个步骤:
(1)转码
首先,将某段待加密字符串A中逐个字符采用unicode2native(·)函数转换为数值型数据,即[Pi1,Pi2]=unicode2native(Ai),将单个汉字转换为区位码数值数据,表示为[区数值数据,位数值数据],或将ASCII码值属于[32,126]的可见字符转换为ASCII码数值数据,表示为[0,ASCII码数值数据],从而得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2},
然后,利用函数dec2bin(·,10),将高位数值序列P1中元素P1i逐个转换成10bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10},并按列填入矩阵,得到二进制矩阵B1,
最后,利用函数dec2bin(·,10),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密字符串A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待加密字符串A的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为10×L;
(2)分层置乱
接着,利用外部加密密钥α和β,按照如下所示的公式分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对如下公式所示的Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+10n1,m2+10n2),
xk+1=μ×xk×(1-xk)
得到混沌序列X,从第m1个元素开始每隔n1个元素取1个,从而形成长度为10的混沌序列Y,并从第m2个元素开始每隔n2个元素取1个,从而形成长度为10的混沌序列Z,
将混沌序列Y按降序排序,将序列Y排序前、后的位置变化置乱规则记为T1={T11,T12,...,T19,T110},同时将混沌序列Z按降序排序,将序列Z排序前、后的位置变化置乱规则记为T2={T21,T22,...,T29,T210},
S1:判断置乱拼接规则参数rule_Perm的数值,
S2:首先将置乱拼接后的二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DFj,其中函数表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DFj,8),且令j=j+1,接着判断j的大小,如果j≤10,则转入步骤S1,否则转入步骤S3,
最后,依次取列序列CC(:,m)的前5位且在其首端加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D1m,即D1m=bin2dec(['1',(CC(1:5,m))T,'0']);同时依次取列序列CC(:,m)的后5位且在其首端加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D2m,即D2m=bin2dec(['1',(CC(6:10,m))T,'0']),其中m=1,2,3,...,2L,从而得到数值序列D={D1,D2,...,D4L-1,D4L}={D11,D21,D12,D22,...,D12L,D22L};
(3)转码
利用函数char(·),将数值序列D={D1,D2,...,D4L-1,D4L}中元素依次进行数值与字符的转换,得到字符序列C,即为该段待加密字符串的加密密文,其中字符序列C的长度为4L。
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述一种基于分层置乱的字符串加密方法,步骤如下:
(1)转码
首先,将某段待加密字符串A=“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”,逐字转换为数值型数据,得到高位数值序列P1={215,183,180,161,0,0,0,0,0,0,0,0,0,161,181,188,195,163,207,202,200,210,184,215,183,180,163,189,208,188,195,163,215,186,189,188,195,186,181,215,183,204,188,181,210,184,191,181,0,0,0,0,0,0,214,202,179,161}和低位数值序列P2={214,251,174,176,97,98,99,49,50,51,33,64,35,177,196,211,220,186,200,228,235,187,246,214,251,174,172,248,208,211,220,172,238,243,171,211,220,243,196,214,251,237,211,189,187,246,213,196,115,116,114,105,110,103,208,228,246,163},
然后,利用dec2bin(·,10),将高位数值序列P1中元素P1i逐个转换成10bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10},并按列填入矩阵,得到二进制矩阵B1,
最后,利用dec2bin(·,10),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密字符串A的长度表示为L=58,数值序列P1和P2的长度均为L=58,二进制矩阵B1和B2的大小均为10×58;
(2)分层置乱
接着,利用外部加密密钥α=0.12345和β=3.75,按照如下公式分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对Logistic混沌映射进行迭代,得到混沌序列X,从第221个元素开始每隔205个元素取1个,从而形成长度为10的混沌序列Y={0.208513889117461,0.921695552897348,0.861750550643000,0.934401238824754,0.697108481519377,0.583903143069433,0.888778102259309,0.907730481883299,0.407067361462072,0.322638967069882},并从第554个元素开始每隔83个元素取1个,从而形成长度为10的混沌序列Z={0.840705983341677,0.439457289575278,0.252304066626676,0.947223094830140,0.786316006211482,0.267516869591975,0.326424649696977,0.585559374934936,0.684451732123479,0.939975908548840},
将混沌序列Y按降序排序,将序列Y排序前、后的位置变化置乱规则记为T1={4,2,8,7,3,5,6,9,10,1},同时将混沌序列Z按降序排序,将序列Z排序前、后的位置变化置乱规则记为T2={4,10,1,5,9,8,2,7,6,3},
最后,按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,其中m=1,2,3,...,116,从而得到数值序列D={82,68,102,124,102,104,108,116,116,64,102,64,118,64,100,64,102,64,118,64,108,80,120,80,102,80,84,116,88,116,122,112,120,76,126,124,104,92,108,80,118,88,102,72,126,112,90,84,118,124,110,120,68,108,100,108,120,80,98,112,104,92,68,108,78,92,126,112,110,124,98,112,80,92,118,96,96,100,106,68,70,108,100,72,122,112,108,124,86,72,86,96,96,100,80,100,86,64,68,64,86,64,116,72,102,72,118,64,64,64,76,80,126,116,110,116,66,66,66,110,102,106,98,78,64,96,64,96,64,64,64,68,64,100,64,68,64,96,68,108,68,100,98,78,66,102,70,70,102,98,66,78,98,110,66,98,70,78,98,110,70,70,70,66,70,78,98,106,66,106,98,110,70,70,98,70,70,70,66,106,66,98,66,78,98,110,70,102,98,78,102,66,102,106,102,74,66,78,98,110,70,70,66,98,66,70,66,66,66,66,66,66,64,68,64,68,64,68,64,64,64,64,64,64,66,70,66,98,66,78,98,110};
(3)转码
利用函数char(·),将数值序列D中元素依次进行数值与字符的转换,得到字符序列C=“RDf|fhltt@f@v@d@f@v@lPxPfPTtXtzpxL~|h\lPvXfH~pZTv|nxDldlxPbph\DlN\~pn|bpP\v``djDFldHzpl|VHV``dPdV@D@V@tHfHv@@@LP~tntBBBnfjbN@`@`@@@D@d@D@`DlDdbNBfFFfbBNbnBbFNbnFFFBFNbjBjbnFFbFFFBjBbBNbnFfbNfBfjfJBNbnFFBbBFBBBBBB@D@D@D@@@@@@BFBbBNbn”,即为该段待加密字符串的加密密文,其中字符序列C的长度为232。
实施例2
按照上述一种基于分层置乱的字符串加密方法,某段待加密字符串为“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”,其加密步骤与具体实施例1相似,仅外部加密密钥发生细微变化:α=0.123450000001;或β=3.750000000001,字符串加密结果如表1所示。由表1可知,外部加密密钥的细微变化会引起字符串加密密文发生很大的变化,由此可见本专利所提一种基于分层置乱的字符串加密方法对外部加密密钥具有敏感性。
表1外部加密密钥发生微变时,字符串加密结果
实施例3
按上述一种基于分层置乱的字符串加密方法,其加密步骤与具体实施例1相似,仅某段待加密字符串发生细微变化:“子符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”;或“字符串“abc123!@#”的加蜜:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”;或“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最石将加密后的字符添加到一个空的string中输出。”;或“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到两个空的string中输出。”;或“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加至一个空的string中输出!”,字符串加密结果如表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(·,10),将高位数值序列P1中元素P1i逐个转换成10bits的二进制序列{PB1i1,PB1i2,PB1i3,PB1i4,PB1i5,PB1i6,PB1i7,PB1i8,PB1i9,PB1i10},并按列填入矩阵,得到二进制矩阵B1,
最后,利用函数dec2bin(·,10),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10},并按列填入矩阵,得到二进制矩阵B2,
其中,某段待加密字符串A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待加密字符串A的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为10×L;
(2)分层置乱
接着,利用外部加密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2,
由混沌系统的初值x1和参数μ,对如下公式(2)所示Logistic混沌映射进行迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,max(m1+10n1,m2+10n2),
xk+1=μ×xk×(1-xk) (2)
得到混沌序列X,从第m1个元素开始每隔n1个元素取1个,从而形成长度为10的混沌序列Y,并从第m2个元素开始每隔n2个元素取1个,从而形成长度为10的混沌序列Z,
将混沌序列Y按降序排序,将序列Y排序前、后的位置变化置乱规则记为T1={T11,T12,...,T19,T110},同时将混沌序列Z按降序排序,将序列Z排序前、后的位置变化置乱规则记为T2={T21,T22,...,T29,T210},
S1:判断置乱拼接规则参数rule_Perm的数值,
S2:首先将置乱拼接后的二进制分层序列中元素从头到尾依次正向以10个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DFj,其中函数表示为不小于2L10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DFj,8),且令j=j+1,接着判断j的大小,如果j≤10,则转入步骤S1,否则转入步骤S3,
最后,按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,其中m=1,2,3,...,2L,从而得到数值序列D={D1,D2,...,D4L-1,D4L}={D11,D21,D12,D22,...,D12L,D22L};
(3)转码
利用函数char(·),将数值序列D={D1,D2,...,D4L-1,D4L}中元素依次进行数值与字符的转换,得到字符序列C,即为该段待加密字符串的加密密文,其中字符序列C的长度为4L。
2.根据权利要求1所述的一种基于分层置乱的字符串加密方法,其特征在于:步骤(1)中所述的将某段待加密字符串A逐字转换为数值型数据[Pi1,Pi2],是指将某段待加密字符串A中逐个字符采用unicode2native(·)函数转换为数值型数据,即[Pi1,Pi2]=unicode2native(Ai),将单个汉字转换为区位码数值数据,表示为[区数值数据,位数值数据],或将ASCII码值属于[32,126]的可见字符转换为ASCII码数值数据,表示为[0,ASCII码数值数据],从而得到高位数值序列P1={P11,P12,...,P1i,....,P1L}={P11,P21,...,Pi1,....,PL1}和低位数值序列P2={P21,P22,...,P2i,....,P2L}={P12,P22,...,Pi2,....,PL2}。
3.根据权利要求1所述的一种基于分层置乱的字符串加密方法,其特征在于:步骤(2)中所述的按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,是指取列序列CC(:,m)的前5位且在其首端加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D1m,即D1m=bin2dec(['1',(CC(1:5,m))T,'0']);同时取列序列CC(:,m)的后5位且在其首端加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D2m,即D2m=bin2dec(['1',(CC(6:10,m))T,'0'])。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210358275.7A CN114707165A (zh) | 2022-04-06 | 2022-04-06 | 一种基于分层置乱的字符串加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210358275.7A CN114707165A (zh) | 2022-04-06 | 2022-04-06 | 一种基于分层置乱的字符串加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114707165A true CN114707165A (zh) | 2022-07-05 |
Family
ID=82173273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210358275.7A Withdrawn CN114707165A (zh) | 2022-04-06 | 2022-04-06 | 一种基于分层置乱的字符串加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114707165A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115426004A (zh) * | 2022-11-04 | 2022-12-02 | 摩尔线程智能科技(北京)有限责任公司 | 用于抑制信号线中电磁辐射的装置、方法和电子设备 |
-
2022
- 2022-04-06 CN CN202210358275.7A patent/CN114707165A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115426004A (zh) * | 2022-11-04 | 2022-12-02 | 摩尔线程智能科技(北京)有限责任公司 | 用于抑制信号线中电磁辐射的装置、方法和电子设备 |
CN115426004B (zh) * | 2022-11-04 | 2023-10-24 | 摩尔线程智能科技(北京)有限责任公司 | 用于抑制信号线中电磁辐射的装置、方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108090329B (zh) | 一种对文本内容进行数字水印加密保护的方法及装置 | |
CN109995504B (zh) | 一种字符串的加密和解密方法 | |
CN114553391A (zh) | 一种基于分层移位的字符串加密方法 | |
CN101894244B (zh) | 电子资料加密系统及方法 | |
CN116032474A (zh) | 一种基于大数据计算机网络安全防护系统 | |
CN111353166B (zh) | 一种图片转汉字的加密方法 | |
CN109981245B (zh) | 一种字符串的加密、解密方法 | |
CN108418683B (zh) | 一种基于汉字结构特征的无载体文本隐写方法 | |
CN112884104A (zh) | 一种基于混沌加密的商品防伪二维码生成方法 | |
CN113255860B (zh) | 一种基于分层加密的商品防伪二维码生成方法 | |
CN110011783A (zh) | 一种汉字的加密、解密方法 | |
CN105095699A (zh) | 水印信息嵌入方法和装置以及水印信息解码方法 | |
CN112149774B (zh) | 一种汉字商品防伪码生成方法 | |
CN114465709A (zh) | 一种基于分层移位的字符串解密方法 | |
CN114707165A (zh) | 一种基于分层置乱的字符串加密方法 | |
CN109981246B (zh) | 一种字符串的加密方法和解密方法 | |
Elmahi et al. | Text steganography using compression and random number generators | |
CN110650006B (zh) | 一种中英文字符串的加密和解密方法 | |
JP2008099243A (ja) | 誤り訂正符号化装置、誤り訂正符号化方法及びプログラム | |
CN114741712A (zh) | 一种基于分层置乱的汉字加密方法 | |
CN114553393A (zh) | 一种基于分层移位的汉字加密方法 | |
CN104393988B (zh) | 一种可逆的数据加密方法及装置 | |
CN116566597A (zh) | 基于比特币地址混淆密文的可控安全等级隐蔽通信方法 | |
CN110278066B (zh) | 一种中文字符串的加密、解密方法 | |
CN110287713B (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 |
Application publication date: 20220705 |
|
WW01 | Invention patent application withdrawn after publication |