CN114553391A - 一种基于分层移位的字符串加密方法 - Google Patents
一种基于分层移位的字符串加密方法 Download PDFInfo
- Publication number
- CN114553391A CN114553391A CN202210272062.2A CN202210272062A CN114553391A CN 114553391 A CN114553391 A CN 114553391A CN 202210272062 A CN202210272062 A CN 202210272062A CN 114553391 A CN114553391 A CN 114553391A
- Authority
- CN
- China
- Prior art keywords
- sequence
- binary
- shift
- numerical data
- encrypted
- 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
Images
Classifications
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明属于信息加密技术领域,公开了一种基于分层移位的字符串加密方法,步骤如下:将某段待加密字符串进行数值型数据以及8bits二进制转换,得到二进制矩阵BB;对二进制矩阵BB按行分层,利用混沌迭代信号计算循环移位的方向与个数,对每个二进制分层序列依次进行循环移位操作,且混沌系统的初值根据循环移位后的二进制分层序列实时更新,再将循环移位后的二进制分层序列逐行填入二进制矩阵CC,并进行数值型数据转换,得到数值序列D;最后进行数值与字符的转换,从而得到字符序列C,即为该段待加密字符串的加密密文。本发明所提的一种基于分层移位的字符串加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
Description
技术领域
本发明涉及信息加密技术领域,特别涉及一种基于分层移位的字符串加密方法。
背景技术
随着社会的发展,信息资源逐渐成为人们生活的重要组成部分,信息安全也随之成为人们研究的热门课题,同时随着网络通讯技术的发展,对于数据特别是字符通讯的安全性、便捷性需求逐渐增加。
在现有技术中,主要对数据进行简单取反、位置交换、异或,以及DES或RAS混合加密,加密性能有待提高。现有的字符加密算法,所得的大多数密文可读性及可复制性太差,出现太多不易书写或者辨认的密文字符,也没有综合中文、英文字符的特点,提出一套简单方便、安全可靠的加密算法。同时由于混沌系统和密码学之间存在着一些自然联系,混沌系统作为一种天然的密码系统,被引入到密码学领域。在此情况下,结合混沌信号的密码特性,提出一套具有良好抗攻击性能的基于分层移位的字符串加密方法,显得尤为重要。
发明内容
发明目的:本发明的目的是为了解决现有技术中的不足,提供一种基于分层移位的字符串加密方法,将某段待加密字符串进行数值型数据、8bits二进制转换以及二进制矩阵的按行分层,对每个二进制分层序列依次进行循环移位操作,利用混沌迭代信号计算循环移位的方向与个数,且混沌系统的初值根据循环移位后的二进制分层序列实时更新,从而得到该段待加密字符串的加密密文。本发明的一种基于分层移位的字符串加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
技术方案:一种基于分层移位的字符串加密方法,包括如下几个步骤:
(1)转码
其中,某段待加密字符串A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待加密字符串A的长度表示为L,数值序列P的长度为二进制矩阵BB的大小为且
(2)分层循环移位
S0:令j=1,利用外部加密密钥α和β,按照如下公式(1)和(2)分别计算得到混沌系统的初值x1和参数μ,
x1=mod(kp+α,0.999)+0.001, (1)
μ=β+mod(kp,4-β), (2)
S1:首先由混沌系统的初值x1和参数μ,对如下公式(3)所示的Logistic混沌映射进行100次迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,100,
xk+1=μ×xk×(1-xk) (3)
得到混沌信号序列X={x1,x2,...,x101},
S2:首先将循环移位后的二进制分层序列中元素从头到尾依次正向以16个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DFj,其中函数表示为不小于的最小整数,
(3)转码
进一步地,一种基于分层移位的字符串加密方法里步骤(1)中所述的将某段待加密字符串A逐个字符转换为数值型数据,是指将某段待加密字符串A中逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中的中文标点符号和双字节编码的汉字转换为两个数值型数据,从而得到数值序列P。
进一步地,一种基于分层移位的字符串加密方法里步骤(2)中所述的按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,是指取列序列CC(:,m)的前5位且在其首端加上二进制‘01’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D1m,即D1m=bin2dec(['01',(CC(1:5,m))T,'0']);同时取列序列CC(:,m)的后5位且在其首端加上二进制‘0’、第1位后加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D2m,即D2m=bin2dec(['0',CC(4,m),'1',(CC(5:8,m))T,'0'])。
有益效果:本发明利用混沌映射产生混沌信号,对某段待加密字符串进行数值型数据、8bits二进制转换以及二进制矩阵的按行分层所生成的二进制分层序列依次进行循环移位操作,利用混沌迭代信号计算循环移位的方向与个数,且混沌系统的初值根据循环移位后的二进制分层序列实时更新,从而得到该段待加密字符串的加密密文。本发明所提一种基于分层移位的字符串加密方法简单可行,可抵抗已知/选择明文攻击,具有很强的安全性。
附图说明
图1为本发明的一种基于分层移位的字符串加密流程示意图;
具体实施方式
如图1所示的一种基于分层移位的字符串加密方法,包括如下几个步骤:
(1)转码
将某段待加密字符串A逐个字符转换为数值型数据,指将某段待加密字符串A中逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中的中文标点符号和双字节编码的汉字转换为两个数值型数据,从而得到数值序列
其中,某段待加密字符串A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待加密字符串A的长度表示为L,数值序列P的长度为二进制矩阵BB的大小为且
(2)分层循环移位
S0:令j=1,利用外部加密密钥α和β,按照如下公式分别计算得到混沌系统的初值x1和参数μ,
x1=mod(kp+α,0.999)+0.001,
μ=β+mod(kp,4-β),
S1:首先由混沌系统的初值x1和参数μ,对如下公式所示的Logistic混沌映射进行100次迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,100,
xk+1=μ×xk×(1-xk)
得到混沌信号序列X={x1,x2,...,x101},
S2:首先将循环移位后的二进制分层序列中元素从头到尾依次正向以16个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DFj,其中函数表示为不小于的最小整数,
然后按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,指取列序列CC(:,m)的前5位且在其首端加上二进制‘01’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D1m,即D1m=bin2dec(['01',(CC(1:5,m))T,'0']),同时取列序列CC(:,m)的后5位且在其首端加上二进制‘0’、第1位后加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D2m,即D2m=bin2dec(['0',CC(4,m),'1',(CC(5:8,m))T,'0']),其中从而得到数值序列
(3)转码
下面结合具体的实施例对本发明作进一步说明:
实施例1
按照上述一种基于分层移位的字符串加密方法,步骤如下:
(1)转码
将某段待加密字符串A=“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”,逐个字符转换为数值型数据,得到数值序列P={215,214,183,251,180,174,161,176,97,98,99,49,50,51,33,64,35,161,177,181,196,188,211,195,220,163,186,207,200,202,228,200,235,210,187,184,246,215,214,183,251,180,174,163,172,189,248,208,208,188,211,195,220,163,172,215,238,186,243,189,171,188,211,195,220,186,243,181,196,215,214,183,251,204,237,188,211,181,189,210,187,184,246,191,213,181,196,115,116,114,105,110,103,214,208,202,228,179,246,161,163},
再利用函数dec2bin(·,8),将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},得到二进制矩阵BB,
(2)分层循环移位
得到数值序列D={106,58,108,100,126,112,118,120,112,32,126,126,116,100,112,34,116,108,108,108,108,106,116,96,122,62,126,122,108,96,124,96,108,98,106,48,96,38,100,100,100,96,124,100,124,100,124,102,100,98,116,100,118,114,124,104,110,126,100,108,120,36,124,98,100,110,124,102,104,36,96,46,104,38,124,96,124,108,120,38,96,34,124,96,100,98,120,32,122,58,124,106,108,108,126,126,124,96,86,126,66,58,82,54,78,124,72,46,90,52,106,48,108,102,118,122,102,118,120,36,104,42,120,36,120,44,126,122,124,104,122,54,124,100,126,124,122,52,126,120,120,34,92,96,66,62,88,34,72,34,74,60,88,46,82,58,76,108,86,124,102,114,100,104,110,122,110,124,118,114,116,110,116,104,106,54,98,54,104,36,100,106,124,110,108,106,108,110,100,108,102,112,122,62,110,118,122,52,120,46,124,108};
(3)转码
利用函数char(·),将数值序列D中元素依次进行数值与字符的转换,得到字符序列C=“j:ld~pvxp~~tdp"tlllljt`z>~zl`|`lbj0`&ddd`|d|d|fdbtdvr|hn~dlx$|bdn|fh$`.h&|`|lx&`"|`dbxz:|jll~~|`V~B:R6N|H.Z4j0lfvzfvx$h*x$x,~z|hz6|d~|z4~xx"\`B>X"H"J<X.R:LlV|frdhnzn|vrtnthj6b6h$dj|nljlndlfpz>nvz4x.|l”,即为该段待加密字符串的加密密文,其中字符序列C的长度为
实施例2
按照上述一种基于分层移位的字符串加密方法,某段待加密字符串为“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”,一种基于分层移位的字符串加密步骤与具体实施例1相似,仅外部加密密钥发生细微变化:α=0.123450000001;或β=3.750000000001,字符串加密结果如表1所示。由表1可知,外部加密密钥的细微变化会引起字符串加密密文发生很大的变化,由此可见本专利所提一种基于分层移位的字符串加密方法对外部加密密钥具有敏感性。
表1外部加密密钥发生微变时,字符串加密结果
实施例3
按上述一种基于分层移位的字符串加密方法,其加密步骤与具体实施例1相似,仅某段待加密字符串(“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”)发生细微变化:“字付串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”;或“字符串“abc123!@*”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出。”;或“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密石的字符添加到一个空的string中输出。”;或“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到两个空的string中输出。”;或“字符串“abc123!@#”的加密:先输入一个字符串,进行加密,最后将加密后的字符添加到一个空的string中输出!”,字符串加密结果如表2所示。由表2可见:待加密字符串平文信息的细微变化会引起加密密文的“面目全非”,由此可见本专利所提一种基于分层移位的字符串加密方法对待加密字符串的平文信息具有敏感性。
表2待加密字符串发生微变时,字符串加密结果
由上述具体实施例2、3分析可知,本专利所提一种基于分层移位的字符串加密方法所生成的字符串加密密文不仅与外部加密密钥密切相关,而且依赖于待加密字符串平文信息,因此本专利所提一种基于分层移位的字符串加密方法可抵抗已知/选择明文攻击,具有很强的安全性。
Claims (3)
1.一种基于分层移位的字符串加密方法,其特征在于,包括如下几个步骤:
(1)转码
其中,某段待加密字符串A包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,某段待加密字符串A的长度表示为L,数值序列P的长度为二进制矩阵BB的大小为且
(2)分层循环移位
S0:令j=1,利用外部加密密钥α和β,按照如下公式(1)和(2)分别计算得到混沌系统的初值x1和参数μ,
x1=mod(kp+α,0.999)+0.001, (1)
μ=β+mod(kp,4-β), (2)
S1:首先由混沌系统的初值x1和参数μ,对如下公式(3)所示的Logistic混沌映射进行100次迭代,式中k表示迭代次数、xk+1表示第k次迭代得到的混沌信号,k=1,2,...,100,
xk+1=μ×xk×(1-xk) (3)
得到混沌信号序列X={x1,x2,...,x101},
S2:首先将循环移位后的二进制分层序列中元素从头到尾依次正向以16个元素为单位进行分组,得到个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DFj,其中函数表示为不小于的最小整数,
(3)转码
2.根据权利要求1所述的一种基于分层移位的字符串加密方法,其特征在于:步骤(1)中所述的将某段待加密字符串A逐个字符转换为数值型数据,是指将某段待加密字符串A中逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中的中文标点符号和双字节编码的汉字转换为两个数值型数据,从而得到数值序列P。
3.根据权利要求1所述的一种基于分层移位的字符串加密方法,其特征在于:步骤(2)中所述的按列依次将二进制矩阵CC的列序列CC(:,m)转换成数值型数据D1m和D2m,是指取列序列CC(:,m)的前5位且在其首端加上二进制‘01’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D1m,即D1m=bin2dec(['01',(CC(1:5,m))T,'0']);同时取列序列CC(:,m)的后5位且在其首端加上二进制‘0’、第1位后加上二进制‘1’、尾端加上二进制‘0’,并采用bin2dec()函数转换成数值型数据,得到数值型数据D2m,即D2m=bin2dec(['0',CC(4,m),'1',(CC(5:8,m))T,'0'])。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210272062.2A CN114553391A (zh) | 2022-03-18 | 2022-03-18 | 一种基于分层移位的字符串加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210272062.2A CN114553391A (zh) | 2022-03-18 | 2022-03-18 | 一种基于分层移位的字符串加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114553391A true CN114553391A (zh) | 2022-05-27 |
Family
ID=81664696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210272062.2A Withdrawn CN114553391A (zh) | 2022-03-18 | 2022-03-18 | 一种基于分层移位的字符串加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553391A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880691A (zh) * | 2022-06-30 | 2022-08-09 | 华控清交信息科技(北京)有限公司 | 一种字符编码解码方法、装置和用于字符编码解码的装置 |
CN115208667A (zh) * | 2022-07-14 | 2022-10-18 | 河南省哈文科技有限公司 | 通过混合编程实现芯片与文件进行双重加密解密方法 |
CN115296879A (zh) * | 2022-07-27 | 2022-11-04 | 杭州跃马森创信息科技有限公司 | 一种用于微服务的加密认证方法及系统 |
CN117176316A (zh) * | 2023-06-13 | 2023-12-05 | 江苏工程职业技术学院 | 一种基于混沌密码的mqtt消息体加密方法 |
-
2022
- 2022-03-18 CN CN202210272062.2A patent/CN114553391A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114880691A (zh) * | 2022-06-30 | 2022-08-09 | 华控清交信息科技(北京)有限公司 | 一种字符编码解码方法、装置和用于字符编码解码的装置 |
CN115208667A (zh) * | 2022-07-14 | 2022-10-18 | 河南省哈文科技有限公司 | 通过混合编程实现芯片与文件进行双重加密解密方法 |
CN115296879A (zh) * | 2022-07-27 | 2022-11-04 | 杭州跃马森创信息科技有限公司 | 一种用于微服务的加密认证方法及系统 |
CN117176316A (zh) * | 2023-06-13 | 2023-12-05 | 江苏工程职业技术学院 | 一种基于混沌密码的mqtt消息体加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114553391A (zh) | 一种基于分层移位的字符串加密方法 | |
CN101610088B (zh) | 基于具有安全特性的压缩技术来编码数据的系统和方法 | |
CN110650005B (zh) | 一种中英文字符串加密方法 | |
Naqvi et al. | Multilayer partially homomorphic encryption text steganography (MLPHE-TS): a zero steganography approach | |
CN110299989B (zh) | 一种中英文字符串的加密、解密方法 | |
CN114465709A (zh) | 一种基于分层移位的字符串解密方法 | |
CN116032474B (zh) | 一种基于大数据计算机网络安全防护系统 | |
CN111382452B (zh) | 一种汉字转图片的加密方法 | |
CN101335616B (zh) | 一种具有无限密钥空间的对称加密方法 | |
CN111353166B (zh) | 一种图片转汉字的加密方法 | |
CN112016061A (zh) | 一种基于鲁棒水印技术的Excel文档数据保护方法 | |
CN115296862B (zh) | 一种基于数据编码的网络数据安全传输方法 | |
Elmahi et al. | Text steganography using compression and random number generators | |
CN114745096A (zh) | 一种基于分层双向扩散的字符串加密方法 | |
CN114553393A (zh) | 一种基于分层移位的汉字加密方法 | |
CN116865950B (zh) | 一种检测试剂盒质检数据安全存储系统 | |
CN111970237A (zh) | 一种基于水深测量数据的加密解密方法、系统及介质 | |
RU2008128245A (ru) | Реализуемый компьютером способ кодирования числовых данных и способ кодирования структур данных для передачи в телекоммуникационной системе, основанной на вышеуказанном способе кодирования числовых данных | |
Mariño et al. | Channel coding in communications using chaos | |
CN104393988B (zh) | 一种可逆的数据加密方法及装置 | |
CN116192507A (zh) | 一种基于深度学习的信息隐藏方法 | |
CN110650006B (zh) | 一种中英文字符串的加密和解密方法 | |
CN114722409A (zh) | 一种基于分层双向扩散的字符串解密方法 | |
CN107832824A (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: 20220527 |
|
WW01 | Invention patent application withdrawn after publication |