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

基于位相抽取的三维信息加密算法

更新时间:2022-10-28 15:43:28


本文简介:近年来,加密技术不仅针对二维图像,也逐渐将三维信息纳为加密对象。三维信息加密现有的典型技术方式是数字全息术与双随机位相编码的结合。前者可以方便地记录三维信息,后者则确保了信息加密的实现。下面我就给大家介绍一种以位相抽取为基础的三维信息加密算法来实现三维信息文件加密。一、加密算法描述基于位相抽取的三维信息加密算法由两部分组成,第一部分是基于相位抽取的三维信息编码,这一部分是核心。我们在计算机中构建如

基于位相抽取的三维信息加密算法

近年来,加密技术不仅针对二维图像,也逐渐将三维信息纳为加密对象。三维信息加密现有的典型技术方式是数字全息术与双随机位相编码的结合。前者可以方便地记录三维信息,后者则确保了信息加密的实现。下面我就给大家介绍一种以位相抽取为基础的三维信息加密算法来实现三维信息文件加密。

一、加密算法描述

基于位相抽取的三维信息加密算法由两部分组成,第一部分是基于相位抽取的三维信息编码,这一部分是核心。

基于位相抽取的三维信息加密算法

我们在计算机中构建如图的简化三维信息作为秘密信息,即位于一定纵深内的三个垂直平面上的复振幅分布。该三维信息可用一个三维函数CAS(x,y,z)表示,也可以表示为一个二维函数集合的形式{C(x1,y1),A(x2,y2),S(x3,y3)}。

1、加密算法

第一部分加密算法的主要目的就是将三维信息编码为二维的复振幅信息,并抽取出其位相分布函数。

具体做法如下:模拟平面波垂直入射,并依次受到三维信息复振幅调制而到达输出平面SLM(xi,yi)的衍射过程,再抽取SLM(xi,yi)的位相部分,若将波长为λ、衍射距离为z的Fresnel衍射用FrTλ,z{.}来表示,并且设Q(xi,yi)为抽取出的位相函数,则上述编码过程可简写为:

SLM(xi,yi)=FrTλ,z3{FrTλ,z2{FrTλ,z1{C(x1,y1)}×A(x2,y2)}·S(x3,y3)},(1)

Q(xi,yi)=SLM(xi,yi)/|SLM(xi,yi)|.(2)

第二部分为Fresnel域内的双随机位相加密.在光学系统实现中,可以将抽取出的位相Q(xi,yi)加载到空间光调制器(SLM)上,并用双随机位相加密系统实施加密。通常而言,系统中的第一个随机位相板RPM1紧贴于待加密的二维信息,但由于使用了SLM,因而就允许直接将RPM1的随机位相分布与Q(xi,yi)叠加,于是只需RPM2即可达到同样目的。设RPM1和RPM2的位相函数分别为R1(xi,yi),R2(xm,ym),且密文为复振幅分布Ro(xo,yo).为记录复振幅Ro(xo,yo),可引入一束参考光干涉得到强度分布.如不考虑参考光,且Fresnel域内SLM到RPM2和输出平面的衍射距离为分别为zⅠ,zⅡ,则第二部分算法可表示如下:

Ro(xo,yo)=FrTλ,zⅡ{FrTλ,zⅠ{exp[jQ(xi,yi)]×exp[jR1(xi,yi)]}×exp[jR2(xm,ym)]}.(3)

2、解密算法

解密过程是上述两部分加密算法的逆过程,若用IFrTλ,z{·}表示逆Fresnel变换,则可先得到DeSLM(xi,yi)如下:

DeSLM(xi,yi)=IFrTλ,zⅠ{IFrTλ,zⅡ×{exp[jRo(xo,yo)]×exp[-jR2(xm,ym)]}×exp[-jR1(xi,yi)]}.(4)

再经过一系列的逆Fresnel变换,就可以得到解密出的三维信息DeCAS(x,y,z),又即解密出的二维函数集合{DeC(x1,y1),DeA(x2,y2),DeS(x3,y3)}:

DeC(x1,y1)=IFrTλ,z1{DeSLM(xi,yi)},(5)

DeA(x2,y2)=IFrTλ,z2{DeSLM(xi,yi)},(6)

DeS(x3,y3)=IFrTλ,z3{DeSLM(xi,yi)}.(7)

可用相关系数值Co来评价解密二维函数集合的质量,从而判定三维信息的整体解密质量,Co(g,go)=cov(g,go)(σt·σto)-1,(8)

其中cov(g,go)表示解密信息g和原始秘密信息go之间的互协方差,σ为标准偏差.Co取值范围为[0,1],其越接近1表明解密信息的质量越高。需注意的是,运用Co判定复振幅分布时,须分别对比两者的实部与虚部,或者振幅与位相。

本加密算法与系统的密钥为位相密钥和附加密钥组成。位相密钥就是第二部分加密算法中双随机位相板RPM1和RPM2的位相分布函数,附加密钥则包括波长λ和衍射距离{zⅠ,zⅡ},它们共同确保了系统的安全性。

二、计算模拟与分析

1、加密过程

我们在计算机模拟中所采用的加密对象就是图中所示的三维信息“CAS”,为简单起见而又不失一般性,我们将三维信息{C(x1,y1),A(x2,y2),S(x3,y3)}中的A(x2,y2)取为纯振幅函数,其余两者取为纯位相函数,且除去字母覆盖区域复振幅皆为零,如图所示,其中A(x2,y2)为灰度化表示。

基于位相抽取的三维信息加密算法

模拟中的波长取为632.8nm,有效采样点数为256pixels×256pixels,像素大小为8μm,衍射距离{z1,z2,z3}分别取为{20,30,20}mm。

经过基于位相抽取的三维信息编码后,SLM平面上的振幅与位相函数分布|SLM(xi,yi)|,Q(xi,yi)分别如图(a)和(b)所示,抽取SLM平面的位相分布函数Q(xi,yi)由双随机位相加密,所得到密文Ro(xo,yo)的振幅和位相分别如图(c)和(d)所示.其中,衍射距离{zⅠ,zⅡ}取为{30,40}mm。

基于位相抽取的三维信息加密算法

2、解密过程

当位相密钥和附加密钥的取值正确时,按照前述解密算法首先得到解密的二维分布DeSLM(xi,yi),其振幅和位相分布分别如图(a)和(b)所示。图(b)与上图(a)对应的Co值等于1,即解密出的二维位相分布|DeSLM(xi,yi)|与原始位相分布|SLM(xi,yi)|相同。

基于位相抽取的三维信息加密算法

将位相分布函数|DeSLM(xi,yi)|依相应的衍射距离进行逆Fresnel变换,可最终解密出三维信息DeCAS(x,y,z),即{DeC(x1,y1),DeA(x2,y2),DeS(x3,y3)},如图(a)—(c)所示。运用数字图像处理中的形态学方法可方便地将相应的信息增强并提取出来,使相应的振幅或位相分布清晰可见.至此,计算机模拟结果证明了基于位相抽取的三维信息加密算法的有效性。

基于位相抽取的三维信息加密算法

本文提出并模拟证实了基于位相抽取的三维信息加密算法的有效性、鲁棒性和安全性,该加密算法可快速加密虚拟的三维信息,也可用于光电联合的三维信息加密系统。此外,模拟结果还显示了该加密算法在承载更大信息量三维信息的应用潜力。

小知识之衍射:

衍射(Diffraction)又称为绕射,波遇到障碍物或小孔后通过散射继续传播的现象。衍射现象是波的特有现象,一切波都会发生衍射现象。

立即下载试用

基于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/16271.html