一种立体图像加密方法及装置转让专利

申请号 : CN201910169005.X

文献号 : CN109905563B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邵珠宏尚媛园丁辉赵晓旭刘铁王云飞

申请人 : 首都师范大学

摘要 :

本申请提供一种立体图像加密方法及装置,用于改善现有技术中图像加密方法的抗攻击强度很弱的问题。该方法包括:获得立体图像的第一视角图矩阵和第二视角图矩阵,第一视角图矩阵和第二视角图矩阵为立体图像不同视角下的图矩阵;根据第一视角图矩阵和第二视角图矩阵,获得第一复数矩阵;根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,多个第一密钥均为第一预设长度,第一预设运算包括截取运算和合并运算;对第一复数矩阵、第一映射矩阵和第二映射矩阵进行第二预设运算,获得第二复数矩阵,第二预设运算包括奇异值分解;根据预设公式对第二复数矩阵进行分解运算,获得立体图像加密后的密文以及密文的密钥。

权利要求 :

1.一种立体图像加密方法,其特征在于,包括:

获得立体图像的第一视角图矩阵和第二视角图矩阵,所述第一视角图矩阵和所述第二视角图矩阵为所述立体图像不同视角的图矩阵;

根据所述第一视角图矩阵和所述第二视角图矩阵,获得第一复数矩阵;

根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,所述多个第一密钥均为第一预设长度,所述第一预设运算包括截取运算和合并运算;

对所述第一复数矩阵、所述第一映射矩阵和所述第二映射矩阵进行第二预设运算,获得第二复数矩阵,所述第二预设运算包括奇异值分解;

根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥;

其中,所述对所述第一复数矩阵、所述第一映射矩阵和所述第二映射矩阵进行第二预设运算,获得第二复数矩阵,包括:对所述第一复数矩阵进行第三预设运算,获得正交矩阵;

对所述正交矩阵、所述第一映射矩阵和所述第二映射矩阵进行第四预设运算,获得第二复数矩阵;

所述对所述第一复数矩阵进行第三预设运算,获得正交矩阵,包括:将所述第一复数矩阵划分为多个子矩阵;将所述多个子矩阵中的每个子矩阵转换为列向量,获得多个列向量;

将所述多个列向量进行合并,获得第一矩阵;对第一矩阵进行第五预设运算,获得第二矩阵;对第二矩阵进行第六预设运算,获得第三矩阵;对第三矩阵进行奇异值分解计算,获得正交矩阵;

所述对所述正交矩阵、所述第一映射矩阵和所述第二映射矩阵进行第四预设运算,获得第二复数矩阵,包括:在所述第一映射矩阵中选取第一预设尺寸的矩阵,获得第一映射子矩阵;在所述第二映射矩阵中选取第二预设尺寸的矩阵,获得第二映射子矩阵;将所述第二矩阵左乘第一映射子矩阵,再右乘第二映射子矩阵,获得第四矩阵;将所述第四矩阵左乘所述正交矩阵的转置,获得第五矩阵;将所述第五矩阵的每一行调整为第三预设尺寸的矩阵,获得第二复数矩阵;

所述根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥,包括:根据公式对所述第二复数矩阵进行分解

运算,获得所述立体图像加密后的密文以及所述密文的密钥;(x,y)为空间位置坐标,A(x,y)、P(x,y)分别表示所述第二复数矩阵的幅度和相位,M1(x,y)为所述密文,M2(x,y)为所述密钥,θ(x,y)为预设随机矩阵,且0≤θ(x,y)≤1,i为系数。

2.如权利要求1所述的立体图像加密方法,其特征在于,在所述根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥之前,还包括:根据随机生成的多个第二密钥,获得预设随机矩阵,所述多个第二密钥均为第二预设长度;

将所述预设随机矩阵作为所述预设公式的参数,获得所述预设公式。

3.如权利要求1所述的立体图像加密方法,其特征在于,所述根据所述第一视角图矩阵和所述第二视角图矩阵,获得第一复数矩阵,包括:根据公式f(x,y)=f1(x,y)+if2(x,y)计算第一复数矩阵f(x,y);

其中,(x,y)为空间位置坐标,f1(x,y)为所述第一视角图矩阵,f2(x,y)为所述第二视角图矩阵,i为虚数单位。

4.如权利要求1所述的立体图像加密方法,其特征在于,所述根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,包括:随机生成六十四位的多个第一密钥;

对预设方程和所述多个第一密钥进行迭代运算,获得多个第一序列;

对所述多个第一序列进行归一化和截取,并调整合并,获得多个二维矩阵;

对所述多个二维矩阵进行运算,获得第一映射矩阵和第二映射矩阵。

5.一种立体图像加密装置,其特征在于,所述立体图像加密装置包括:视角图矩阵获得模块,用于获得立体图像的第一视角图矩阵和第二视角图矩阵,所述第一视角图矩阵和所述第二视角图矩阵为所述立体图像不同视角的图矩阵;

第一复数矩阵获得模块,用于根据所述第一视角图矩阵和所述第二视角图矩阵,获得第一复数矩阵;

映射矩阵获得模块,用于根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,所述多个第一密钥均为第一预设长度,所述第一预设运算包括截取运算和合并运算;

第二复数矩阵获得模块,用于将所述第一复数矩阵划分为多个子矩阵;将所述多个子矩阵中的每个子矩阵转换为列向量,获得多个列向量;将所述多个列向量进行合并,获得第一矩阵;对第一矩阵进行第五预设运算,获得第二矩阵;对第二矩阵进行第六预设运算,获得第三矩阵;对第三矩阵进行奇异值分解计算,获得正交矩阵;在所述第一映射矩阵中选取第一预设尺寸的矩阵,获得第一映射子矩阵;在所述第二映射矩阵中选取第二预设尺寸的矩阵,获得第二映射子矩阵;将所述第二矩阵左乘第一映射子矩阵,再右乘第二映射子矩阵,获得第四矩阵;将所述第四矩阵左乘所述正交矩阵的转置,获得第五矩阵;将所述第五矩阵的每一行调整为第三预设尺寸的矩阵,获得第二复数矩阵;

密文和密钥获得模块,用于根据

对所述第二复数矩阵进行分解运

算,获得所述立体图像加密后的密文以及所述密文的密钥;其中:(x,y)为空间位置坐标,A(x,y)、P(x,y)分别表示所述第二复数矩阵的幅度和相位,M1(x,y)为所述密文,M2(x,y)为所述密钥,θ(x,y)为预设随机矩阵,且0≤θ(x,y)≤1,i为系数。

6.如权利要求5所述的立体图像加密装置,其特征在于,所述立体图像加密装置还包括:随机矩阵获得模块,用于根据随机生成的多个第二密钥,获得预设随机矩阵,所述多个第二密钥均为第二预设长度;

预设公式获得模块,用于将所述预设随机矩阵作为所述预设公式的参数,获得所述预设公式。

说明书 :

一种立体图像加密方法及装置

技术领域

[0001] 本申请涉及图像加密的技术领域,涉及一种立体图像加密方法及装置。

背景技术

[0002] 目前行业内常见的图像加密方法,例如双随机相位编码,其基本原理是:在输入平面和傅里叶频谱面上各进行一次相位调制,并经过两次傅里叶变换进行编码,在输出平面上得到统计特性随时间平移不变的广义平稳白噪声图像,然而这种图像加密方法的抗攻击强度很弱。

发明内容

[0003] 有鉴于此,本申请提供一种立体图像加密方法及装置,用于改善现有技术中图像加密方法的抗攻击强度很弱的问题。
[0004] 本申请提供了的一种立体图像加密方法,所述方法包括:获得立体图像的第一视角图矩阵和第二视角图矩阵,所述第一视角图矩阵和所述第二视角图矩阵为所述立体图像不同视角下的图矩阵;根据所述第一视角图矩阵和所述第二视角图矩阵,获得第一复数矩阵;根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,所述多个第一密钥均为第一预设长度,所述第一预设运算包括截取运算和合并运算;对所述第一复数矩阵、所述第一映射矩阵和所述第二映射矩阵进行第二预设运算,获得第二复数矩阵,所述第二预设运算包括奇异值分解;根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥。使用本方法步骤通过使用随机多分辨率的奇异值分解这种方式增强了密文的随机性和安全性,通过使用等模分解避免了立体图像加密后的相位信息的集中,从而有效地改善了现有技术中图像加密方法的抗攻击强度很弱的问题。
[0005] 可选地,在本申请实施例中,在所述根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥之前,还包括:根据随机生成的多个第二密钥,获得预设随机矩阵,所述多个第二密钥均为第二预设长度;将所述预设随机矩阵作为所述预设公式的参数,获得所述预设公式。使用本方法步骤通过使用混沌的投影矩阵和随机矩阵这种方式增强了密文的随机性和安全性。
[0006] 可选地,在本申请实施例中,所述根据所述第一视角图矩阵和所述第二视角图矩阵,获得第一复数矩阵,包括:根据公式f(x,y)=f1(x,y)+if2(x,y)计算第一复数矩阵f(x,y);其中,(x,y)为空间位置坐标,f1(x,y)为所述第一视角图矩阵,f2(x,y)为所述第二视角图矩阵,i为基本虚数单位。使用本方法步骤通过在空间域对两视角立体图像进行加密,避免了变换域内复杂度较高的问题。
[0007] 可选地,在本申请实施例中,所述根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,所述第一预设长度为六十四位长度,包括:随机生成六十四位的多个第一密钥;对预设方程和所述多个第一密钥进行迭代运算,获得多个第一序列;对所述多个第一序列进行归一化和截取,并调整合并,获得多个二维矩阵;对所述多个二维矩阵进行运算,获得第一映射矩阵和第二映射矩阵。使用本方法步骤通过使用混沌的投影矩阵和随机矩阵这种方式增强了密文的随机性和安全性。
[0008] 可选地,在本申请实施例中,所述对所述第一复数矩阵、所述第一映射矩阵和所述第二映射矩阵进行第二预设运算,获得第二复数矩阵,包括:对所述第一复数矩阵进行第三预设运算,获得正交矩阵;对所述正交矩阵、所述第一映射矩阵和所述第二映射矩阵进行第四预设运算,获得第二复数矩阵。使用本方法步骤通过随机多分辨率奇异值分解进一步增强了密文的随机性和安全性。
[0009] 可选地,在本申请实施例中,所述对所述第一复数矩阵进行第三预设运算,获得正交矩阵,包括:将所述第一复数矩阵划分为多个子矩阵;将所述多个子矩阵中的每个子矩阵转换为列向量,获得多个列向量;将所述多个列向量进行合并,获得第一矩阵;对第一矩阵进行第五预设运算,获得第二矩阵;对第二矩阵进行第六预设运算,获得第三矩阵;对第三矩阵进行奇异值分解计算,获得正交矩阵。使用本方法步骤通过随机多分辨率奇异值分解进一步增强了密文的随机性和安全性。
[0010] 可选地,在本申请实施例中,所述对所述正交矩阵、所述第一映射矩阵和所述第二映射矩阵进行第四预设运算,获得第二复数矩阵,包括:在所述第一映射矩阵中选取第一预设尺寸的矩阵,获得第一映射子矩阵;在所述第二映射矩阵中选取第二预设尺寸的矩阵,获得第二映射子矩阵;将所述第二矩阵左乘第一映射子矩阵,再右乘第二映射子矩阵,获得第四矩阵;将所述第四矩阵左乘所述正交矩阵的转置,获得第五矩阵;将所述第五矩阵的每一行调整为第三预设尺寸的矩阵,获得第二复数矩阵。使用本方法步骤通过随机多分辨率奇异值分解进一步增强了密文的随机性和安全性。
[0011] 可选地,在本申请实施例中,所述根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥,包括:根据公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥;其中:(x,y)为空间位置坐标,A(x,y)、P(x,y)分别表示所述第二复数矩阵的幅度和相位,M1(x,y)为所述密文,M2(x,y)为所述密钥,θ(x,y)为预设随机矩阵,且0≤θ(x,y)≤1,i为系数。使用本方法步骤通过等模分解将相位信息进行分解,避免了相位信息的集中,可以有效地提高抗攻击强度。
[0012] 本申请实施例还提供了一种立体图像加密装置,所述立体图像加密装置包括:视角图矩阵获得模块,用于获得立体图像的第一视角图矩阵和第二视角图矩阵,所述第一视角图矩阵和所述第二视角图矩阵为所述立体图像不同视角下的图矩阵;第一复数矩阵获得模块,用于根据所述第一视角图矩阵和所述第二视角图矩阵,获得第一复数矩阵;映射矩阵获得模块,用于根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,所述多个第一密钥均为第一预设长度,所述第一预设运算包括截取运算和合并运算;第二复数矩阵获得模块,用于对所述第一复数矩阵、所述第一映射矩阵和所述第二映射矩阵进行第二预设运算,获得第二复数矩阵,所述第二预设运算包括奇异值分解;密文和密钥获得模块,用于根据预设公式对所述第二复数矩阵进行分解运算,获得所述立体图像加密后的密文以及所述密文的密钥。使用本方法步骤通过使用随机多分辨率的奇异值分解这种方式增强了密文的随机性和安全性,通过使用等模分解避免了立体图像加密后的相位信息的集中。
[0013] 可选地,在本申请实施例中,所述立体图像加密装置还包括:随机矩阵获得模块,用于根据随机生成的多个第二密钥,获得预设随机矩阵,所述多个第二密钥均为第二预设长度;预设公式获得模块,用于将所述预设随机矩阵作为所述预设公式的参数,获得所述预设公式。使用本方法步骤通过使用混沌的投影矩阵和随机矩阵这种方式增强了密文的随机性和安全性。
[0014] 为使本申请的上述目的和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。

附图说明

[0015] 为了更清楚的说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016] 图1示出了本申请实施例提供的电子设备结构示意图;
[0017] 图2示出了本申请实施例提供的立体图像加密方法的流程示意图;
[0018] 图3示出了步骤S300的一种可能实现方式的流程示意图;
[0019] 图4示出了步骤S400的一种可能实现方式的流程示意图;
[0020] 图5示出了步骤S410的一种可能实现方式的流程示意图;
[0021] 图6示出了步骤S420的一种可能实现方式的流程示意图;
[0022] 图7示出了本申请实施例提供的立体图像加密方法的另一种实施方式的流程示意图;
[0023] 图8示出了本申请实施例提供的立体图像加密装置结构示意图。
[0024] 图标:100-立体图像加密装置;101-处理器;102-存储器;103-存储介质;109-电子设备;110-视角图矩阵获得模块;120-第一复数矩阵获得模块;130-映射矩阵获得模块;140-第二复数矩阵获得模块;150-密文和密钥获得模块。

具体实施方式

[0025] 以下将对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
[0026] 立体图像,泛指的是光栅图像技术,简单说是在一种平面的媒介上实现三维立体或者动画效果的技术,平面的媒介可以是光栅材料,平面媒介的具体类型不应该理解为是对本申请的限制。
[0027] 复数,是指将形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。当虚部等于零时,这个复数可以视为实数;当z的虚部不等于零时,实部等于零时,常称z为纯虚数。复数域是实数域的代数闭包,也即任何复系数多项式在复数域中总有根。
[0028] 矩阵,是高等代数学中的常见工具,也常见于统计分析等应用数学的学科中。矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。
[0029] 复数矩阵,又称复矩阵,是指元素是复数的矩阵。实矩阵是复矩阵的特例。
[0030] 混沌序列,又称混沌时间序列,是一种确定系统中出现的无规则的运动。混沌的离散情况通常表现为混沌时间序列,混沌时间序列是由混沌模型生成的具有混沌特性的时间序列。
[0031] 奇异值,是矩阵里的概念,一般通过奇异值分解定理求得。设A为m*n阶矩阵,q=min(m,n),A*A的q个非负特征值的算术平方根叫作A的奇异值。
[0032] 奇异值分解,奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广。
[0033] 混沌,是一种由非线性动力学规律控制的行为,表现为高灵敏度的初值敏感性、伪随机性等特点,应用于图像加密可以得到良好的加密效果和较高的安全性。
[0034] 另外,需要理解的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或者暗示相对重要性,也不能理解为指示或者暗示顺序。
[0035] 下面结合附图,对本申请实施例的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0036] 请参见图1,图1示出了本申请实施例提供的电子设备结构示意图。本申请实施例提供了的一种电子设备109,包括:处理器101和存储器102,存储器102存储有处理器101可执行的机器可读指令,机器可读指令被处理器101执行时执行立体图像加密方法。
[0037] 在具体的实施过程中,对卷积神经网络(Convolutional Neural Network,CNN)的相关计算可以用图形处理器(Graphics Processing Unit,GPU)进行加速,因此,该电子设备还可以包括图形处理器。此外,在使用分布式计算框架时需要使用通信接口,该电子设备还可以包括通讯与网络扩展卡、光纤卡或者多串口通信卡等部件,在此不再赘述。
[0038] 请参见图1,本申请实施例提供了的一种存储介质103,该存储介质103上存储有计算机程序,该计算机程序被处理器101运行时执行立体图像加密方法。
[0039] 本领域技术人员可以理解,图1中示出的电子设备的结构并不构成对该设备的限定,本申请实施例提供的设备可以包括比图示更多或者更少的部件,或者不同的部件布置。
[0040] 第一实施例
[0041] 请参见图2,图2示出了本申请实施例提供的立体图像加密方法的流程示意图。该方法包括:
[0042] 步骤S100:获得立体图像的第一视角图矩阵和第二视角图矩阵,第一视角图矩阵和第二视角图矩阵为立体图像不同视角下的图矩阵。
[0043] 其中,第一视角图矩阵指的是从一视角观察立体图像能获取到的视角图矩阵,第二视角图矩阵指的是从不同于第一视角图矩阵的视角观察立体图像获取到的视角图矩阵。
[0044] 可选地,这里的第一视角图可以是立体图像的左前方视角观察立体图像获得的视角图,第二视角图可以是立体图像右前方视角观察立体图形获得的视角图。因此,这里的第一视角图和第二视角图具体的视角图矩阵内容不应理解为对本申请实施例的限制。使用本方法步骤通过在空间域对两视角立体图像进行加密,避免了变换域内复杂度较高的问题。
[0045] 步骤S200:根据第一视角图矩阵和第二视角图矩阵,获得第一复数矩阵。
[0046] 可选地,在本申请实施例中,根据第一视角图矩阵和第二视角图矩阵,获得第一复数矩阵,即步骤S200包括:
[0047] 根据公式f(x,y)=f1(x,y)+if2(x,y)计算第一复数矩阵f(x,y);
[0048] 其中,(x,y)为空间位置坐标,f1(x,y)为第一视角图矩阵,f2(x,y)为第二视角图矩阵,i为基本虚数单位。
[0049] 步骤S300:根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,多个第一密钥均为第一预设长度,第一预设运算包括截取运算和合并运算。
[0050] 其中,随机生成可以是利用计算机的硬件或软件方式实现伪随机函数来生成随机字符串作为第一密钥,同样的方式生成多个第一密钥。第一预设运算可以为将第一密钥等长度划分为多个部分,每一个部分按照一定的迭代算法迭代生成多个一维随机序列,将多个一维随机序列按照行调整为预设尺寸的序列,可以称之为截取运算;再将多个调整为预设尺寸后的多个序列连接成多个二维矩阵,可以称之为合并运算。再将多个二维矩阵依次相减获得多个映射矩阵,具体地,第一二维矩阵减去第二二维矩阵得到的矩阵,可以称之为第一映射矩阵,第二二维矩阵减去第三二维矩阵得到的矩阵,可以称之为第二映射矩阵。
[0051] 请参见图3,图3示出了步骤S300的一种可能实现方式的流程示意图,该步骤具体可以包括如下步骤:
[0052] 步骤S310:随机生成六十四位的多个第一密钥。
[0053] 其中,这里的多个第一密钥可以是随机生成的,也可以是外部引入的,例如:多个第一密钥中的一个可以为64位的外部密钥K1,外部密钥K1可以变为8个部分,其中一个第一密钥表示为K1=k1,k2,…,k8,其中,ki表示为第一密钥中的第i个子密钥。
[0054] 步骤S320:对预设方程和多个第一密钥进行迭代运算,获得多个第一序列。
[0055] 需要说明的是,迭代运算的初始状态为{x1(0),x2(0),x3(0)},根据子密钥ki,根据如下方程可计算出x1(0),同理,可计算出x2(0)、x3(0)。
[0056]
[0057] 其中,将{x1(0),x2(0),x3(0)}作为初始状态,根据分数阶Chen系统产生一维随机序列X1、Y1、Z1,迭代运算过程如下:
[0058] X1=[x1(1),x1(2),…,x1((NM/pq)2)]
[0059] Y1=[x2(1),x2(2),…,x2((NM/pq)2)]
[0060] Z1=[x3(1),x3(2),…,x3((NM/pq)2)]
[0061] 其中,这里的预设方程可以为分数阶Chen系统方法,具体例如:
[0062]
[0063] 这里的参数a=35,b=3,c=28,αj∈[0.8,1](j=1,2,3)。
[0064] 步骤S330:对多个第一序列进行归一化和截取,并调整合并,获得多个二维矩阵。
[0065] 其中,这里的归一化可以为将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。这里的截取可以是将序列按照预设尺寸截取为尺寸小于原序列的序列数据。对多个第一序列进行归一化和截取,并调整合并,获得多个二维矩阵。其具体方法例如:将一维序列X1、Y1、Z1归一化并按行截取调整为尺寸为(NM/pq)×(NM/pq)的二维矩阵X′1、Y′1、Z′1,其中的pq表示图像子块的大小,NM表示立体图像的第一视角图矩阵和立体图像的第二视角图矩阵的大小。
[0066] 步骤S340:对多个二维矩阵进行运算,获得第一映射矩阵和第二映射矩阵。
[0067] 其中,对多个二维矩阵进行如下公式的运算,获得第一映射矩阵和第二映射矩阵。
[0068] R1=X′1-Y′1,R2=Y′1-Z′1;
[0069] 其中,R1(x,y)即R1为第一映射矩阵,R2(x,y)即R2为第二映射矩阵。X′1、Y′1、Z′1分别为将一维序列X1、Y1、Z1归一化并按行截取调整为尺寸为(NM/pq)×(NM/pq)的三个二维矩阵。
[0070] 使用本方法步骤通过使用混沌的投影矩阵和随机矩阵这种方式增强了密文的随机性和安全性。
[0071] 步骤S400:对第一复数矩阵、第一映射矩阵和第二映射矩阵进行第二预设运算,获得第二复数矩阵,第二预设运算包括奇异值分解。
[0072] 请参见图4,图4示出了步骤S400的一种可能实现方式的流程示意图,具体包括如下步骤:
[0073] 步骤S410:对第一复数矩阵进行第三预设运算,获得正交矩阵。
[0074] 其中,第三预设运算可以包括转换、合并和奇异值分解等运算方法。
[0075] 请参见图5,图5示出了步骤S410的一种可能实现方式的流程示意图。具体包括如下一种可能实现方式:
[0076] 步骤S411:将第一复数矩阵划分为多个子矩阵。
[0077] 需要说明的是,将第一复数矩阵划分为多个子矩阵,其具体的方式例如:将图像f(x,y)划分为不重叠的子块,子块大小为p×q,fh,w(a,b)表示坐标位置为(N/p,M/q)的子块;
[0078]
[0079] 其中,a=1,2,…,p;b=1,2,…,q;h=1,2,…,N/p;w=1,2,…,M/q。
[0080] 步骤S412:将多个子矩阵中的每个子矩阵转换为列向量,获得多个列向量。
[0081] 其中,将多个子矩阵中的每个子矩阵转换为列向量,获得多个列向量,其具体的方式例如:将图像的全部子块调整为尺寸为pq×1的列向量。
[0082] 步骤S413:将多个列向量进行合并,获得第一矩阵。
[0083] 其中,将多个列向量进行合并,获得第一矩阵,其具体方式例如:构造第一矩阵ft(x,y)=[(f1,1(a,b))pq×1,(f1,2(a,b))pq×1,...,(fNp,Mq(a,b))pq×1]。
[0084] 步骤S414:对第一矩阵进行第五预设运算,获得第二矩阵。
[0085] 其中,这里的对第一矩阵进行第五预设运算,例如:第一矩阵ft(x,y)的大小为pq×(NM/pq),每一行计算平均值得到1个pq×1的列向量,然后用ft(x,y)的每一列减去这个平均值列向量得到中心化矩阵 这个中心化矩阵 即为第二矩阵。
[0086] 步骤S415:对第二矩阵进行第六预设运算,获得第三矩阵。
[0087] 需求说明的是,这里的第六预设运算,例如:基于上个步骤的内容,第三矩阵中的符号“T”表示矩阵的转置,中心化矩阵 即 为第二矩阵。
[0088] 步骤S416:对第三矩阵进行奇异值分解计算,获得正交矩阵。
[0089] 其中,奇异值分解(Singular Value Decomposition)是线性代数中一种重要的矩阵分解,奇异值分解则是特征分解在任意矩阵上的推广。对第三矩阵进行奇异值分解计算,获得正交矩阵。其具体计算方式例如:对第三矩阵W进行奇异值分解得到正交矩阵,即W=USVT,其中U和V都是大小为pq×pq的正交矩阵。
[0090] 使用本方法步骤通过随机多分辨率奇异值分解进一步增强了密文的随机性和安全性。
[0091] 步骤S420:对正交矩阵、第一映射矩阵和第二映射矩阵进行第四预设运算,获得第二复数矩阵。
[0092] 请参见图6,图6示出了步骤S420的一种可能实现方式的流程示意图。具体包括如下步骤:
[0093] 步骤S421:在第一映射矩阵中选取第一预设尺寸的矩阵,获得第一映射子矩阵。
[0094] 其中,在第一映射矩阵中选取第一预设尺寸的矩阵,获得第一映射子矩阵,具体的方式例如:从第一映射矩阵R1中随机选取大小为pq×pq的第一映射子矩阵R′1(x,y),第一预设尺寸为pq×pq。
[0095] 步骤S422:在第二映射矩阵中选取第二预设尺寸的矩阵,获得第二映射子矩阵。
[0096] 其中,在第二映射矩阵中选取第二预设尺寸的矩阵,获得第二映射子矩阵,具体的方式例如:从第二映射矩阵R2中随机选取大小为(NM/pq)×(NM/pq)的第二映射子矩阵R′2(x,y),第二预设尺寸为(NM/pq)×(NM/pq)。
[0097] 步骤S423:将第二矩阵左乘第一映射子矩阵,再右乘第二映射子矩阵,获得第四矩阵。
[0098] 其中,将第二矩阵左乘第一映射子矩阵,再右乘第二映射子矩阵,获得第四矩阵,具体的方式例如:对中心化矩阵即第二矩阵 左乘第一映射子矩阵R′1(x,y),在右乘第二映射子矩阵R′2(x,y)得到第四矩阵
[0099] 步骤S424:将第四矩阵左乘正交矩阵的转置,获得第五矩阵。
[0100] 其中,将第四矩阵左乘正交矩阵的转置,获得第五矩阵,具体的方式例如:对第四矩阵 左乘正交矩阵UT得到第五矩阵g(x,y),其大小为pq×(NM/pq)。
[0101] 步骤S425:将第五矩阵的每一行调整为第三预设尺寸的矩阵,获得第二复数矩阵。
[0102] 其中,将第五矩阵的每一行调整为第三预设尺寸的矩阵,获得第二复数矩阵,第三预设尺寸为(N/p)×(M/q),具体的方式例如:
[0103] 将第五矩阵g(x,y)的每一行调整为大小为(N/p)×(M/q)的矩阵,得到第二复数矩阵I(x,y)。
[0104]
[0105] 其中,g′1,1(a,b)对应矩阵g(x,y)的第一行,g′1,M/q(a,b)对应矩阵g(x,y)的第q行,g′N/p,M/q(a,b)对应矩阵g(x,y)的第pq行。
[0106] 步骤S500:根据预设公式对第二复数矩阵进行分解运算,获得立体图像加密后的密文以及密文的密钥。
[0107] 需要说明的是,这里的分解运算可以是等模分解运算,具体地例如,根据预设公式对第二复数矩阵进行分解运算,获得立体图像加密后的密文以及密文的密钥,即步骤S500包括:
[0108] 根据公式对第二复数矩阵进行分解运算,获
得立体图像加密后的密文以及密文的密钥;
[0109] 其中,(x,y)为空间位置坐标,A(x,y)、P(x,y)分别表示第二复数矩阵的幅度和相位,M1(x,y)为密文,M2(x,y)为密钥,θ(x,y)为预设随机矩阵,且0≤θ(x,y)≤1,i为系数。使用本方法步骤通过等模分解将相位信息进行分解,避免了相位信息的集中,可以有效地提高抗攻击强度。
[0110] 需要说明的是,在本申请实施例中,在根据预设公式对第二复数矩阵进行分解运算,获得立体图像加密后的密文以及密文的密钥之前,即步骤S500之前,还包括:
[0111] 根据随机生成的多个第二密钥,获得预设随机矩阵,多个第二密钥均为第二预设长度。
[0112] 其中,这里的第二预设长度可以为三十二位,也可以为六十四位,也可以为一百二十八位。这里的多个第二密钥可以是随机生成的,也可以是外部引入的,例如:引入三个32位外部密钥作为三个第二密钥,其中一个第二密钥表示为S1=s1,s2,…,si,…,s8,然后将其等分为8个部分,每个部分作为一个子密钥,其中,si表示为第二密钥中的第i个子密钥。这里第一视角图矩阵和第二视角图矩阵的尺寸可以为N×M。
[0113] 需要说明的是,获得预设随机矩阵的方法例如下:
[0114] 一、随机生成的三个第二密钥,每个第二密钥均为32位的密钥,然后将其等分为8个部分,每个部分作为一个子密钥,其中第一个第二密钥表示为S1=s1,s2,…,si,…,s8,其中,si表示为第二密钥中的第i个子密钥。
[0115] 根据如下公式计算初始状态序列{x0,y0,z0}中的x0,同理,可以算出y0和z0。
[0116]
[0117] 将{x1(0),x2(0),x3(0)}作为初始状态,根据分数阶Chen系统产生一维随机序列X2、Y2、Y2,其中公式如下:
[0118] X2=[x1(1),x1(2),…,x1(NM)]
[0119] Y2=[x2(1),x2(2),…,x2(NM]
[0120] Z2=[x3(1),x3(2),…,x3(NM)]
[0121] 其中,分数阶Chen系统的动力学状态方程如下:
[0122]
[0123] 参数a=35,b=3,c=28,αj∈[0.8,1](j=1,2,3)。
[0124] 将一维序列X2、Y2、Y2归一化并按行截取调整为尺寸为N×M的二维矩阵X′2、Y′2、Z′2,θ(x,y)=(X′2×102-Y′2×104+Z′2×106,255)/255;
[0125] 根据如上公式计算,获得预设随机矩阵θ(x,y)。
[0126] 将预设随机矩阵作为预设公式的参数,获得预设公式。
[0127] 其中,这里的预设公式可以是一个公式,也可以是两个公式,也可以是三个公式,因此,这里的公式个数不应理解为对本申请实施例的限制。使用本方法步骤通过使用混沌的投影矩阵和随机矩阵这种方式增强了密文的随机性和安全性。
[0128] 为了便于理解,下面介绍本申请实施例提供的立体图像加密方法的另一种实施方式,本申请实施例提供的立体图像加密方法的另一种实施方式具体描述如下:
[0129] 请参见图7,图7示出了本申请实施例提供的立体图像加密方法的另一种实施方式的流程示意图。本申请实施例提供的立体图像加密方法的另一种实施方式,是基于混沌序列、多分辨率奇异值和等模分解,提出一种两视角立体图像的加密方法及系统。
[0130] (1)假设图像f1(x,y)、f2(x,y)分别为立体图像的第一视角图矩阵和第二视角图矩阵,尺寸均为N×M,将其组合为复数矩阵f(x,y),即:
[0131] f(x,y)=f1(x,y)+if2(x,y)
[0132] (2)引入64位外部密钥K1,将其变为8个部分如下;
[0133] K1=k1,k2,…,k8
[0134] 根据子密钥ki,计算x1(0),x1(0)表示x1的初始状态。
[0135]
[0136] 同样的方法根据引入的其它密钥,可以计算得到x2(0)、x3(0)。
[0137] 将{x1(0),x2(0),x3(0)}作为初始状态,根据分数阶Chen系统(即混沌序列)产生一维随机序列X1、Y1、Z1;
[0138] X1=[x1(1),x1(2),…,x1((NM/pq)2)]
[0139] Y1=[x2(1),x2(2),…,x2((NM/pq)2)]
[0140] Z1=[x3(1),x3(2),…,x3((NM/pq)2)]
[0141] 通过迭代计算,{x1(0),x2(0),x3(0)}表示初始状态,括号里面的数字表示迭代次数。
[0142] 其中,分数阶Chen系统的动力学状态方程为;
[0143]
[0144] 需要说明的是,t表示时间(在实际过程中表示迭代次数),是1个变量。参数a=35,b=3,c=28,αj∈[0.8,1](j=1,2,3)。将一维序列X1、Y1、Z1归一化并按行截取调整为尺寸为(NM/pq)×(NM/pq)的二维矩阵X′1、Y′1、Z′1,构建映射矩阵R1(x,y)、R2(x,y);
[0145] R1=X′1-Y′1,R2=Y′1-Z′1;
[0146] (3)对复数矩阵f(x,y)进行多分辨率奇异值分解。具体分解过程如下:
[0147] (a):将图像f(x,y)划分为不重叠的子块,子块大小为p×q,fh,w(a,b)表示坐标位置为(N/p,M/q)的子块,其中:a=1,2,…,p;b=1,2,…,q;h=1,2,…,N/p;w=1,2,…,M/q。
[0148]
[0149] (b):将图像的全部子块调整为尺寸为pq×1的列向量,构造矩阵ft(x,y);
[0150] ft(x,y)=[(f1,1(a,b))pq×1,(f1,2(a,b))pq×1,...,(fNp,Mq(a,b))pq×1][0151] (c):计算中心化矩阵 和散度矩阵 其大小为pq×pq;
[0152] 其中,ft(x,y)的大小为pq×(NM/pq),每一行计算平均值得到1个pq×1的列向量,然后用ft(x,y)的每1列减去这个平均值列向量得到中心化矩阵 中的符号“T”表示矩阵的转置。
[0153] (d):对W进行奇异值分解得到正交矩阵,即W=USVT,其中U和V都是大小为pq×pq的正交矩阵;
[0154] (e):从矩阵R1中随机选取大小为pq×pq的矩阵R′1(x,y)、矩阵R2中随机选取大小为(NM/pq)×(NM/pq)的矩阵R′2(x,y),对中心化矩阵 左乘矩阵R′1(x,y)、右乘矩阵R′2(x,y)得到
[0155] (f):对 左乘正交矩阵UT得到矩阵g(x,y),大小为pq×(NM/pq)。
[0156] (g):将矩阵g(x,y)的每一行调整为大小为(N/p)×(M/q)的矩阵,得到矩阵I(x,y)。
[0157]
[0158] 其中,g′1,1(a,b)对应矩阵g(x,y)的第一行,g′1,M/q(a,b)对应矩阵g(x,y)的第q行,g′N/p,M/q(a,b)对应矩阵g(x,y)的第pq行。
[0159] (4)引入32位外部密钥,将其分成8个部分;
[0160] S1=s1,s2,…,s8
[0161] 根据子密钥si,计算x0
[0162]
[0163] 同样的方法计算得到y0、z0。
[0164] 将{x0,y0,z0}作为初始状态,根据上述(2)中的分数阶Chen系统产生一维随机序列X2、Y2、Z2;
[0165] X2=[x1(1),x1(2),…,x1(NM)]
[0166] Y2=[x2(1),x2(2),…,x2(NM]
[0167] Z2=[x3(1),x3(2),…,x3(NM)]
[0168] 将一维序列X2、Y2、Y2归一化并按行截取调整为尺寸为N×M的二维矩阵X′2、Y′2、Z′2,构建随机矩阵θ(x,y);
[0169] θ(x,y)=(X′2×102-Y′2×104+Z′2×106,255)/255
[0170] (5)根据复数理论,对复数矩阵I(x,y)进行等模分解。将I(x,y)分解为两个掩码,即第一掩码M1(x,y)和第二掩码M2(x,y);
[0171]
[0172]
[0173] 其中,A(x,y)、P(x,y)分别表示矩阵I(x,y)的幅度和相位。将第一掩码M1(x,y)作为密文,将第二掩码M2(x,y)作为密钥。
[0174] 第二实施例
[0175] 请参见图8,图8示出了本申请实施例提供的立体图像加密装置结构示意图。本申请实施例提供了的一种立体图像加密装置100,立体图像加密装置100包括:
[0176] 视角图矩阵获得模块110,用于获得立体图像的第一视角图矩阵和第二视角图矩阵,第一视角图矩阵和第二视角图矩阵为立体图像不同视角下的图矩阵。
[0177] 第一复数矩阵获得模块120,用于根据第一视角图矩阵和第二视角图矩阵,获得第一复数矩阵。
[0178] 映射矩阵获得模块130,用于根据随机生成的多个第一密钥进行第一预设运算,获得第一映射矩阵和第二映射矩阵,多个第一密钥均为第一预设长度,第一预设运算包括截取运算和合并运算。
[0179] 第二复数矩阵获得模块140,用于对第一复数矩阵、第一映射矩阵和第二映射矩阵进行第二预设运算,获得第二复数矩阵,第二预设运算包括奇异值分解。
[0180] 密文和密钥获得模块150,用于根据预设公式对第二复数矩阵进行分解运算,获得立体图像加密后的密文以及密文的密钥。
[0181] 请参见图8,可选地,在本申请实施例中,立体图像加密装置还包括:
[0182] 随机矩阵获得模块160,用于根据随机生成的多个第二密钥,获得预设随机矩阵,多个第二密钥均为第二预设长度。
[0183] 预设公式获得模块170,用于将预设随机矩阵作为预设公式的参数,获得预设公式。
[0184] 本申请实施例提供一种立体图像加密方法及装置,通过立体图像的不同视角下的第一视角图矩阵和第二视角图矩阵表示为第一复数矩阵,再将第一复数矩阵、获得的第一映射矩阵和第二映射矩阵依次做奇异值分解和等模分解运算,从而获得立体图像加密后的密文以及密文的密钥。通过使用等模分解避免了立体图像加密后的相位信息的集中,从而有效地改善了现有技术中图像加密方法的抗攻击强度很弱的问题。
[0185] 以上仅为本申请实施例的优选实施例而已,并不用于限制本申请实施例,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。