CN112887509A - 一种基于多混沌系统的融合加密方法 - Google Patents
一种基于多混沌系统的融合加密方法 Download PDFInfo
- Publication number
- CN112887509A CN112887509A CN202110286053.4A CN202110286053A CN112887509A CN 112887509 A CN112887509 A CN 112887509A CN 202110286053 A CN202110286053 A CN 202110286053A CN 112887509 A CN112887509 A CN 112887509A
- Authority
- CN
- China
- Prior art keywords
- matrix
- chaotic
- sequence
- value
- pixel
- 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
- 230000000739 chaotic effect Effects 0.000 title claims abstract description 196
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004927 fusion Effects 0.000 title claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims abstract description 311
- 238000009792 diffusion process Methods 0.000 claims abstract description 72
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 7
- 238000004140 cleaning Methods 0.000 abstract description 3
- 108020004414 DNA Proteins 0.000 description 84
- 230000001052 transient effect Effects 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 108091028051 Numt Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005336 cracking Methods 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
- 230000036039 immunity Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种基于多混沌系统的融合加密方法,以PWLCM、Kent以及一维Logistic映射混沌系统为基础,融合使用洗牌算法、比特置乱、动态DNA编码方法,由混沌系统产生不同混沌序列,使用洗牌算法清洗二进制像素值,并通过索引矩阵进行比特位级别的置乱,再以动态DNA编码进行扩散操作。本发明使用多混沌系统,具备了足够大的密钥空间,并且通过洗牌算法、比特置乱与动态DNA编码的结合,能有效抵御统计攻击与差分攻击,具有良好的安全性、抗噪声性等,增强了加密效果,提高了加密效率。
Description
技术领域
本发明涉及图像加密技术领域,特别是涉及一种基于多混沌系统的融合加密方法。
背景技术
目前由于网络环境的虚拟性与开放性,数字图像在传输过程中,容易受到黑客攻击,导致图像被窃取或者篡改。而传统的混沌图像加密算法普遍存在密钥空间小、安全性能差等缺点,影响图像加密传输的可靠性。
发明内容
本发明的目的是提供一种基于多混沌系统的融合加密方法,以增强加密效果,提高加密效率。
为实现上述目的,本发明提供了如下方案:
一种基于多混沌系统的融合加密方法,所述加密方法包括:
将明文图像代入哈希函数中,生成密钥流;
将所述密钥流每八位切分为一个比特块,获得比特块序列;一个比特块代表明文图像的一个像素;
利用PMLCM混沌系统对所述比特块序列中的第1个至第K个比特块进行迭代运算,获得第一混沌序列,并利用PMLCM混沌系统对所述比特块序列中的第K+1个至第K+M个比特块进行迭代运算,获得第二混沌序列;
根据所述第一混沌序列,利用洗牌算法对所述明文图像的每个像素中的八个比特位进行重排列,获得每个重排列后的像素,所有重排列后的像素构成明文图像的像素矩阵;
对所述像素矩阵进行拆分,获得第一拆分矩阵和第二拆分矩阵;所述第一拆分矩阵为所述像素矩阵中每个像素的前四个比特位构成的矩阵,所述第二拆分矩阵为所述像素矩阵中每个像素的后四个比特位构成的矩阵;
根据所述第二混沌序列,对所述第一拆分矩阵和所述第二拆分矩阵进行交叉置换,获得第一置换矩阵和第二置换矩阵;
利用Kent混沌系统对所述比特块序列中的第K+M+1个至第K+2M个比特块进行迭代运算,获得第三混沌序列;
根据所述第三混沌序列,对所述第一置换矩阵和所述第二置换矩阵进行合并,获得合并矩阵;
根据所述第三混沌序列,利用DNA编码算法对所述合并矩阵进行编码,获得第一编码矩阵;
利用一维Logistic混沌系统对所述第一编码矩阵中表示第一碱基的参数和所述第一编码矩阵中表示第二碱基的参数进行迭代运算,获得第四混沌序列,并将所述第四混沌序列排列成与所述明文图像大小相同的排列矩阵;
根据所述第一编码矩阵中表示第三碱基的参数,利用DNA编码算法对所述排列矩阵进行编码,获得第二编码矩阵;
根据所述第一编码矩阵中表示第四碱基的参数,对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果;
对所述DNA运算结果进行DNA解码,获得密文图像。
可选的,所述利用PMLCM混沌系统对所述比特块序列中的第1个至第K个比特块进行迭代运算,获得第一混沌序列,并利用PMLCM混沌系统对所述比特块序列中的第K+1个至第K+M个比特块进行迭代运算,获得第二混沌序列,具体包括:
初始化第一组扩散初值和第二组扩散初值;所述第一组扩散初值和所述第二组扩散初值均包括第一扩散初值和第二扩散初值;
根据所述第一组扩散初值和所述比特块序列中的第1个至第K个比特块,利用公式获得第一组扩散值;其中,η1和分别为第一组扩散值中的第一扩散值和第二扩散值,η′和x′0分别为第一组扩散初值中的第一扩散初值和第二扩散初值,k1~k10为比特块序列中的第1个至第10个比特块,mod表示取余;
将所述第一组扩散值代入PMLCM混沌系统进行迭代运算,获得第一混沌序列;
根据所述第二组扩散初值和所述比特块序列中的第K+1个至第K+M个比特块,利用公式获得第二组扩散值;其中,η2和分别为第二组扩散值中的第一扩散值和第二扩散值,η″和分别为第二组扩散初值中的第一扩散初值和第二扩散初值,k11~k20为比特块序列中的第11个至第20个比特块;
将所述第二组扩散值代入PMLCM混沌系统进行迭代运算,获得第二混沌序列。
可选的,根据所述第一混沌序列,利用洗牌算法对所述明文图像的每个像素中的八个比特位进行重排列,获得每个重排列后的像素,所有重排列后的像素构成明文图像的像素矩阵,具体包括:
将所述明文图像的每个像素的十进制像素值转化为八位二进制像素值;
将所述第一混沌序列顺次划分为多个混沌子序列;每个混沌子序列包含7个混沌值,一个混沌子序列代表明文图像的一个像素;
令所述混沌子序列的序号g为1;
令第g个混沌子序列中混沌值的序号i1为1,第一变量m为8;
将所述明文图像的第g个像素中的第k+1位与第m位进行互换;
将i1的数值增加1,m的数值减小1,返回步骤“根据第g个混沌子序列中第i1个混沌值和所述第一变量,利用公式确定第二变量k”,直到第g个八位二进制像素值中所有八位的二进制像素值全部进行了置换,获得每个重排列后的像素;
将g的数值增加1,返回步骤“令第g个混沌子序列中混沌值的序号i1为1,第一变量m为8”,直到遍历完所有混沌子序列,获得所有重排列后的像素,并构成明文图像的像素矩阵。
可选的,根据所述第二混沌序列,对所述第一拆分矩阵和所述第二拆分矩阵进行交叉置换,获得第一置换矩阵和第二置换矩阵,具体包括:
将所述第二混沌序列按照先行后列的顺序依次填充成第一填充矩阵和第二填充矩阵;所述第一填充矩阵和所述第二填充矩阵的大小均与所述明文图像的大小相同;
对所述第一填充矩阵的每一行中的所有值进行排序,将每一行中排序后的值按照从小到大的顺序从1开始依次增加1进行标记,获得第一索引矩阵;
对所述第二填充矩阵的每一列中的所有值进行排序,将每一列中排序后的值按照从小到大的顺序从1开始依次增加1进行标记,获得第二索引矩阵;
分别将所述第一索引矩阵和所述第二索引矩阵中的每个格点的值作为各自格点的纵坐标,每个格点所在的列的序号作为横坐标,构成每个格点的坐标,获得第一坐标矩阵和第二坐标矩阵;
将所述第一拆分矩阵按照所述第一坐标矩阵中相对应地格点的坐标与所述第二拆分矩阵进行置换,获得第三置换矩阵和第四置换矩阵;
将所述第四置换矩阵按照所述第二坐标矩阵中相对应地格点的坐标与所述第三置换矩阵进行置换,获得第一置换矩阵和第二置换矩阵。
可选的,根据所述第三混沌序列,对所述第一置换矩阵和所述第二置换矩阵进行合并,获得合并矩阵,具体包括:
令所述第三混沌序列中混沌值对应的像素的序号i2为1;
判断所述第三混沌序列中对应第i2个像素的混沌值是否小于混沌值阈值,获得判断结果;
若所述判断结果表示否,则将所述第一置换矩阵的第i2个像素的四位比特位在前,所述第二置换矩阵的第i2个像素的四位比特位在后进行拼接合并;
若所述判断结果表示是,则将所述第二置换矩阵的第i2个像素的四位比特位在前,所述第一置换矩阵的第i2个像素的四位比特位在后进行拼接合并;
将i2的数值增加1,返回步骤“判断所述第三混沌序列中对应第i2个像素的混沌值是否小于混沌值阈值,获得判断结果”,直到遍历完所述第三混沌序列,获得合并矩阵;所述合并矩阵的每个格点为八个比特位的像素。
可选的,根据所述第三混沌序列,利用DNA编码算法对所述合并矩阵进行编码,获得第一编码矩阵,具体包括:
令所述第三混沌序列中混沌值对应的像素的序号i3为1;
根据所述第n种DNA编码规则,利用DNA编码算法对所述合并矩阵的第i3个像素的八个比特位进行编码;
可选的,根据所述第三混沌序列,利用DNA编码算法对所述合并矩阵进行编码,获得第一编码矩阵,之后还包括:
分别计算所述第一编码矩阵中第一碱基的数量、第二碱基的数量、第三碱基的数量和第四碱基的数量;
其中,μj为表示第j碱基的参数,numj为第j碱基的数量,M为第一编码矩阵的长度,N为第一编码矩阵的宽度。
可选的,所述利用一维Logistic混沌系统对所述第一编码矩阵中表示第一碱基的参数和所述第一编码矩阵中表示第二碱基的参数进行迭代运算,获得第四混沌序列,具体包括:
将所述映射参数初始值和所述系统非线性强度控制参数代入一维Logistic混沌系统中进行迭代运算,获得第四混沌序列;所述第四混沌序列的长度等于待加密图像的长与宽的乘积。
可选的,根据所述第一编码矩阵中表示第三碱基的参数,利用DNA编码算法对所述排列矩阵进行编码,获得第二编码矩阵,具体包括:
根据所述表示第三碱基的参数,选择DNA编码规则表中第mod(μC×104,8)+1种DNA编码规则;其中,μC为表示第三碱基的参数,mod表示取余;
将所述排列矩阵中每个像素的十进制像素值转化为八位二进制像素值,获得转化后的排列矩阵;
根据所述第mod(μC×104,8)+1种DNA编码规则,利用DNA编码算法对所述转化后的排列矩阵进行编码,获得第二编码矩阵。
可选的,根据所述第一编码矩阵中表示第四碱基的参数,对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果,具体包括:
根据表示第四碱基的参数,利用公式P=mod(μT×104,3)+1计算运算参数P的值;其中,μT为表示第四碱基的参数,mod表示取余;
当所述运算参数的值为1时,选择DNA加法运算对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果;
当所述运算参数的值为2时,选择DNA减法运算对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果;
当所述运算参数的值为3时,选择DNA异或运算对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种基于多混沌系统的融合加密方法,以PWLCM、Kent以及一维Logistic映射混沌系统为基础,融合使用洗牌算法、比特置乱、动态DNA编码方法,由混沌系统产生不同混沌序列,使用洗牌算法清洗二进制像素值,并通过索引矩阵进行比特位级别的置乱,再以动态DNA编码进行扩散操作。本发明使用多混沌系统,具备了足够大的密钥空间,并且通过洗牌算法、比特置乱与动态DNA编码的结合,能有效抵御统计攻击与差分攻击,具有良好的安全性、抗噪声性等,增强了加密效果,提高了加密效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于多混沌系统的融合加密方法的流程图;
图2为本发明提供的一种基于多混沌系统的融合加密方法的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于多混沌系统的融合加密方法,以增强加密效果,提高加密效率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种基于多混沌系统的融合加密方法,如图1-2所示,加密方法包括:
S101,将明文图像代入哈希函数中,生成密钥流;
S102,将密钥流每八位切分为一个比特块,获得比特块序列;一个比特块代表明文图像的一个像素;
S103,利用PMLCM混沌系统对比特块序列中的第1个至第K个比特块进行迭代运算,获得第一混沌序列,并利用PMLCM混沌系统对比特块序列中的第K+1个至第K+M个比特块进行迭代运算,获得第二混沌序列;
S104,根据第一混沌序列,利用洗牌算法对明文图像的每个像素中的八个比特位进行重排列,获得每个重排列后的像素,所有重排列后的像素构成明文图像的像素矩阵;
S105,对像素矩阵进行拆分,获得第一拆分矩阵和第二拆分矩阵;第一拆分矩阵为像素矩阵中每个像素的前四个比特位构成的矩阵,第二拆分矩阵为像素矩阵中每个像素的后四个比特位构成的矩阵;
S106,根据第二混沌序列,对第一拆分矩阵和第二拆分矩阵进行交叉置换,获得第一置换矩阵和第二置换矩阵;
S107,利用Kent混沌系统对比特块序列中的第K+M+1个至第K+2M个比特块进行迭代运算,获得第三混沌序列;
S108,根据第三混沌序列,对第一置换矩阵和第二置换矩阵进行合并,获得合并矩阵;
S109,根据第三混沌序列,利用DNA编码算法对合并矩阵进行编码,获得第一编码矩阵;
S110,利用一维Logistic混沌系统对第一编码矩阵中表示第一碱基的参数和第一编码矩阵中表示第二碱基的参数进行迭代运算,获得第四混沌序列,并将第四混沌序列排列成与明文图像大小相同的排列矩阵;
S111,根据第一编码矩阵中表示第三碱基的参数,利用DNA编码算法对排列矩阵进行编码,获得第二编码矩阵;
S112,根据第一编码矩阵中表示第四碱基的参数,对第一编码矩阵和第二编码矩阵进行DNA运算,获得DNA运算结果;
S113,对DNA运算结果进行DNA解码,获得密文图像。
具体过程如下:
步骤S101,将大小为M×N的灰度明文图像代入SHA256哈希函数中,生成256位的哈希值K′,由于SHA256哈希函数对初始值异常敏感,即使明文图像有了非常微小的变化,所生成的哈希值也会截然不同。
步骤S102,将K′切分为8位的比特块ki,则K′=k1,k2,…,k32。
步骤S103,初始化第一组扩散初值和第二组扩散初值;第一组扩散初值和第二组扩散初值均包括第一扩散初值和第二扩散初值;
根据第一组扩散初值和比特块序列中的第1个至第K个比特块,利用公式获得第一组扩散值;其中,η1和分别为第一组扩散值中的第一扩散值和第二扩散值,η′和x′0分别为第一组扩散初值中的第一扩散初值和第二扩散初值,k1~k10为比特块序列中的第1个至第10个比特块,mod表示取余;
将第一组扩散值代入PMLCM混沌系统进行迭代运算,获得第一混沌序列;
根据第二组扩散初值和比特块序列中的第K+1个至第K+M个比特块,利用公式获得第二组扩散值;其中,η2和分别为第二组扩散值中的第一扩散值和第二扩散值,η″和分别为第二组扩散初值中的第一扩散初值和第二扩散初值,k11~k20为比特块序列中的第11个至第20个比特块;
将第二组扩散值代入PMLCM混沌系统进行迭代运算,获得第二混沌序列。
步骤S104,将明文图像的每个像素的十进制像素值转化为八位二进制像素值;
将第一混沌序列顺次划分为多个混沌子序列;每个混沌子序列包含7个混沌值,一个混沌子序列代表明文图像的一个像素;
令混沌子序列的序号g为1;
令第g个混沌子序列中混沌值的序号i1为1,第一变量m为8;
根据第g个混沌子序列中第i1个混沌值和第一变量,利用公式k=floor(xi1×m),确定第二变量k;其中,k为[0,m-1]区间上的整数,为第g个混沌子序列中第i1个混沌值,floor()为向下取整函数;
将明文图像的第g个像素中的第k+1位与第m位进行互换;
将i1的数值增加1,m的数值减小1,返回步骤“根据第g个混沌子序列中第i1个混沌值和第一变量,利用公式确定第二变量k”,直到第g个八位二进制像素值中所有八位的二进制像素值全部进行了置换,获得每个重排列后的像素;
将g的数值增加1,返回步骤“令第g个混沌子序列中混沌值的序号i1为1,第一变量m为8”,直到遍历完所有混沌子序列,获得所有重排列后的像素,并构成明文图像的像素矩阵。
步骤S106,根据第二混沌序列,对第一拆分矩阵和第二拆分矩阵进行交叉置换,获得第一置换矩阵和第二置换矩阵,具体包括:
将第二混沌序列按照先行后列的顺序依次填充成第一填充矩阵和第二填充矩阵;第一填充矩阵和第二填充矩阵的大小均与明文图像的大小相同;
对第一填充矩阵的每一行中的所有值进行排序,将每一行中排序后的值按照从小到大的顺序从1开始依次增加1进行标记,获得第一索引矩阵;
对第二填充矩阵的每一列中的所有值进行排序,将每一列中排序后的值按照从小到大的顺序从1开始依次增加1进行标记,获得第二索引矩阵;
分别将第一索引矩阵和第二索引矩阵中的每个格点的值作为各自格点的纵坐标,每个格点所在的列的序号作为横坐标,构成每个格点的坐标,获得第一坐标矩阵和第二坐标矩阵;
将第一拆分矩阵按照第一坐标矩阵中相对应地格点的坐标与第二拆分矩阵进行置换,获得第三置换矩阵和第四置换矩阵;
将第四置换矩阵按照第二坐标矩阵中相对应地格点的坐标与第三置换矩阵进行置换,获得第一置换矩阵和第二置换矩阵。
步骤S108,根据第三混沌序列,对第一置换矩阵和第二置换矩阵进行合并,获得合并矩阵,具体包括:
令第三混沌序列中混沌值对应的像素的序号i2为1;
判断第三混沌序列中对应第i2个像素的混沌值是否小于混沌值阈值,获得判断结果;
若判断结果表示否,则将第一置换矩阵的第i2个像素的四位比特位在前,第二置换矩阵的第i2个像素的四位比特位在后进行拼接合并;
若判断结果表示是,则将第二置换矩阵的第i2个像素的四位比特位在前,第一置换矩阵的第i2个像素的四位比特位在后进行拼接合并;
将i2的数值增加1,返回步骤“判断第三混沌序列中对应第i2个像素的混沌值是否小于混沌值阈值,获得判断结果”,直到遍历完第三混沌序列,获得合并矩阵;合并矩阵的每个格点为八个比特位的像素。
步骤S109,根据第三混沌序列,利用DNA编码算法对合并矩阵进行编码,获得第一编码矩阵,具体包括:
令第三混沌序列中混沌值对应的像素的序号i3为1;
根据第n种DNA编码规则,利用DNA编码算法对合并矩阵的第i3个像素的八个比特位进行编码;
步骤S109,之后还包括:
分别计算第一编码矩阵中第一碱基的数量、第二碱基的数量、第三碱基的数量和第四碱基的数量;
其中,μj为表示第j碱基的参数,numj为第j碱基的数量,M为第一编码矩阵的长度,N为第一编码矩阵的宽度。
步骤S110,利用一维Logistic混沌系统对第一编码矩阵中表示第一碱基的参数和第一编码矩阵中表示第二碱基的参数进行迭代运算,获得第四混沌序列,具体包括:
将映射参数初始值和系统非线性强度控制参数代入一维Logistic混沌系统中进行迭代运算,获得第四混沌序列;第四混沌序列的长度等于待加密图像的长与宽的乘积。
步骤S111,根据第一编码矩阵中表示第三碱基的参数,利用DNA编码算法对排列矩阵进行编码,获得第二编码矩阵,具体包括:
根据表示第三碱基的参数,选择DNA编码规则表中第mod(μC×104,8)+1种DNA编码规则;其中,μC为表示第三碱基的参数,mod表示取余;
将排列矩阵中每个像素的十进制像素值转化为八位二进制像素值,获得转化后的排列矩阵;
根据第mod(μC×104,8)+1种DNA编码规则,利用DNA编码算法对转化后的排列矩阵进行编码,获得第二编码矩阵。
步骤S112,根据第一编码矩阵中表示第四碱基的参数,对第一编码矩阵和第二编码矩阵进行DNA运算,获得DNA运算结果,具体包括:
根据表示第四碱基的参数,利用公式P=mod(μT×104,3)+1计算运算参数P的值;其中,μT为表示第四碱基的参数,mod表示取余;
当运算参数的值为1时,选择DNA加法运算对第一编码矩阵和第二编码矩阵进行DNA运算,获得DNA运算结果;
当运算参数的值为2时,选择DNA减法运算对第一编码矩阵和第二编码矩阵进行DNA运算,获得DNA运算结果;
当运算参数的值为3时,选择DNA异或运算对第一编码矩阵和第二编码矩阵进行DNA运算,获得DNA运算结果。
本发明以PWLCM、Kent以及一维Logistic映射混沌系统为基础,融合使用洗牌算法、比特置乱、动态DNA编码方法的图像加密算法,由混沌系统产生不同混沌序列,使用洗牌算法清洗二进制像素值,并通过索引矩阵进行比特位级别的置乱,再以动态DNA编码进行扩散操作。
本发明具有以下优点:
1、相较于传统的混沌图像加密方法,加密效果与加密效率更好。
2、通过洗牌算法、比特置乱与动态DNA编码的结合,能有效抵御统计攻击与差分攻击,具有良好的安全性、抗噪声性等。
3、使用多混沌系统,具备足够大的密钥空间。
本发明还提供了利用基于多混沌系统的融合加密方法对明文图像进行加密的具体实施例。
1.混沌系统
混沌系统是一种复杂的非线性随机系统,对初始值异常敏感,即便是非常相近的两个初始值,在经过混沌系统的迭代后产生的混沌序列也是截然不同的。除此之外,混沌系统具有遍历性,能够不重复地经历一定范围内的所有状态,并且产生的序列是伪随机的。上述特点使得混沌系统与数字图像加密非常契合,但是大量研究表明,单一的使用混沌系统的图像加密算法难以保证安全性,因此需要与其他有效的加密机制进行融合。本方法融合使用了PWLCM(分段线性混沌映射,Piecewise Linear Chaotic Map)、Kent映射、以及一维Logistic映射三个混沌系统。
2.洗牌算法
洗牌算法(Fisher-Yates shuffle)由RonaldFisher和FrankYates提出,可以高效的将一个有限集合生成一个等概率随机排列的序列。它的做法是:假设该序列有n个元素,将最后一个元素和前面任意n-1个元素数中的任意一个进行交换,之后倒数第二个元素和前面任意n-2个元素中的任意一个进行交换,依次迭代。
3.比特置乱
比特置乱指的是比特位级别的像素置乱。将原始图片的每一个像素值由十进制转换成二进制形式,由于像素值十进制取值区间为0~255,所以每个十进制像素值由八位二进制表示,不足八位的高位由0补齐。比特置乱即为对二进制像素值的八个比特位进行位置或大小的置乱,最后重新转换为十进制得到密文。
4.动态DNA编码
DNA编码加密是密码学和生物技术相结合的新型研究领域,实现原理是将数据信息进行DNA编码,通过独特的DNA代数运算来实现图像的置乱与扩散。由于DNA编码规则只有8种,选择空间小,为了提高破解难度,引入动态DNA编码技术,动态DNA编码指的是使用在加密过程中生成的随机参数,动态地决定DNA编码使用的编码规则与计算规则,提高了算法安全性。
如图2所示,首先将大小为M×N的灰度明文图像代入SHA256哈希函数中,生成256位的哈希值K,由于SHA256哈希函数对初始值异常敏感,即使明文图像有了非常微小的变化,所生成的哈希值也会截然不同。将K切分为8位的比特块ki,则K=k1,k2,…,k32。
人为选择两组初始值η'、x0'与η”、x0”,其中η',η”∈(0,0.5),x0',x0”∈(0,0.1)。
人为选择初始值S*和x0*,其中S*,x0*∈(0,1)。
之后将原灰度明文图像的每一个十进制像素值转化为8位二进制,通过洗牌算法与混沌序列A来清洗像素二进制的8个比特位,达到随机重排列。清洗的方法如下:设混沌序列的某个混沌值为x,取随机数i=floor(x×n),其中floor为向下取整操作,n初始值为8。由于PWLCM混沌系统产生的混沌值都在(0,1)区间上,则i为[0,n-1]区间上的整数,将八位二进制数标记为下标0~7,将下标为i的值与下标为n-1的值进行互换,之后将n的值减小1,重复上述操作,直到n为1,便完成了清洗操作。比如第一次通过floor(x×8)取到0~7之间的随机数,假设取到了3,则把下标为3的数与最后一个下标为7的数互换,现在还有下标0~6的数需要排列,第二次则按照floor(x×7)取到0~6之间的随机数,假设取到了2,则把下标为2的数与最后一个小标为6的数互换,重复该操作,直到8个数全部进行随机重排列。
接着把重排列后的8比特位矩阵拆分为前4比特位矩阵Q与后4比特位矩阵R,将混沌序列B按先行后列的顺序依次填充成两个大小为M×N的矩阵,命名为X和Y,矩阵X每行比较大小,矩阵Y每列比较大小,得到两个索引矩阵X1和Y1。以矩阵X为例,若矩阵X的第一行为(0.32,0.81,0.12,0.57),对第一行比较大小,由于第二列最大,第四列其次,第一列再次,第三列最小,故得出第一行的索引(2,4,1,3)。如下表所示,表1为索引矩阵X1,表2为X1对应的坐标矩阵X2,将矩阵Q按照坐标矩阵X2所示与矩阵R进行置换,比如矩阵Q坐标为(1,1)的值与矩阵R坐标为(1,2)的值进行置换,矩阵Q坐标为(1,2)的值与矩阵R坐标为(2,4)的值进行置换,以此类推,置换完毕后得到矩阵Q”和矩阵R”。之后将矩阵R”按照Y1对应的坐标矩阵Y2与矩阵Q”进行置换,该过程与上述步骤类似。置换完毕后得到矩阵Q'和矩阵R'。
表1索引矩阵X1
2 | 4 | 1 | 3 |
4 | 2 | 1 | 3 |
2 | 1 | 3 | 4 |
1 | 3 | 4 | 2 |
表2坐标矩阵X2
(1,2) | (2,4) | (3,1) | (4,3) |
(1,4) | (2,2) | (3,1) | (4,3) |
(1,2) | (2,1) | (3,3) | (4,4) |
(1,1) | (2,3) | (3,4) | (4,2) |
再遍历矩阵Q'和矩阵R'的每一个元素,用混沌序列C来判断合并的先后顺序。若混沌值x≥0.5,则将Q'(i,j)在前,R'(i,j)在后进行拼接合并,若混沌值x<0.5,则顺序调转,R'(i,j)在前,Q'(i,j)在后进行拼接,得到合并矩阵H,其中Q'(i,j)和R'(i,j)分别为矩阵Q'和矩阵R'的i行j列的4位二进制值。拼接合并完毕时,如表3所示,选择符合混沌值在之间,其中n=0,1,2,3,4,5,6,7,8要求的第n种DNA编码规则,比如若混沌值为0.73,0.73在之间,此时n=6,则选择第6种DNA编码规则。对矩阵H进行编码,得到编码矩阵E,计算矩阵E的四种碱基A、G、C和T的数量numA、numG、numC和numT,用以下公式进行非线性归一化,得到四个参数μA、μG、μC和μT。
表3 DNA编码规则方式
类型 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
A | 00 | 00 | 01 | 01 | 10 | 10 | 11 | 11 |
T | 11 | 11 | 10 | 10 | 01 | 01 | 00 | 00 |
C | 01 | 10 | 00 | 11 | 00 | 11 | 01 | 10 |
G | 10 | 01 | 11 | 00 | 11 | 00 | 10 | 01 |
一维Logistic映射是一种常见的混沌系统,它的定义为xn+1=λxn(1-xn),其中λ为系统非线性强度控制参数,0<xn<1,当3.5699456<λ<4,Logistic映射将处于混沌状态。
将x0=μA,作为初始值代入一维Logistic混沌映射中,迭代800+M×N次,去除前800次的数据以消除暂态效应,得到长度为M×N的混沌序列D,将其按先行后列的顺序依次排列成与原图像大小相同的M×N的矩阵。选择表1中第mod(μC×104,8)+1种编码规则进行编码,得到编码矩阵F。计算mod(μT×104,3)+1的值,值为1时,DNA运算规则选择加法运算,值为2时,选择减法运算,值为3时,选择异或运算,表4、表5和表6列出了DNA加法、减法和异或的运算规则。之后对编码矩阵E和F进行上述选定的DNA运算,最后进行DNA解码即可得到最终的密文图像。
表4 DNA加法运算
加法 | A | G | C | T |
A | A | G | C | T |
G | G | C | T | A |
C | C | T | A | G |
T | T | A | G | C |
表5 DNA减法运算
减法 | A | G | C | T |
A | A | T | C | G |
G | G | A | T | C |
C | C | G | A | T |
T | T | C | G | A |
表6 DNA异或运算
异或 | A | G | C | T |
A | A | G | C | T |
G | G | A | T | C |
C | C | T | A | G |
T | T | C | G | A |
本方法在多混沌系统的基础上,结合洗牌算法、比特置乱与动态DNA编码,增强加密效果,提高加密效率,同时在抵御统计攻击与差分攻击等安全性指标方面表现良好。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于多混沌系统的融合加密方法,其特征在于,所述加密方法包括:
将明文图像代入哈希函数中,生成密钥流;
将所述密钥流每八位切分为一个比特块,获得比特块序列;一个比特块代表明文图像的一个像素;
利用PMLCM混沌系统对所述比特块序列中的第1个至第K个比特块进行迭代运算,获得第一混沌序列,并利用PMLCM混沌系统对所述比特块序列中的第K+1个至第K+M个比特块进行迭代运算,获得第二混沌序列;
根据所述第一混沌序列,利用洗牌算法对所述明文图像的每个像素中的八个比特位进行重排列,获得每个重排列后的像素,所有重排列后的像素构成明文图像的像素矩阵;
对所述像素矩阵进行拆分,获得第一拆分矩阵和第二拆分矩阵;所述第一拆分矩阵为所述像素矩阵中每个像素的前四个比特位构成的矩阵,所述第二拆分矩阵为所述像素矩阵中每个像素的后四个比特位构成的矩阵;
根据所述第二混沌序列,对所述第一拆分矩阵和所述第二拆分矩阵进行交叉置换,获得第一置换矩阵和第二置换矩阵;
利用Kent混沌系统对所述比特块序列中的第K+M+1个至第K+2M个比特块进行迭代运算,获得第三混沌序列;
根据所述第三混沌序列,对所述第一置换矩阵和所述第二置换矩阵进行合并,获得合并矩阵;
根据所述第三混沌序列,利用DNA编码算法对所述合并矩阵进行编码,获得第一编码矩阵;
利用一维Logistic混沌系统对所述第一编码矩阵中表示第一碱基的参数和所述第一编码矩阵中表示第二碱基的参数进行迭代运算,获得第四混沌序列,并将所述第四混沌序列排列成与所述明文图像大小相同的排列矩阵;
根据所述第一编码矩阵中表示第三碱基的参数,利用DNA编码算法对所述排列矩阵进行编码,获得第二编码矩阵;
根据所述第一编码矩阵中表示第四碱基的参数,对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果;
对所述DNA运算结果进行DNA解码,获得密文图像。
2.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,所述利用PMLCM混沌系统对所述比特块序列中的第1个至第K个比特块进行迭代运算,获得第一混沌序列,并利用PMLCM混沌系统对所述比特块序列中的第K+1个至第K+M个比特块进行迭代运算,获得第二混沌序列,具体包括:
初始化第一组扩散初值和第二组扩散初值;所述第一组扩散初值和所述第二组扩散初值均包括第一扩散初值和第二扩散初值;
根据所述第一组扩散初值和所述比特块序列中的第1个至第K个比特块,利用公式获得第一组扩散值;其中,η1和分别为第一组扩散值中的第一扩散值和第二扩散值,η′和x′0分别为第一组扩散初值中的第一扩散初值和第二扩散初值,k1~k10为比特块序列中的第1个至第10个比特块,mod表示取余;
将所述第一组扩散值代入PMLCM混沌系统进行迭代运算,获得第一混沌序列;
根据所述第二组扩散初值和所述比特块序列中的第K+1个至第K+M个比特块,利用公式获得第二组扩散值;其中,η2和分别为第二组扩散值中的第一扩散值和第二扩散值,η″和分别为第二组扩散初值中的第一扩散初值和第二扩散初值,k11~k20为比特块序列中的第11个至第20个比特块;
将所述第二组扩散值代入PMLCM混沌系统进行迭代运算,获得第二混沌序列。
3.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,根据所述第一混沌序列,利用洗牌算法对所述明文图像的每个像素中的八个比特位进行重排列,获得每个重排列后的像素,所有重排列后的像素构成明文图像的像素矩阵,具体包括:
将所述明文图像的每个像素的十进制像素值转化为八位二进制像素值;
将所述第一混沌序列顺次划分为多个混沌子序列;每个混沌子序列包含7个混沌值,一个混沌子序列代表明文图像的一个像素;
令所述混沌子序列的序号g为1;
令第g个混沌子序列中混沌值的序号i1为1,第一变量m为8;
将所述明文图像的第g个像素中的第k+1位与第m位进行互换;
将i1的数值增加1,m的数值减小1,返回步骤“根据第g个混沌子序列中第i1个混沌值和所述第一变量,利用公式确定第二变量k”,直到第g个八位二进制像素值中所有八位的二进制像素值全部进行了置换,获得每个重排列后的像素;
将g的数值增加1,返回步骤“令第g个混沌子序列中混沌值的序号i1为1,第一变量m为8”,直到遍历完所有混沌子序列,获得所有重排列后的像素,并构成明文图像的像素矩阵。
4.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,根据所述第二混沌序列,对所述第一拆分矩阵和所述第二拆分矩阵进行交叉置换,获得第一置换矩阵和第二置换矩阵,具体包括:
将所述第二混沌序列按照先行后列的顺序依次填充成第一填充矩阵和第二填充矩阵;所述第一填充矩阵和所述第二填充矩阵的大小均与所述明文图像的大小相同;
对所述第一填充矩阵的每一行中的所有值进行排序,将每一行中排序后的值按照从小到大的顺序从1开始依次增加1进行标记,获得第一索引矩阵;
对所述第二填充矩阵的每一列中的所有值进行排序,将每一列中排序后的值按照从小到大的顺序从1开始依次增加1进行标记,获得第二索引矩阵;
分别将所述第一索引矩阵和所述第二索引矩阵中的每个格点的值作为各自格点的纵坐标,每个格点所在的列的序号作为横坐标,构成每个格点的坐标,获得第一坐标矩阵和第二坐标矩阵;
将所述第一拆分矩阵按照所述第一坐标矩阵中相对应地格点的坐标与所述第二拆分矩阵进行置换,获得第三置换矩阵和第四置换矩阵;
将所述第四置换矩阵按照所述第二坐标矩阵中相对应地格点的坐标与所述第三置换矩阵进行置换,获得第一置换矩阵和第二置换矩阵。
5.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,根据所述第三混沌序列,对所述第一置换矩阵和所述第二置换矩阵进行合并,获得合并矩阵,具体包括:
令所述第三混沌序列中混沌值对应的像素的序号i2为1;
判断所述第三混沌序列中对应第i2个像素的混沌值是否小于混沌值阈值,获得判断结果;
若所述判断结果表示否,则将所述第一置换矩阵的第i2个像素的四位比特位在前,所述第二置换矩阵的第i2个像素的四位比特位在后进行拼接合并;
若所述判断结果表示是,则将所述第二置换矩阵的第i2个像素的四位比特位在前,所述第一置换矩阵的第i2个像素的四位比特位在后进行拼接合并;
将i2的数值增加1,返回步骤“判断所述第三混沌序列中对应第i2个像素的混沌值是否小于混沌值阈值,获得判断结果”,直到遍历完所述第三混沌序列,获得合并矩阵;所述合并矩阵的每个格点为八个比特位的像素。
6.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,根据所述第三混沌序列,利用DNA编码算法对所述合并矩阵进行编码,获得第一编码矩阵,具体包括:
令所述第三混沌序列中混沌值对应的像素的序号i3为1;
根据所述第n种DNA编码规则,利用DNA编码算法对所述合并矩阵的第i3个像素的八个比特位进行编码;
9.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,根据所述第一编码矩阵中表示第三碱基的参数,利用DNA编码算法对所述排列矩阵进行编码,获得第二编码矩阵,具体包括:
根据所述表示第三碱基的参数,选择DNA编码规则表中第mod(μC×104,8)+1种DNA编码规则;其中,μC为表示第三碱基的参数,mod表示取余;
将所述排列矩阵中每个像素的十进制像素值转化为八位二进制像素值,获得转化后的排列矩阵;
根据所述第mod(μC×104,8)+1种DNA编码规则,利用DNA编码算法对所述转化后的排列矩阵进行编码,获得第二编码矩阵。
10.根据权利要求1所述的基于多混沌系统的融合加密方法,其特征在于,根据所述第一编码矩阵中表示第四碱基的参数,对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果,具体包括:
根据表示第四碱基的参数,利用公式P=mod(μT×104,3)+1计算运算参数P的值;其中,μT为表示第四碱基的参数,mod表示取余;
当所述运算参数的值为1时,选择DNA加法运算对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果;
当所述运算参数的值为2时,选择DNA减法运算对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果;
当所述运算参数的值为3时,选择DNA异或运算对所述第一编码矩阵和所述第二编码矩阵进行DNA运算,获得DNA运算结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286053.4A CN112887509A (zh) | 2021-03-17 | 2021-03-17 | 一种基于多混沌系统的融合加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110286053.4A CN112887509A (zh) | 2021-03-17 | 2021-03-17 | 一种基于多混沌系统的融合加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112887509A true CN112887509A (zh) | 2021-06-01 |
Family
ID=76041013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110286053.4A Withdrawn CN112887509A (zh) | 2021-03-17 | 2021-03-17 | 一种基于多混沌系统的融合加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887509A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201767A (zh) * | 2021-10-25 | 2022-03-18 | 苏州斯普锐智能系统股份有限公司 | 基于rna的图像加密方法 |
CN115085906A (zh) * | 2022-08-18 | 2022-09-20 | 中钜(陕西)工程咨询管理有限公司 | 一种工程造价数据的储存方法 |
-
2021
- 2021-03-17 CN CN202110286053.4A patent/CN112887509A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114201767A (zh) * | 2021-10-25 | 2022-03-18 | 苏州斯普锐智能系统股份有限公司 | 基于rna的图像加密方法 |
CN115085906A (zh) * | 2022-08-18 | 2022-09-20 | 中钜(陕西)工程咨询管理有限公司 | 一种工程造价数据的储存方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | A novel chaotic algorithm for image encryption utilizing one-time pad based on pixel level and DNA level | |
CN113225449B (zh) | 一种基于混沌序列和dna编码的图像加密方法 | |
CN109376540B (zh) | 一种基于Duffing映射与遗传操作的图像加密方法 | |
CN111105339B (zh) | 一种基于多维混沌系统和约瑟夫置乱的图像加密方法 | |
CN109903212B (zh) | 一种基于H几何分形和Hilbert曲线的图像加密方法 | |
Naim et al. | A novel satellite image encryption algorithm based on hyperchaotic systems and Josephus problem | |
Samiullah et al. | An image encryption scheme based on DNA computing and multiple chaotic systems | |
CN107590842B (zh) | 基于像素和dna交叉动态混沌密码的图像加密方法和装置 | |
Abdullah et al. | A hybrid genetic algorithm and chaotic function model for image encryption | |
CN108366181A (zh) | 一种基于超混沌系统和多级置乱的图像加密方法 | |
CN111294481B (zh) | 基于自更新变换、双随机三维矩阵置乱和dna计算的图像加密方法 | |
CN108665404B (zh) | 基于量子混沌映射和dna编码的图像加密方法 | |
CN113904764A (zh) | 基于多尺度压缩感知和马尔科夫模型的图像加密方法 | |
CN106952213A (zh) | 基于比特置换与动态dna编码的混沌图像加密方法 | |
CN105046161A (zh) | 基于dna动态编码的彩色图像加密方法 | |
CN114549266B (zh) | 基于dna置换规则和混沌系统的图像加密方法 | |
CN112887509A (zh) | 一种基于多混沌系统的融合加密方法 | |
CN112769545B (zh) | 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法 | |
Gupta et al. | A new image encryption algorithm based on DNA approach | |
CN107590394A (zh) | 一种基于混沌映射和比特重组的图像加密方法 | |
Zhang et al. | An image encryption scheme based on constructing large permutation with chaotic sequence | |
Elamrawy et al. | An image encryption based on DNA coding and 2DLogistic chaotic map | |
CN113691362A (zh) | 基于超混沌系统和dna编码的位平面图像压缩加密算法 | |
Anbarasi et al. | DNA based multi-secret image sharing | |
Das et al. | Diffusion and encryption of digital image using genetic algorithm |
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: 20210601 |
|
WW01 | Invention patent application withdrawn after publication |