CN114741712A - 一种基于分层置乱的汉字加密方法 - Google Patents

一种基于分层置乱的汉字加密方法 Download PDF

Info

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
Application number
CN202210359706.1A
Other languages
English (en)
Inventor
盛苏英
刘焰森
陆国平
张小美
吴新华
张嘉豪
范云雷
杜宇笙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nantong University
Original Assignee
Nantong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nantong University filed Critical Nantong University
Priority to CN202210359706.1A priority Critical patent/CN114741712A/zh
Publication of CN114741712A publication Critical patent/CN114741712A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic 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,
Figure BDA0003583336820000021
最后,利用函数dec2bin(·,12),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},并按列填入矩阵,得到二进制矩阵B2,
Figure BDA0003583336820000022
其中,某段待加密汉字包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,某段待加密汉字的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为12×L;
(2)分层置乱
首先,对二进制矩阵B1按行进行分层,得到相应12个二进制分层序列,表示为
Figure BDA0003583336820000023
同样对二进制矩阵B2按行进行分层,得到相应12个二进制分层序列,表示为
Figure BDA0003583336820000024
其中j=1,2,...,11,12,
接着,利用外部加密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2
Figure BDA0003583336820000025
Figure BDA0003583336820000031
其中,
Figure BDA0003583336820000032
表示二进制分层序列
Figure BDA0003583336820000033
中含二进制‘0’的个数,函数
Figure BDA0003583336820000034
表示为不大于a的最大整数,外部密钥满足α∈(0,1),β∈(3.57,4),
由混沌系统的初值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},
利用位置变化置乱规则T1对二进制分层序列
Figure BDA0003583336820000035
进行置乱,得到置乱后的二进制分层序列
Figure BDA0003583336820000036
利用位置变化置乱规则T2对二进制分层序列
Figure BDA0003583336820000037
进行置乱,得到置乱后的二进制分层序列
Figure BDA0003583336820000038
其中j=1,2,...,11,12;
然后,将二进制分层序列
Figure BDA0003583336820000039
Figure BDA00035833368200000310
依次进行如下置乱拼接操作:
S0:令j=1,置乱拼接规则参数
Figure BDA00035833368200000311
S1:判断置乱拼接规则参数rule_Perm的数值,
如果rule_Perm=0,则将置乱后的二进制分层序列
Figure BDA00035833368200000312
和置乱后的二进制分层序列
Figure BDA00035833368200000313
顺序拼接,即
Figure BDA00035833368200000314
如果rule_Perm=1,则将置乱后的二进制分层序列
Figure BDA0003583336820000041
和置乱后的二进制分层序列
Figure BDA0003583336820000042
顺序拼接,即
Figure BDA0003583336820000043
如果rule_Perm=2,则将置乱后的二进制分层序列
Figure BDA0003583336820000044
和置乱后的二进制分层序列
Figure BDA0003583336820000045
顺序拼接,并将其前后翻转,即
Figure BDA0003583336820000046
如果rule_Perm=3,则将置乱后的二进制分层序列
Figure BDA0003583336820000047
和置乱后的二进制分层序列
Figure BDA0003583336820000048
顺序拼接,并将其前后翻转,即
Figure BDA0003583336820000049
从而得到置乱拼接后的二进制分层序列
Figure BDA00035833368200000410
S2:首先将置乱拼接后的二进制分层序列
Figure BDA00035833368200000411
中元素从头到尾依次正向以10个元素为单位进行分组,得到
Figure BDA00035833368200000412
个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数
Figure BDA00035833368200000413
表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
S3:结束二进制分层序列的置乱拼接操作,从而得到置乱拼接后的二进制分层序列,表示为
Figure BDA00035833368200000414
并将其按行依次填入二进制矩阵BB中,表示如下,
Figure BDA00035833368200000415
最后,按列将二进制矩阵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,
Figure BDA0003583336820000061
最后,利用函数dec2bin(·,12),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},并按列填入矩阵,得到二进制矩阵B2,
Figure BDA0003583336820000062
其中,某段待加密汉字包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,某段待加密汉字的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为12×L;
(2)分层置乱
首先,对二进制矩阵B1按行进行分层,得到相应12个二进制分层序列,表示为
Figure BDA0003583336820000063
同样对二进制矩阵B2按行进行分层,得到相应12个二进制分层序列,表示为
Figure BDA0003583336820000064
其中j=1,2,...,11,12,
接着,利用外部加密密钥α和β,按照如下所示公式分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2
Figure BDA0003583336820000071
Figure BDA0003583336820000072
其中,
Figure BDA0003583336820000073
表示二进制分层序列
Figure BDA0003583336820000074
中含二进制‘0’的个数,函数
Figure BDA0003583336820000075
表示为不大于a的最大整数,外部密钥满足α∈(0,1),β∈(3.57,4),
由混沌系统的初值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},
利用位置变化置乱规则T1对二进制分层序列
Figure BDA0003583336820000076
进行置乱,得到置乱后的二进制分层序列
Figure BDA0003583336820000077
利用位置变化置乱规则T2对二进制分层序列
Figure BDA0003583336820000078
进行置乱,得到置乱后的二进制分层序列
Figure BDA0003583336820000079
其中j=1,2,...,11,12;
然后,将二进制分层序列
Figure BDA00035833368200000710
Figure BDA00035833368200000711
依次进行如下置乱拼接操作:
S0:令j=1,置乱拼接规则参数
Figure BDA00035833368200000712
S1:判断置乱拼接规则参数rule_Perm的数值,
如果rule_Perm=0,则将置乱后的二进制分层序列
Figure BDA0003583336820000081
和置乱后的二进制分层序列
Figure BDA0003583336820000082
顺序拼接,即
Figure BDA0003583336820000083
如果rule_Perm=1,则将置乱后的二进制分层序列
Figure BDA0003583336820000084
和置乱后的二进制分层序列
Figure BDA0003583336820000085
顺序拼接,即
Figure BDA0003583336820000086
如果rule_Perm=2,则将置乱后的二进制分层序列
Figure BDA0003583336820000087
和置乱后的二进制分层序列
Figure BDA0003583336820000088
顺序拼接,并将其前后翻转,即
Figure BDA0003583336820000089
如果rule_Perm=3,则将置乱后的二进制分层序列
Figure BDA00035833368200000810
和置乱后的二进制分层序列
Figure BDA00035833368200000811
顺序拼接,并将其前后翻转,即
Figure BDA00035833368200000812
从而得到置乱拼接后的二进制分层序列
Figure BDA00035833368200000813
S2:首先将置乱拼接后的二进制分层序列
Figure BDA00035833368200000814
中元素从头到尾依次正向以10个元素为单位进行分组,得到
Figure BDA00035833368200000815
个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数
Figure BDA00035833368200000816
表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
S3:结束二进制分层序列的置乱拼接操作,从而得到置乱拼接后的二进制分层序列,表示为
Figure BDA00035833368200000817
并将其按行依次填入二进制矩阵BB中,表示如下,
Figure BDA00035833368200000818
最后,按列将二进制矩阵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,
Figure BDA0003583336820000101
最后,将低位数值序列P2逐个元素P2i转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},得到二进制矩阵B2,
Figure BDA0003583336820000102
Figure BDA0003583336820000111
其中,某段待加密汉字的长度表示为L=72,数值序列P1和P2的长度均为72,二进制矩阵B1和B2的大小为12×72;
(2)分层置乱
首先,对二进制矩阵B1按行进行分层,得到相应12个二进制分层序列,表示为
Figure BDA0003583336820000112
同样对二进制矩阵B2按行进行分层,得到相应12个二进制分层序列,表示为
Figure BDA0003583336820000113
其中j=1,2,...,11,12,
接着,利用外部加密密钥α=0.12345和β=3.75,按照如下公式分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2
Figure BDA0003583336820000114
Figure BDA0003583336820000115
由混沌系统的初值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},
利用位置变化置乱规则T1对二进制分层序列
Figure BDA0003583336820000121
进行置乱,得到置乱后的二进制分层序列
Figure BDA0003583336820000122
利用位置变化置乱规则T2对二进制分层序列
Figure BDA0003583336820000123
进行置乱,得到置乱后的二进制分层序列
Figure BDA0003583336820000124
其中j=1,2,...,11,12;
然后,将二进制分层序列
Figure BDA0003583336820000125
Figure BDA0003583336820000126
依次进行置乱拼接操作,得到二进制矩阵BB,
Figure BDA0003583336820000127
Figure BDA0003583336820000131
最后,按列将二进制矩阵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外部加密密钥发生微变时,汉字加密结果
Figure BDA0003583336820000141
Figure BDA0003583336820000151
实施例3
按上述一种基于分层置乱的汉字加密方法,其加密步骤与具体实施例1相似,仅某段待加密汉字(“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”)发生细微变化:“数居加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”;或“数据加密的基本过程就是对源来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的。”;或“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为‘密文’,以达到保护数据不被非法人窃取、阅读的目的。”;或“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃听、阅读的目的。”;或“数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,以达到保护数据不被非法人窃取、阅读的目的!”,汉字加密结果如表2所示。由表2可见:待加密汉字平文信息的细微变化会引起加密密文的“面目全非”,由此可见本专利所提一种基于分层置乱的汉字加密方法对待加密汉字的平文信息具有敏感性。
表2待加密汉字发生微变时,汉字加密结果
Figure BDA0003583336820000152
Figure BDA0003583336820000161
Figure BDA0003583336820000171
Figure BDA0003583336820000181
由上述具体实施例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,
Figure FDA0003583336810000011
最后,利用函数dec2bin(·,12),将低位数值序列P2中元素P2i逐个转换成12bits的二进制序列{PB2i1,PB2i2,PB2i3,PB2i4,PB2i5,PB2i6,PB2i7,PB2i8,PB2i9,PB2i10,PB2i11,PB2i12},并按列填入矩阵,得到二进制矩阵B2,
Figure FDA0003583336810000012
其中,某段待加密汉字包括GB2312字符集中的中文标点符号、GB2312字符集中双字节编码的汉字,某段待加密汉字的长度表示为L,数值序列P1和P2的长度均为L,二进制矩阵B1和B2的大小为12×L;
(2)分层置乱
首先,对二进制矩阵B1按行进行分层,得到相应12个二进制分层序列,表示为
Figure FDA0003583336810000013
同样对二进制矩阵B2按行进行分层,得到相应12个二进制分层序列,表示为
Figure FDA0003583336810000021
其中j=1,2,...,11,12,
接着,利用外部加密密钥α和β,按照如下公式(1)分别计算得到混沌系统的初值x1,参数μ,初始迭代步数m1、m2,以及抽取间隔n1、n2
Figure FDA0003583336810000022
Figure FDA0003583336810000023
其中,
Figure FDA0003583336810000024
分别表示二进制分层序列
Figure FDA0003583336810000025
中含二进制‘0’的个数,函数
Figure FDA0003583336810000026
表示为不大于a的最大整数,外部密钥满足α∈(0,1),β∈(3.57,4),
由混沌系统的初值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},
利用位置变化置乱规则T1对二进制分层序列
Figure FDA0003583336810000027
进行置乱,得到置乱后的二进制分层序列
Figure FDA0003583336810000028
利用位置变化置乱规则T2对二进制分层序列
Figure FDA0003583336810000029
进行置乱,得到置乱后的二进制分层序列
Figure FDA00035833368100000210
其中j=1,2,...,11,12;
然后,将二进制分层序列
Figure FDA0003583336810000031
Figure FDA0003583336810000032
依次进行如下置乱拼接操作:
S0:令j=1,置乱拼接规则参数
Figure FDA0003583336810000033
S1:判断置乱拼接规则参数rule_Perm的数值,
如果rule_Perm=0,则将置乱后的二进制分层序列
Figure FDA0003583336810000034
和置乱后的二进制分层序列
Figure FDA0003583336810000035
顺序拼接,即
Figure FDA0003583336810000036
如果rule_Perm=1,则将置乱后的二进制分层序列
Figure FDA0003583336810000037
和置乱后的二进制分层序列
Figure FDA0003583336810000038
顺序拼接,即
Figure FDA0003583336810000039
如果rule_Perm=2,则将置乱后的二进制分层序列
Figure FDA00035833368100000310
和置乱后的二进制分层序列
Figure FDA00035833368100000311
顺序拼接,并将其前后翻转,即
Figure FDA00035833368100000312
如果rule_Perm=3,则将置乱后的二进制分层序列
Figure FDA00035833368100000313
和置乱后的二进制分层序列
Figure FDA00035833368100000314
顺序拼接,并将其前后翻转,即
Figure FDA00035833368100000315
从而得到置乱拼接后的二进制分层序列
Figure FDA00035833368100000316
S2:首先将置乱拼接后的二进制分层序列
Figure FDA00035833368100000317
中元素从头到尾依次正向以10个元素为单位进行分组,得到
Figure FDA00035833368100000318
个分组序列并利用bin2dec()函数依次将各分组序列转换为数值型数据,将转换后的数值型数据之和记为DYj,其中函数
Figure FDA00035833368100000319
表示为不小于2L/10的最小整数,
然后更新置乱拼接规则参数rule_Perm=mod(DYj,4),且令j=j+1,接着判断j的大小,如果j≤12,则转入步骤S1,否则转入步骤S3,
S3:结束二进制分层序列的置乱拼接操作,从而得到置乱拼接后的二进制分层序列,表示为
Figure FDA00035833368100000320
并将其按行依次填入二进制矩阵BB中,表示如下,
Figure FDA00035833368100000321
最后,按列将二进制矩阵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。
CN202210359706.1A 2022-04-06 2022-04-06 一种基于分层置乱的汉字加密方法 Withdrawn CN114741712A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116894255A (zh) * 2023-05-29 2023-10-17 山东莱特光电科技有限公司 一种共享充电桩交易数据加密存储方法

Cited By (2)

* Cited by examiner, † Cited by third party
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