安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

基于双目立体视觉的数字图像加密算法

更新时间:2022-10-28 15:45:18


本文简介:在网络信息社会,数字图像是人们获取信息的一个重要来源,成为人们进行信息交流的重要媒介。然而,在一些运用场合,数字图像的拥有者和使用者都不希望在图像存储、图像传输、图像使用等过程中被非法浏览或者处理;例如在文物保护领域,珍贵的文物图像、壁画图像在存储、传输、使用等环节都需要进行加密处理。随着计算机技术和网络技术的不断发展,传统的数字图像加密技术总体而言变得保密性不高,在实际应用中需要加以改进,近几年

基于双目立体视觉的数字图像加密算法

在网络信息社会,数字图像是人们获取信息的一个重要来源,成为人们进行信息交流的重要媒介。然而,在一些运用场合,数字图像的拥有者和使用者都不希望在图像存储、图像传输、图像使用等过程中被非法浏览或者处理;例如在文物保护领域,珍贵的文物图像、壁画图像在存储、传输、使用等环节都需要进行加密处理。随着计算机技术和网络技术的不断发展,传统的数字图像加密技术总体而言变得保密性不高,在实际应用中需要加以改进,近几年来,基于混沌系统理论的加密算法是一个重要的研究方向。

作为机器视觉领域的一个重要研究方向,双目立体视觉一直是热点和难点;其基本原理是从两个不同视角观察同一场景中的物体,以获取在不同视角下的二维图像,通过成像几何原理和视差原理来重建场景中物体的三维轮廓、位置等信息具体原理如图1所示。

基于双目立体视觉的数字图像加密算法

图1中下标2表示左相机,r表示右相机。世界坐标系中一点A(X,y,Z)在左右相机的成像面Cl和Cr上的像点坐标分别为al(ul,vl)和ar(ur,vr)。这两个像点是同一个对象点A在左右相机成
像面上的像,它们被称为“同名点”;需要注意的是从两幅图像中找到同名点是双目立体视觉一个极其重要的问题。为了恢复对象点A在世界坐标系中的坐标,分别作像点与各自相机的光心Ol和or的连线,即投影线alOL和arol;根据三角测量原理可知投影线的交点即为对象点A(X,y,Z)。

本文的加密算法为了达到对数字图像加密/解密的目的,通过利用双目立体视觉重建原理,对图像像素颜色分量利用投影矩阵(密钥矩阵)正投影进行加密,通过反投影进行廨密。算法属于秘密分割类型,即图像信息被分割成两个密图来携带。

一、加密算法基本原理及实现

加密算法首先将像素的颜色值分量R、G、B映射到三维空间中,R、G、B分量类似于三维空间中的X、y、Z分量;再通过两个不同的密钥矩阵将映射到三维空间中的颜色值正投影到二维空间;利用密钥矩阵对R、G、B分量进行投影生成密矩阵,投影后部分颜色值信息丢失,但是这部分丢失的信息隐藏在另外一个密钥矩阵对颜色值投影产生的密矩阵中;在解码阶段,利用反投影原理及两个密矩阵信息互相补偿的原理恢复数字图像。

1、加密流程

(1)构建合适的密钥矩阵

摄像机投影矩阵是用来完成三维世界到二维图像之间的一种映射,在算法中密钥矩阵实现三维颜色空间向二维空间的投影,也是本文加密算法的密钥。像素颜色向量C用4维齐次矢量(R,G,B,1)T表示;密矩阵的元素值G表示为3维齐次矢量的形式(r,g,l)T;p表示3x4密钥矩阵。则加密过程可以表示为:

基于双目立体视觉的数字图像加密算法

其中P包含了从颜色值空间到密矩阵元素值和姿态变换以及标定矩阵,即密钥矩阵可以分解为标定矩阵、旋转矩阵、平移矩阵。

算法中采用的两个密钥矩阵应满足:

1)小孔透视投影线性成像模型;

2)窄基线;

3)不同的标定矩阵、旋转矩阵、平移矩阵。

(2)获取密矩阵

分别将密钥矩阵P1、P2代人公式(1),对映射到三维空间的每j个颜色分量进行正投影,获得的两个兰维的密矩阵Ml、M2,如图2,图3所示。密矩阵的大小与源图像大小一致,其中元素的取值类型是双精度型。利用两个加密矩阵可以产生两幅密图,两幅密图可以分开传输,携带的信息互为补偿。

基于双目立体视觉的数字图像加密算法

 

基于双目立体视觉的数字图像加密算法

2、解码流程

(1)获取颜色空间的对象点

加密算法根据线性三角测量原理来获取对象点的位置,两幅密矩阵中坐标位置相同的元素是同名点;采用基于空间两异面同名光线的公垂线中点的方法进行颜色空间任意点的三维重建,其最优解满足最小均方误差的最小二乘解。

如图4所示,图中下标Z表示左相机,r表示右相机。某个像素颜色值C(R,G,B)在左右相机的密矩阵Cl和Cr上的“像点”的值分别为Cl(rl,gl)和cr(rr,gr)。这两个“像点”是同一个像素颜色值C的像。分别作它们与各自相机的光心ol和or的连线,即投影线CLOL和cror,,投影线的交点为颜色空间中的对象点C(R,G,B)。

基于双目立体视觉的数字图像加密算法

但是,由于相机成像模型非理想的小孔成像、CCD成像噪音、标定参数误差等因素的影响,实际这两条投影线在颜色空间中未必相交于一点,而且这两条投影线不可能平行。因此,对于根据cl(rl,gl)和cr(rr,gr)重建C的问题可以转化为根据两条异面投影线CLOL和cror,寻找C的问题。为了保证C在密矩阵Cl和Cr上的投影点坐标尽可能地接近cl(rl,gl)和cr(rr,gr),可以使点C到投影线cl(rl,gl)和cr(rr,gr)的距离平方和最小a在算法中G的值取投影线公垂线段的中点。根据以上原理得到具体解码流程如下:

基于双目立体视觉的数字图像加密算法

 

图5中:

基于双目立体视觉的数字图像加密算法

m11,m21,m13分别表示密矩阵Ml(i=1,2)每行的前三列元素组成的行向量;W=(R,G,B)T表示原图像素颜色的分量值。

二、仿真实验结果及抗攻击性能分析

为了检验本文加密算法的性能,对其进行加密和解密实验,并对实验结果进行了分析。

1、实验结果

选取220×165的经典彩色图像Lena.jpg进行仿真实验。实验结果如图6-10所示,其中图6是原图,图7是从密矩阵1产生的密图1,图8是从密矩阵2产生的密图2,图9是解密图,图1O是改变其中任意一个3x4的密钥矩阵的任意两个元素得到的矩阵作为密钥矩阵进行解密得到的解密图。

基于双目立体视觉的数字图像加密算法

从图9可知采用正确的密钥矩阵解密出图像较原图整体稍偏白,这是由于算法是基于二维图像恢复三维空间中物体三维几何信息的原理,而这个过程是一个不适定性问题,也即一个病态问题;所以算法属于有损加密。但是数字图像信息并不像文本信息那么敏感,可以允许一定的失真度。

例如比较图6和图9,基本上人眼察觉不出两幅图像的差别。从图7和图8可知,根据密图无法推测出原图的结构信息和像素颜色信息。

2、抗攻击性能分析

首先分析算法的密钥空间复杂度,算法密钥是透视投影矩阵,大小固定,可以分解为标定相机矩阵、旋转矩阵、平移矩阵等三个矩阵,矩阵元素在整个实数空间范围取值,所以密钥空间可以为无限大。

其次分析算法的密钥敏感性,图10是改变其中任一个密钥矩阵的任意两个元素得到的矩阵作为密钥矩阵进行解密得到的解密图,可知算法密钥的敏感性强,有较强的抵御恶意攻击的能力。

小知识之立体视觉

当闭上一只眼睛拿东西时,物件的距离和空间感会变得不一样又或是当你轮流遮盖一只眼睛看某一件近距离的东西时,有没有留意到左右眼睛所看出来的物件位置是不同的这种情况是因为人体的两只眼睛位置不同,令每只眼睛看出来的影像有所差异。当左右眼睛所看到的影像传到脑部时,脑部会将两个影像合而为一,形成对物件的立体及空间感,即是「立体视觉」。

立即下载试用

基于3DES加密算法的研究

关于加密方法,我们之前有介绍过很多,最近大出风头的秀尔算法和DES、MD5等等一直占据鳌头,今天我们来介绍一个小众的加密算法——就是3DES。

加密算法主要通过软件和硬件两种方式来实现,软件的实现方式具有灵活方便的优点,同时也具有加密速度受限制的缺点。采用硬件实现加密算法是实际应用中必须要考虑到的问题。目前经常采用硬件FPGA等来实现,该种实验方式具有处理速度快的特点,但是对系统的复杂度要求较高。

嵌入式微处理器具有实现简单,系统集成度高,体积小,易于移植等众多优点,因此有必要研发基于嵌入式微处理器的加密算法硬件设备,在此提出一种基于ARM处理器的3DES的硬件实现方法。

3DES算法原理

DES是美国国家标准局颁布的数据加密算法,作为世界范围内的公开加密标准已经使用了20多年。随着计算机处理速度的提高,DES算法面临着一些安全威胁,DES采用56位密钥,曾经有人用穷举搜索法对DES进行过密钥搜索攻击。

近年来也有人提出了差分和线性攻击方案,该方案的实施必须有超高速计算机的支持。为了增强DES算法应对差分或线性攻击的可能性,人们提出了一系列改进方案,采用增加密钥长度是一种可行的途径。

为了增加密钥的长度,可将分组密码进行级联,在不同的密钥作用下,连续多次对一组明文进行加密。其中,最有效的方法是使用三重DES加密,它可使加密密钥长度扩展到128位,在提高加密强度的同时,足以应付目前的各种攻击。

DES是一个分组加密算法,它以64位为分组对数据加密。64位的分组明文序列作为加密算法的输入,经过16轮加密得到64位的密文序列。加密的密钥为64位,实际长度为56位,DES算法的保密性取决于密钥。DES对64位的明文分组进行操作。

首先通过一个初始置换IP,将64位的明文分成各32位长的左半部分和右半部分,该初始置换只在16轮加密过程进行之前进行一次。在经过初始置换操作后,对得到的64位序列进行16轮加密运算,这些运算被称为函数f,在运算过程中,输入数据与密钥结合。经过16轮运算后,左、右两部分合在一起得到一个64位的输出序列,该序列再经过一个末尾置换IP-1,获得最终的加密结果。过程如图1所示。

在每一轮加密过程中,函数厂的运算包括以下四个部分:

首先进行密钥序列移位,从移位后的56位密钥序列中选出48位;

然后通过一个扩展置换将输入序列32位的右半部分扩展成48位,再与48位的轮密钥进行异或运算;

再者通过8个s盒将异或运算后获得的48位序列替代成一个32位序列;

最后对32位序列应用置换P进行置换变换,得到-厂的32位输出序列。将函数厂的输出与输入序列的左半部分进行异或运算后的结果作为新一轮加密过程输入序列的右半部分,当前输入序列的右半部分作为新一轮加密过程输入序列的左半部分。

上述过程重复操作16次,便实现了DES的16轮加密运算。

假设Bi是第i轮计算的结果,则Bi为一个64位的序列,Li和Ri分别是Bi的左半部分和右半部分,Ki是第i轮的48位密钥,且f是实现代换、置换及密钥异或等运算的函数,那么每一轮加密的具体过程为:

以上操作的详细过程如图2所示。

在3DES加密算法中,加密过程用两个不同的密钥K1和K2对一个分组消息进行三次DES加密。首先使用第一个密钥进行DES加密,然后使用第二个密钥对第一次的结果进行DES解密,最后使用第一个密钥对第二次的结果进行DES加密。

解密过程首先使用第一个密钥进行DES解密,然后使用第二个密钥对第一次的结果进行DES加密,最后再使用第一个密钥对第二次的结果进行DES解密。

DES算法的密钥长度是56位,三重DES算法的密钥长度是112位,加密强度显著增强,可以很好地应付各种攻击,目前尚没有可行的攻击方法,应用3DES的加密系统具有很大的实用价值。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16398.html