一种基于大数据的图像加密存储方法及系统

文档序号:1908441 发布日期:2021-11-30 浏览:12次 >En<

阅读说明:本技术 一种基于大数据的图像加密存储方法及系统 (Image encryption storage method and system based on big data ) 是由 干怡树 于 2021-09-06 设计创作,主要内容包括:本发明提供一种基于大数据的图像加密存储方法及系统,首先,利用外部密钥和明文信息产生初始值,并通过迭代混沌映射产生密钥流。其次,对明文图像进行分解,对每个分量依次进行层内置乱和层间置乱。最后,经过执行扩散操作获得密文图像。本发明不仅具有良好的加密效果,能够有效抵抗裁剪攻击,而且与同类型的加密算法相比,本发明具有更高的加密效率和更强的安全性。(The invention provides an image encryption storage method and system based on big data. And decomposing the plaintext image, and sequentially performing intra-layer scrambling and inter-layer scrambling on each component. And finally, performing diffusion operation to obtain a ciphertext image. The invention not only has good encryption effect and can effectively resist cutting attack, but also has higher encryption efficiency and stronger safety compared with the encryption algorithm of the same type.)

一种基于大数据的图像加密存储方法及系统

技术领域

本发明涉及图像处理技术领域,特别是涉及一种基于大数据的图像加密存储方法及系统。

背景技术

随着互联网技术的飞速发展,信息安全日益受到重视。数字图像是大部分信息的载体,因此研究图像加密技术具有重要意义。光学多图像非对称加密技术因其加密容量大、速度快、安全性高等特点而受到广泛研究。虽然多图像加密技术可以同时加密更多的信息,但加密后的信息也需要更多的传输带宽。

现有技术CN107392971A公开了一种基于空隙检验的图像加密效果评估方法,先读入加密后的图像文件,并利用分块扫描,获得一维图像数据向量;将一维图像数据中的元素值均匀量化等级,转化为一维向量;将一维向量中的元素值二值化,获得二值化向量;将二值化向量中的0视为1之间的空隙,计算空隙观测概率,并按照空隙长度j升序排列获得观测概率向量;计算理想的随机分布二值化向量中,不同长度空隙出现的先验概率,按照空隙长度j升序排列获得先验概率向量;计算观测概率向量与先验概率向量之间的卡方距离,作为量化的图像加密效果评估结果,完成基于空隙检验的图像加密效果评估。但是,现有技术存在一定的局限性,且不能满足图像加密研究者对加密方案效果优劣进行主观和客观评估的需求。

发明内容

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于大数据的图像加密存储方法及系统,用于解决现有技术在对图像进行加密时存在的问题。

为实现上述目的及其他相关目的,本发明提供一种基于大数据的图像加密存储方法,包括以下步骤:

获取待加密的明文图像,并按照图像大小对所述待加密的明文图像进行RGB分解,将其分解为大小相同的R子图像、G子图像和B子图像;

获取二维耦合混沌映射方程的初始值,并将所述初始值输入至所述二维耦合混沌映射方程中进行迭代,获取第一混沌序列x和第二混沌序列y;其中,所述第一混沌序列x和第二混沌序列y的长度与所述待加密的明文图像的图像大小相同;

将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列;

对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列;

对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列;

获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列;

对R子图像进行预处理,获取长度与所述R子图像大小相同的一维序列R1,以及对G子图像进行预处理,获取长度与所述G子图像大小相同的一维序列G1,以及对B子图像进行预处理,获取长度与所述B子图像大小相同的一维序列B1;

利用生成的3个索引序列分别对一维序列R1、一维序列G1和一维序列B1进行层内置乱,得到置乱后的序列R2、G2和B2;

对第一混沌序列x和第二混沌序列y进行量化,获取扩散序列X;

对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D;

对经过层内置乱后得到的3个序列R2、G2、B2进行双随机位置层间交互置乱,并根据置乱后的序列R2、G2、B2得到为组合序列L1;

根据扩散序列X、扩散参数D和组合序列L1得到加密序列L2,并对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

可选地,所述二维耦合混沌映射方程为:

式中,θ为控制参数,θ∈[0,1],i为自然数。

可选地,获取二维耦合混沌映射方程的初始值的过程包括:

将待加密的明文图像分解为R子图分量、G子图分量和B子图分量;

对R子图分量、G子图分量和B子图分量进行累和,得到a=mod(sum(I),256);

对累和a取余,得到a1、a2、a3,以及根据a、a1、a2、a3获取中间参数A1、A2、A3,有:

式中,表示异或,mod(x,y)表示取余;

式中,t1和t2为外部密钥;x0和y0为二维耦合混沌映射方程的初始值。

可选地,将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列的过程包括:

式中,明文图像的图像尺寸大小为m×n×3,R子图像、G子图像和B子图像的图像大小为m×n。

可选地,对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列的过程包括:

式中,floor表示向下取整;k1、k2、k3表示控制序列。

可选地,对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列的过程包括:

式中,sort表示排序,p1、p2、p3表示控制序列。

可选地,获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列的过程包括:

式中,sort表示排序,c1、c2、c3表示随机索引序列。

可选地,根据扩散序列X、扩散参数D和组合序列L1得到加密序列L2,并对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像的过程包括:

对第一混沌序列x和第二混沌序列y进行量化,获取扩散序列X,有:

X=floor(mod((x+y)×1015,256);

对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D,有:D=mod(sum(I),256);

当i∈[2,3mn]时,加密剩余像素,即:

对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

可选地,所述方法还包括:获取加密后的密文图像,并将所获取的加密后的密文图像存储至预先设置的存储器中。

本发明还提供一种基于大数据的图像加密存储系统,包括有:

图像采集模块,用于获取待加密的明文图像,并按照图像大小对所述待加密的明文图像进行RGB分解,将其分解为大小相同的R子图像、G子图像和B子图像;

迭代模块,用于获取二维耦合混沌映射方程的初始值,并将所述初始值输入至所述二维耦合混沌映射方程中进行迭代,获取第一混沌序列x和第二混沌序列y;其中,所述第一混沌序列x和第二混沌序列y的长度与所述待加密的明文图像的图像大小相同;

混沌序列等分模块,用于将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列;

第一量化模块,用于对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列;

第一索引模块,用于对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列;

第二索引模块,用于获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列;

预处理模块,用于对R子图像进行预处理,获取长度与所述R子图像大小相同的一维序列R1,以及对G子图像进行预处理,获取长度与所述G子图像大小相同的一维序列G1,以及对B子图像进行预处理,获取长度与所述B子图像大小相同的一维序列B1;

层内置乱模块,用于利用生成的3个索引序列分别对一维序列R1、一维序列G1和一维序列B1进行层内置乱,得到置乱后的序列R2、G2和B2;

第二量化模块,用于对第一混沌序列x和第二混沌序列y进行量化,获取扩散序列X;

累和取余模块,用于对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D;

组合模块,用于对经过层内置乱后得到的3个序列R2、G2、B2进行双随机位置层间交互置乱,并根据置乱后的序列R2、G2、B2得到为组合序列L1;

加密模块,用于根据扩散序列X、扩散参数D和组合序列L1得到加密序列L2,并对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

如上所述,本发明提供一种基于大数据的图像加密存储方法及系统,具有以下有益效果:

本发明根据彩色图像三分量之间具有强相关性的特点,提出了一种基于耦合混沌映射的新型彩色图像加密算法。首先,利用外部密钥和明文信息产生初始值,并通过迭代混沌映射产生密钥流。其次,对明文图像进行分解,对每个分量依次进行层内置乱和层间置乱。最后,经过执行扩散操作获得密文图像。本发明不仅具有良好的加密效果,能够有效抵抗裁剪攻击,而且与同类型的加密算法相比,本发明具有更高的加密效率和更强的安全性。

附图说明

图1为一实施例提供的基于大数据的图像加密存储方法的流程示意图;

图2为一实施例提供的预处理示意图;

图3为一实施例提供的分组排序置乱示意图;

图4为一实施例提供的层间交互置乱过程示意图;

图5为一实施例提供的层间交互置乱结果示意图;

图6为一实施例提供的基于大数据的图像加密存储系统的硬件结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

请参阅图1至图5所示,本发明提供一种基于大数据的图像加密存储方法,包括以下步骤:

S110,获取待加密的明文图像,并按照图像大小对所述待加密的明文图像进行RGB分解,将其分解为大小相同的R子图像、G子图像和B子图像;

S120,获取二维耦合混沌映射方程的初始值,并将所述初始值输入至所述二维耦合混沌映射方程中进行迭代,获取第一混沌序列x和第二混沌序列y;其中,所述第一混沌序列x和第二混沌序列y的长度与所述待加密的明文图像的图像大小相同;

S130,将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列;

S140,对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列;

S150,对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列;

S160,获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列;

S170,对R子图像进行预处理,获取长度与所述R子图像大小相同的一维序列R1,以及对G子图像进行预处理,获取长度与所述G子图像大小相同的一维序列G1,以及对B子图像进行预处理,获取长度与所述B子图像大小相同的一维序列B1;

S180,利用生成的3个索引序列分别对一维序列R1、一维序列G1和一维序列B1进行层内置乱,得到置乱后的序列R2、G2和B2;

S190,对第一混沌序列x和第二混沌序列y进行量化,获取扩散序列X;

S200,对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D;

S210,对经过层内置乱后得到的3个序列R2、G2、B2进行双随机位置层间交互置乱,并根据置乱后的序列R2、G2、B2得到为组合序列L1;

S220,根据扩散序列X、扩散参数D和组合序列L1得到加密序列L2,并对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

根据上述记载,本方法根据彩色图像三分量之间具有强相关性的特点,提出了一种基于耦合混沌映射的新型彩色图像加密算法。首先,利用外部密钥和明文信息产生初始值,并通过迭代混沌映射产生密钥流。其次,对明文图像进行分解,对每个分量依次进行层内置乱和层间置乱。最后,经过执行扩散操作获得密文图像。本方法不仅具有良好的加密效果,能够有效抵抗裁剪攻击,而且与同类型的加密算法相比,本方法具有更高的加密效率和更强的安全性。

在一示例性实施例中,所述二维耦合混沌映射方程为:

式中,θ为控制参数,θ∈[0,1],i为自然数。

具体地,获取二维耦合混沌映射方程的初始值的过程包括:

将待加密的明文图像分解为R子图分量、G子图分量和B子图分量;

对R子图分量、G子图分量和B子图分量进行累和,得到a=mod(sum(I),256);

对累和a取余,得到a1、a2、a3,以及根据a、a1、a2、a3获取中间参数A1、A2、A3,有:

式中,表示异或,mod(x,y)表示取余;

式中,t1和t2为外部密钥;x0和y0为二维耦合混沌映射方程的初始值。

进一步地,将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列的过程包括:

式中,明文图像的图像尺寸大小为m×n×3,R子图像、G子图像和B子图像的图像大小为m×n。在本实施例中,将初始值x0和y0代入二维耦合混沌映射方程中迭代m×n×3+500次,为了避免瞬态效应,舍弃前500个值,得到第一混沌序列x和第二混沌序列y,第一混沌序列x和第二混沌序列y长度均为m×n×3。

进一步地,对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列的过程包括:

式中,floor表示向下取整;k1、k2、k3表示控制序列。控制序列k1、k2、k3的取值均为1或2,长度为m×n。

进一步地,对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列的过程包括:

式中,sort表示排序,p1、p2、p3表示控制序列。

进一步地,获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列的过程包括:

式中,sort表示排序,c1、c2、c3表示随机索引序列。

此外,还包括对R子图像、G子图像和B子图像进行预处理,其中,预处理的示意图如图2所示。将最外圈的所有像素按顺时针方向依次取出作为第一个子序列,然后将次外圈的所有像素按逆时针方向依次取出作为第二个子序列。按照顺时针和逆时针交替的方式从图像的外圈向内圈执行相同的预处理操作,直至取出最内圈的所有像素。将每个子序列的序号按照从小到大的顺序连接起来,得到一个长度为m×n的一维序列R1,该序列包含m/2个子序列。同理,对G层和B层图像执行相同的操作,分别得到一维序列G1和B1。图2展示了具体的预处理过程,按照顺时针方向依次取出最外圈的像素,之后进入次外圈,按照逆时针方向依次取出该圈中的所有像素。按照顺时针逆时针交替的方式依次进行下去,直至取出最内圈的所有像素。

进一步地,进行层内置乱,将序列R1中不同长度的m/2个子序列看作m/2个元素,使用混沌序列产生的索引序列c1对序列R1进行分组排序置乱,即按照c1的顺序对R1中的m/2个元素进行重新排列,得到置乱后的序列R2。假设图像大小为8×8,共有64个像素。按照上述预处理过程将其重构为一个一维序列,该序列包含4个子序列,长度依次递减。迭代混沌映射产生的伪随机序列为[0.94,0.65,0.27,0.59],对其进行升序排列得到排序后的序列[0.27,0.59,0.65,0.94]以及索引序列[3,4,2,1]。根据该索引序列对一维序列进行分组排序置乱得到置乱后的结果,示意图如图3所示。同理,使用索引序列c2和c3对序列G1和B1分别执行相应的操作得到置乱后的序列G2和B2。

进一步地,对经过层内置乱后得到的3个序列R2、G2、B2进行双随机位置层问交互置乱。首先对序列R2进行置乱,当控制序列k1(i)=1时,交换序列R2和序列G2中的像素,即否则交换序列R2和序列B2中的像素值,即因此,序列R2的交换对象是随机选取的。此外,索引序列p1、p2、p3分别代表序列R2、G2、B2中像素所在的位置,该索引序列由与明文相关的伪随机序列按照升序排列得到,不同的明文会产生不同的索引序列。并且每次交换时,两个序列中所要交换的像素的位置都是随机选取的,因此,该双随机位置层间交互置乱方案具备良好的随机性。图4展示了当R2长度为9时的置乱过程,控制序列k1=[1,1,2,1,1,2,2,1,2],索引序列p1=[1,8,4,3,7,2,6,5,9],索引序列p2=[3,5,6,7,9,1,4,8,2],索引序列p3=[3,6,8,4,5,9,1,7,2]。根据上述置乱规则,当控制序列k1的值为1时,G2(3),所以红色层(R2)的第一个像素与绿色层(G2)的第三个像素交换位置。以此类推,R2的9个像素依次与其他两个序列中的像素进行交换,最终的结果如图5所示。该步骤完成后,得到更新后的序列R2、G2、B2。

进一步地,按照上述步骤中的方法接着对序列G2进行置乱。当控制序列k2(i)=1时,交换序列G2和序列B2中的像素,即否则交换序列G2和序列R2中的像素值,即最后,对序列B2进行置乱。当控制序列k3(i)=1时,交换序列B2和序列R2中的像素,即否则交换序列B2和序列G2中的像素值,即得到置乱后的最终序列R2、G2、B2。

进一步地,将上述中得到的3个序列R2、G2、B2组合为序列L1,对序列x和y进行量化,得到扩散序列X,即:

X=floor(mod((x+y)×1015,256):

对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D,有:D=mod(sum(I),256);

当i∈[2,3mn]时,加密剩余像素,即:

对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

在得到加密后的密文图像后,还包括将所获取的加密后的密文图像存储至预先设置的存储器中。作为示例,存储过程可以是:

获取生成的密文图像,并基于所述密文图像建立用户终端设备与信息认证终端设备的通信连接;

建立通信连接后,控制所述信息认证终端设备接收来自用所述户终端设备的认证请求,并根据所述认证请求认证用户终端设备的公钥证书的合法性,并在合法性验证通过后,将所述信息认证终端设备中的中心证书和对应的认证证书链响应给所述用户终端设备;以及控制所述信息认证终端设备接收来自所述用户终端设备的信息认证存储请求,并根据所述信息认证存储请求向所述用户终端设备远程注入加密密钥;

利用所述加密密钥对在用户终端设备上生成的密文图像进行加密,并根据所述用户终端设备与所述信息认证终端设备预先建立的通信连接将加密后的密文图像传输至所述信息认证终端设备中进行信息认证,并在完成信息认证后将所述密文图像存储至所述信息认证终端设备中。

其中,用户终端设备与所述信息认证终端设备建立通信连接的过程包括:获取在所述信息认证终端设备上生成的序列号;

根据所述大数据信息生成所述信息认证终端设备的通信接入请求;

基于所述通信接入请求获取所述用户终端设备存储于服务器中的验证信息;

利用所述验证信息对所述序列号进行验证,确定所述序列号是否存在于所述验证信息对应的目录中;若完全存在,则建立所述用户终端设备与所述信息认证终端设备的通信连接;若不完全存在,则不建立所述用户终端设备与所述信息认证终端设备的通信连接。

综上所述,本发明提供一种基于大数据的图像加密存储方法,根据彩色图像三分量之间具有强相关性的特点,提出了一种基于耦合混沌映射的新型彩色图像加密算法。首先,利用外部密钥和明文信息产生初始值,并通过迭代混沌映射产生密钥流。其次,对明文图像进行分解,对每个分量依次进行层内置乱和层间置乱。最后,经过执行扩散操作获得密文图像。本方法不仅具有良好的加密效果,能够有效抵抗裁剪攻击,而且与同类型的加密算法相比,本方法具有更高的加密效率和更强的安全性。

如图6所示,本发明还提供了一种基于大数据的图像加密存储系统,包括有:

图像采集模块M10,用于获取待加密的明文图像,并按照图像大小对所述待加密的明文图像进行RGB分解,将其分解为大小相同的R子图像、G子图像和B子图像;

迭代模块M20,用于获取二维耦合混沌映射方程的初始值,并将所述初始值输入至所述二维耦合混沌映射方程中进行迭代,获取第一混沌序列x和第二混沌序列y;其中,所述第一混沌序列x和第二混沌序列y的长度与所述待加密的明文图像的图像大小相同;

混沌序列等分模块M30,用于将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列;

第一量化模块M40,用于对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列;

第一索引模块M50,用于对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列;

第二索引模块M60,用于获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列;

预处理模块M70,用于对R子图像进行预处理,获取长度与所述R子图像大小相同的一维序列R1,以及对G子图像进行预处理,获取长度与所述G子图像大小相同的一维序列G1,以及对B子图像进行预处理,获取长度与所述B子图像大小相同的一维序列B1;

层内置乱模块M80,用于利用生成的3个索引序列分别对一维序列R1、一维序列G1和一维序列B1进行层内置乱,得到置乱后的序列R2、G2和B2;

第二量化模块M90,用于对第一混沌序列x和第二混沌序列y进行量化,获取扩散序列X;

累和取余模块M100,用于对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D;

组合模块M110,用于对经过层内置乱后得到的3个序列R2、G2、B2进行双随机位置层间交互置乱,并根据置乱后的序列R2、G2、B2得到为组合序列L1;

加密模块M120,用于根据扩散序列X、扩散参数D和组合序列L1得到加密序列L2,并对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

根据上述记载,本系统根据彩色图像三分量之间具有强相关性的特点,提出了一种基于耦合混沌映射的新型彩色图像加密算法。首先,利用外部密钥和明文信息产生初始值,并通过迭代混沌映射产生密钥流。其次,对明文图像进行分解,对每个分量依次进行层内置乱和层间置乱。最后,经过执行扩散操作获得密文图像。本系统不仅具有良好的加密效果,能够有效抵抗裁剪攻击,而且与同类型的加密算法相比,本系统具有更高的加密效率和更强的安全性。

在一示例性实施例中,所述二维耦合混沌映射方程为:

式中,θ为控制参数,θ∈[0,1],i为自然数。

具体地,获取二维耦合混沌映射方程的初始值的过程包括:

将待加密的明文图像分解为R子图分量、G子图分量和B子图分量;

对R子图分量、G子图分量和B子图分量进行累和,得到a=mod(sum(I),256);

对累和a取余,得到a1、a2、a3,以及根据a、a1、a2、a3获取中间参数A1、A2、A3,有:

式中,表示异或,mod(x,y)表示取余;

式中,t1和t2为外部密钥;x0和y0为二维耦合混沌映射方程的初始值。

进一步地,将所述第一混沌序列x等分为3个第一混沌子序列,以及将所述第二混沌序列y等分为3个第二混沌子序列的过程包括:

式中,明文图像的图像尺寸大小为m×n×3,R子图像、G子图像和B子图像的图像大小为m×n。在本实施例中,将初始值x0和y0代入二维耦合混沌映射方程中迭代m×n×3+500次,为了避免瞬态效应,舍弃前500个值,得到第一混沌序列x和第二混沌序列y,第一混沌序列x和第二混沌序列y长度均为m×n×3。

进一步地,对3个第一混沌子序列进行量化,获取3个层间交互置乱控制序列的过程包括:

式中,floor表示向下取整;k1、k2、k3表示控制序列。控制序列k1、k2、k3的取值均为1或2,长度为m×n。

进一步地,对3个第二混沌子序列按照升序进行排列,获取3个用于层间交互置乱的随机索引序列的过程包括:

式中,sort表示排序,p1、p2、p3表示控制序列。

进一步地,获取第二混沌序列y中的部分元素,并按照升序进行排列,获取3个用于层内置乱的索引序列的过程包括:

式中,sort表示排序,c1、c2、c3表示随机索引序列。

此外,还包括对R子图像、G子图像和B子图像进行预处理,其中,预处理的示意图如图2所示。将最外圈的所有像素按顺时针方向依次取出作为第一个子序列,然后将次外圈的所有像素按逆时针方向依次取出作为第二个子序列。按照顺时针和逆时针交替的方式从图像的外圈向内圈执行相同的预处理操作,直至取出最内圈的所有像素。将每个子序列的序号按照从小到大的顺序连接起来,得到一个长度为m×n的一维序列R1,该序列包含m/2个子序列。同理,对G层和B层图像执行相同的操作,分别得到一维序列G1和B1。图2展示了具体的预处理过程,按照顺时针方向依次取出最外圈的像素,之后进入次外圈,按照逆时针方向依次取出该圈中的所有像素。按照顺时针逆时针交替的方式依次进行下去,直至取出最内圈的所有像素。

进一步地,进行层内置乱,将序列R1中不同长度的m/2个子序列看作m/2个元素,使用混沌序列产生的索引序列c1对序列R1进行分组排序置乱,即按照c1的顺序对R1中的m/2个元素进行重新排列,得到置乱后的序列R2。假设图像大小为8×8,共有64个像素。按照上述预处理过程将其重构为一个一维序列,该序列包含4个子序列,长度依次递减。迭代混沌映射产生的伪随机序列为[0.94,0.65,0.27,0.59],对其进行升序排列得到排序后的序列[0.27,0.59,0.65,0.94]以及索引序列[3,4,2,1]。根据该索引序列对一维序列进行分组排序置乱得到置乱后的结果,示意图如图3所示。同理,使用索引序列c2和c3对序列G1和B1分别执行相应的操作得到置乱后的序列G2和B2。

进一步地,对经过层内置乱后得到的3个序列R2、G2、B2进行双随机位置层间交互置乱。首先对序列R2进行置乱,当控制序列k1(i)=1时,交换序列R2和序列G2中的像素,即否则交换序列R2和序列B2中的像素值,即因此,序列R2的交换对象是随机选取的。此外,索引序列p1、p2、p3分别代表序列R2、G2、B2中像素所在的位置,该索引序列由与明文相关的伪随机序列按照升序排列得到,不同的明文会产生不同的索引序列。并且每次交换时,两个序列中所要交换的像素的位置都是随机选取的,因此,该双随机位置层间交互置乱方案具备良好的随机性。图4展示了当R2长度为9时的置乱过程,控制序列k1=[1,1,2,1,1,2,2,1,2],索引序列p1=[1,8,4,3,7,2,6,5,9],索引序列p2=[3,5,6,7,9,1,4,8,2],索引序列p3=[3,6,8,4,5,9,1,7,2]。根据上述置乱规则,当控制序列k1的值为1时, 所以红色层(R2)的第一个像素与绿色层(G2)的第三个像素交换位置。以此类推,R2的9个像素依次与其他两个序列中的像素进行交换,最终的结果如图5所示。该步骤完成后,得到更新后的序列R2、G2、B2。

进一步地,按照上述步骤中的方法接着对序列G2进行置乱。当控制序列k2(i)=1时,交换序列G2和序列B2中的像素,即否则交换序列G2和序列R2中的像素值,即最后,对序列B2进行置乱。当控制序列k3(i)=1时,交换序列B2和序列R2中的像素,即否则交换序列B2和序列G2中的像素值,即得到置乱后的最终序列R2、G2、B2。

进一步地,将上述中得到的3个序列R2、G2、B2组合为序列L1,对序列x和y进行量化,得到扩散序列X,即:

X=floor(mod((x+y)×1015,256);

对待加密的明文图像中的所有像素进行累和,并对累和结果取余获取对应的扩散参数D,有:D=mod(sum(I),256);

当i∈[2,3mn]时,加密剩余像素,即:

对加密序列L2等分为3个子序列R3、G3和B3,以及根据子序列R3、G3和B3重构二维矩阵,得到加密后的密文图像。

在得到加密后的密文图像后,还包括将所获取的加密后的密文图像存储至预先设置的存储器中。作为示例,存储过程可以是:

获取生成的密文图像,并基于所述密文图像建立用户终端设备与信息认证终端设备的通信连接;

建立通信连接后,控制所述信息认证终端设备接收来自用所述户终端设备的认证请求,并根据所述认证请求认证用户终端设备的公钥证书的合法性,并在合法性验证通过后,将所述信息认证终端设备中的中心证书和对应的认证证书链响应给所述用户终端设备;以及控制所述信息认证终端设备接收来自所述用户终端设备的信息认证存储请求,并根据所述信息认证存储请求向所述用户终端设备远程注入加密密钥;

利用所述加密密钥对在用户终端设备上生成的密文图像进行加密,并根据所述用户终端设备与所述信息认证终端设备预先建立的通信连接将加密后的密文图像传输至所述信息认证终端设备中进行信息认证,并在完成信息认证后将所述密文图像存储至所述信息认证终端设备中。

其中,用户终端设备与所述信息认证终端设备建立通信连接的过程包括:获取在所述信息认证终端设备上生成的序列号;

根据所述大数据信息生成所述信息认证终端设备的通信接入请求;

基于所述通信接入请求获取所述用户终端设备存储于服务器中的验证信息;

利用所述验证信息对所述序列号进行验证,确定所述序列号是否存在于所述验证信息对应的目录中;若完全存在,则建立所述用户终端设备与所述信息认证终端设备的通信连接;若不完全存在,则不建立所述用户终端设备与所述信息认证终端设备的通信连接。

综上所述,本发明提供一种基于大数据的图像加密存储方法,根据彩色图像三分量之间具有强相关性的特点,提出了一种基于耦合混沌映射的新型彩色图像加密算法。首先,利用外部密钥和明文信息产生初始值,并通过迭代混沌映射产生密钥流。其次,对明文图像进行分解,对每个分量依次进行层内置乱和层间置乱。最后,经过执行扩散操作获得密文图像。本系统不仅具有良好的加密效果,能够有效抵抗裁剪攻击,而且与同类型的加密算法相比,本系统具有更高的加密效率和更强的安全性。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:打印系统、控制打印系统的方法、终端设备以及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类