基于异或解密的(k,n)视觉密码方案

2020-03-23 09:54郭松鸽吕东辉戴玉静任艳丽
关键词:解密加密密码

郭松鸽, 吕东辉, 戴玉静, 任艳丽,2,3

(1.上海大学通信与信息工程学院,上海200444;2.上海先进通信与数据科学研究院,上海200444;3.上海交通大学可扩展计算与系统重点实验室,上海200240)

视觉密码是秘密共享技术在数字图像领域中的一种应用,其继承了秘密共享的特点,同时具有恢复简单性和“一次一密”的安全性[1].在(k,n)视觉密码方案中,将秘密图像加密成n张分享份,k张或多于k张分享份参与解密才能得到解密图像.根据加密方式的不同,可将视觉密码分为确定型、概率型和随机网格视觉密码[2].确定型和概率型视觉密码在加密过程中都需要设计加密矩阵[3],且确定型视觉密码存在像素扩展,而随机网格视觉密码既不需要设计加密矩阵,也不存在像素扩展,因此受到越来越多的关注.文献[4]首次提出了(2,2)随机网格视觉密码方案,随机网格是指像素值被随机指定为0或1的黑白图像.文献[5]提出了适用于加密灰度图像和彩色图像的(2,2)随机网格视觉密码方案.文献[6]则首次提出了(k,n)随机网格视觉密码方案.文献[7-8]也分别对视觉密码方案进行了改进,提高了解密图像的视觉质量.

视觉密码的分享份最初以透明胶片为载体,通过直接叠加分享份来恢复秘密图像.这种解密方式实质上是对分享份进行逻辑或运算,白像素无法完全恢复,参与解密的分享份越多,恢复的图像越暗,影响了解密图像的视觉质量[9].基于异或(exclusive OR,XOR)解密的视觉密码方案是解决该问题的有效途径,与基于叠加解密的视觉密码方案相比,可以大大改善解密图像的视觉质量[10],然而无计算设备时,基于异或解密的视觉密码方案不能使用.随着科学技术的发展,具有计算能力的智能终端日益普及,为执行异或运算提供了一条有效途径,对视觉密码研究具有重要意义.

文献[11]结合传统的基于叠加解密的视觉密码方案和基于异或解密的视觉密码方案,提出了一种既能叠加解密又可以异或解密的(k,n)视觉密码方案,但解密图像的视觉质量较差.文献[12]提出一种改进方案,当所有分享份参与异或解密时可以无损恢复秘密图像,并使用了与数字图像相同的颜色表示方式,但在有些情况下使用叠加解密无法恢复秘密图像.

传统视觉密码方案中黑、白像素分别用1,0表示,数字图像中黑、白像素则分别用0,1表示.传统视觉密码方案使用了与数字图像不同的颜色表示方式,使用计算机处理时不可避免地要进行取反操作,增加了不必要的运算量.基于此,文献[13]提出一种使用与数字图像相同颜色表示方式的随机网格视觉密码方案,同样使用叠加方式进行解密,只是在传统视觉密码中,叠加解密实质上是对分享份进行逻辑或运算,而该方案中,叠加解密实质上是对分享份进行逻辑与运算.与传统的视觉密码方案相比,该方案仅颜色表示方式不一致,使用了与数字图像相同的颜色表示方式,便于计算机处理,方案的安全性及解密图像的视觉质量并未受到影响.

本工作提出一种基于异或解密的(k,n)视觉密码方案,本方案使用随机网格实现,在加密过程中不需要设计加密矩阵;同时使用了与计算机中数字图像相同的颜色表示方式,便于计算机处理.本方案有叠加和异或两种解密方式,当所有分享份参与异或解密时,可以无损恢复秘密图像;利用异或运算的自反性改进了加密方式,提高了解密图像的视觉质量.

1 视觉密码的相关构造方案

下面将给出一些相关的(k,n)视觉密码构造方案,在这些方案中,秘密图像S被加密成n张分享份,t张分享份参与解密得到解密图像R.令⊗,⊕,&分别表示逻辑或、异或、与运算,b表示对布尔数b取反.

1.1 使用逻辑或、异或解密的视觉密码方案

文献[11]提出一种基于随机网格的(k,n)视觉密码方案,该方案有叠加和异或两种解密方式.将M×N的黑白秘密图像S加密成n张随机网格R1,R2,···,Rn,加密流程如下.

(1) 对于S(i,j),i=1,2,···,M,j=1,2,···,N,执行步骤(2)∼(5).

(2)从{k,k+1,···,n}中任选一数p,若p=2,则执行步骤(3);若p>2,则执行步骤(4).

(3)如果S(i,j)=0,则随机生成布尔数b,令bv=b,v=1,2,···,n;如果S(i,j)=1,则随机生成布尔数bv,v=1,2,···,n.

(4) 随机生成布尔数bv,v=1,2,···,p − 1,令bp=S(i,j)⊕ b1⊕ ···⊕ bp−1,再随机生成布尔数 bv,v=p+1,p+2,···,n.

(5) 将生成的b1,b2,···,bn随机分配到随机网格R1,R2,···,Rn中相同的像素位置上,即R1(i,j),R2(i,j),···,Rn(i,j).

(6)输出n张随机网格R1,R2,···,Rn.

根据加密流程可知,为了实现异或解密,该方案加密每一秘密像素时都从{k,k+1,···,n}中任选一数p,而p>k,所以会造成解密时某些像素因不满足(k,n)而无法恢复,降低了解密图像的对比度.

1.2 使用逻辑与、异或解密的视觉密码方案

文献[12]提出一种基于随机网格和布尔操作的(k,n)视觉密码方案,该方案也有叠加和异或两种解密方式,且当所有分享份参与异或解密时,可以完全恢复秘密图像.该方案利用文献[13]的方案,使用了与计算机中数字图像相同的颜色表示方式,即黑、白像素分别用0,1表示.该方案将M×N的黑白秘密图像S加密成n张随机网格R1,R2,···,Rn,加密流程如下.

(1) 对于S(i,j),i=1,2,···,M,j=1,2,···,N,执行步骤(2)∼(6).

(2)随机生成布尔数bv,v=1,2,···,k −1.

(4) 令bv=bk,v=k+1,k+2,···,n.

(5)若n>k,则令bn=S(i,j)⊕ b1⊕···⊕bn−1.

(6)将生成的b1,b2,···,bn随机分配到随机网格R1,R2,···,Rn中相同的像素位置上,即R1(i,j),R2(i,j),···,Rn(i,j).

(7)输出n张随机网格R1,R2,···,Rn.

解密流程如下.

(1)如果没有计算设备,则通过叠加方式恢复秘密图像,即R=R1&R2&···&Rt.

(2)如果有计算设备,当k

(3)输出恢复的秘密图像R.

利用该方案进行加密时,步骤(5)保证了所有分享份参与异或解密时可以完全恢复秘密图像,但是这样会降低叠加解密时恢复的秘密图像的对比度;同时步骤(3)和(5)采用了不同的像素生成方式,造成在某些情况下叠加解密无法恢复秘密图像.在解密过程中,仅当t=k或t=n时,可以通过异或解密,而当k

2 本工作提出的方案

2.1 加密过程

本工作提出一种基于异或解密的(k,n)视觉密码方案,对文献[11-12]的方案进行了改进,同时利用文献[13]的方案,使用与计算机中数字图像相同的颜色表示方式,即黑、白像素分别用0,1表示.本方案将M ×N的黑白秘密图像S加密成n张分享份R1,R2,···,Rn,加密分如下两种情况进行:n=k;n>k.

当n=k时,分享份的尺寸为M×N,加密流程如下.

(1) 对于S(i,j),i=1,2,···,M,j=1,2,···,N,执行步骤(2)∼(4).

(2)随机生成布尔数bv,v=1,2,···,n −1.

(4)将生成的b1,b2,···,bn随机分配到随机网格R1,R2,···,Rn中相同的像素位置上,即R1(i,j),R2(i,j),···,Rn(i,j).

(5)输出n张随机网格R1,R2,···,Rn.

当n>k时,分享份的尺寸为M×2N,加密流程如下.

(1) 对于S(i,j),i=1,2,···,M,j=1,2,···,N,执行步骤(2)∼(9).

(2)随机生成布尔数bv,v=1,2,···,k−1.

(4) 令 bv=bk,v=k+1,k+2,···,n.

(5)将生成的 b1,b2,···,bn随机分配到随机网格R1,R2,···,Rn中相同的像素位置上,即R1(i,j),R2(i,j),···,Rn(i,j).

(10)输出n张随机网格R1,R2,···,Rn.

2.2 解密过程

本方案有两种解密方式:当没有计算设备可用时,使用传统的叠加解密,解密过程简单;当有计算设备可用时,使用异或运算进行解密,需要少量的计算,但具有更好的视觉质量.具体的解密流程如下(t为恢复秘密图像所用分享份的数量).

(1) 对于Rv(i,j),v=1,2,···,t,i=1,2,···,M,j=1,2,···,N,执行步骤(2)∼(3).(2)如果没有计算设备,则通过叠加方式恢复秘密图像,即

(3)如果有计算设备,则通过异或运算恢复秘密图像.

当t−k为偶数时,使用式(2)解密;当t−k为奇数时,使用式(3)解密.

(4)输出恢复的秘密图像R.

3 性能分析

本方案使用了与计算机中数字图像相同的颜色表示方式,即黑、白像素分别用0,1表示.为了便于分析视觉密码方案的性能,给出如下光通量和对比度的定义.

定义1(平均光通量) 对于尺寸为M×N的黑白图像S中某一像素s,黑像素的光通量表示为L(s)=0,白像素的光通量表示为L(s)=1,则图像S的平均光通量定义为

定义2(对比度) 令S(0),S(1)分别表示秘密图像S中黑、白像素所在的区域,满足S=S(0)∪S(1)且S(0)∩S(1)=Ø.R[S(0)],R[S(1)]分别表示在恢复的秘密图像中,与S(0),S(1)处于相同位置的区域,则恢复的秘密图像R的对比度定义为

令 s 为秘密像素,b1,b2,···,分别为本方案步骤(2)∼(5),(6)∼(9)生成的n个像素.根据文献[7]可知,L(bv[s=1])=L(bv[s=0])=1/2,L(b0v[s=1])=L(b0v[s=0])=1/2,v=1,2,···,n.

引理1 令 rXOR为 b1,b2,···,bn或b01,b02,···,b0n中t(t

证明 在t个像素中,假设u个像素从b1,b2,···,bk−1中选择,t−u个像素从bk,bk+1,···,bn中选择,可分为以下两种情况:u=t;u

(1)u=t.t个像素都是从b1,b2,···,bk−1中选择,因为这t个像素是随机产生的,与秘密像素s相互独立,此时rXOR的光通量为L(rXOR[s=1])=L(rXOR[s=0])=1/2.

(2)u

综上所述,L(rXOR[s=1])=L(rXOR[s=0]),引理1得证.

引理2 令 rXOR为b1,b2,···,bn或 b01,b02,···,b0n中t(t>k)个像素异或解密的结果,则

证明 当t−k为偶数时,在t个像素中,假设u个像素从b1,b2,···,bk−1中选择,t−u个像素从bk,bk+1,···,bn中选择.

若k 6 t 6 n−k+1,可分为以下3种情况:u=k−1;u=0;0

择的,因此这t个像素都是相同的.此时,无论秘密像素s是黑还是白,若t为偶数,rXOR的光通量为1;若t为奇数,rXOR的光通量为1/2.

所以,当n−k为偶数时,rXOR的光通量为

则L(rXOR[s=1])>L(rXOR[s=0]).

同理可得,当n−k为奇数时,rXOR的光通量为

则L(rXOR[s=1])>L(rXOR[s=0]).

综上所述,L(rXOR[s=1])>L(rXOR[s=0]),引理2得证.

定理 令S为秘密图像,R1,R2,···,Rn为本方案产生的n张分享份,RAND(AND代表与运算)为其中t张分享份叠加解密得到的解密图像,RXOR为其中t张分享份异或解密得到的解密图像.本方案满足以下3个条件,因此是一个有效的基于异或解密的(k,n)视觉密码方案.

(1)每一张分享份都是一张随机网格,即

(2)当t

(3)当t>k时,t张分享份叠加、异或解密都可以恢复秘密图像,即证明 由文献 [7]可知,L(Rv[S(1)])=L(Rv[S(0)]),v=1,2,···,n.当 t张分享份叠加解密时,若tk,则L(RAND[S(1)])>L(RAND[S(0)]).

当t张分享份异或解密时,若tk,由引理2及定义2可知,L(RXOR[S(1)])>L(RXOR[S(0)]).

综上所述,本方案是一个基于异或解密的(k,n)视觉密码方案.

4 实验结果

4.1 本方案的仿真结果

为了验证本方案的有效性,进行如下仿真实验.图1为本方案(3,3)情况下的仿真结果,其中(a)为512×512的秘密图像S,(b)∼(d)为生成的分享份R1,R2,R3,(e)为2张分享份叠加解密的结果,(f)为3张分享份叠加解密的结果,(g)为2张分享份异或解密的结果,(h)为3张分享份异或解密的结果.

图1本方案(3,3)情况下的仿真结果Fig.1 Simulation results of a(3,3)case by the proposed scheme

图2 为本方案(3,4)情况下的仿真结果,其中(a)为512×512的秘密图像S,(b)∼(e)为生成的分享份R1,R2,R3,R4,(f)为2张分享份叠加解密的结果,(g)为3张分享份叠加解密的结果,(h)为4张分享份叠加解密的结果,(i)为2张分享份异或解密的结果,(j)为3张分享份异或解密的结果,(k)为4张分享份异或解密的结果.

图2 本方案(3,4)情况下的仿真结果Fig.2 Simulation results of a(3,4)case by the proposed scheme

由图1和2可知:在(3,3)情况下n=k,生成的分享份与秘密图像大小相同;在(3,4)情况下n>k,生成的分享份是秘密图像的2倍.每一分享份都和随机噪声一样,无法从单一分享份中得到秘密信息.当少于k张分享份参与解密时,不能恢复任何信息,而当k张或多于k张分享份参与解密时,则可以恢复秘密图像,且叠加解密和异或解密恢复的秘密图像与原始秘密图像大小相同.与叠加解密相比,异或解密恢复的秘密图像的视觉质量更好,且当所有分享份都参与异或运算解密时,秘密图像可以无损恢复.

4.2 叠加解密和异或解密比较

对比度是视觉密码方案的客观评价标准,对比度越高,视觉质量越好.表1为本方案在不同情况下叠加解密与异或解密恢复的秘密图像的对比度,t为恢复秘密图像所用分享份的数量.由于分享份是随机生成的,因此取10次实验的平均值作为对比度值.

表1 本方案叠加解密与异或解密恢复的秘密图像的对比度Table 1 Contrast of revealed secret images by the proposed scheme with stacking and XOR decryption

图3为本方案在不同情况下叠加解密与异或解密恢复的秘密图像的对比度比较.由表1和图3可知,异或解密恢复的秘密图像视觉质量更好,且当所有分享份参与异或解密时,可以无损恢复秘密图像.

图3 本方案叠加解密与异或解密的对比度比较Fig.3 Contrast comparison of the proposed scheme with stacking and XOR decryption

4.3 相关方案比较

本工作对文献[11-12]的方案进行了改进,同时根据文献[13]使用了与数字图像相同的颜色表示方式.本方案与文献[12-13]一样都有两种解密方式:叠加解密和异或解密,而文献[13]仅能使用叠加解密.针对两种解密方式,将本方案分别与文献[11-13]进行了对比.表2为本方案与文献[11-13]采用叠加解密恢复的秘密图像的对比度,t为恢复秘密图像所用分享份的数量.

表2 本方案与文献[11-13]采用叠加解密恢复的秘密图像的对比度Table 2 Contrast of revealed secret images by the proposed scheme and related methods[11-13]with stacking decryption

图4为本方案与文献[11-13]采用叠加解密恢复的秘密图像的对比度比较.由表2和图4可知:文献[13]使用了与数字图像相同的颜色表示方式,避免了额外的取反操作,便于计算机处理,但解密图像的对比度较低;文献[11]加入了异或解密功能,但这样会降低叠加解密恢复的视觉效果,因此解密图像的对比度也普遍较低;而文献[12]解密图像的对比度虽然有所提高,但是在(2,4),(3,4)情况下,当4张分享份参与叠加解密时解密图像的对比度为0,即无法恢复秘密图像;与文献[11-13]相比,本方案的解密图像具有相同甚至更高的对比度.

图4 本方案与文献[11-13]采用叠加解密的对比度比较Fig.4 Contrast comparison of the proposed scheme and related methods[11-13]with stacking decryption

表3为本方案与文献[11-12]采用异或解密恢复的秘密图像的对比度,t为恢复秘密图像所用分享份的数量.

表3 本方案与文献[11-12]采用异或解密恢复的秘密图像的对比度Table 3 Contrast of revealed secret images by the proposed scheme and related methods[11-12]with XOR decryption

图5为本方案与文献[11-12]采用异或解密恢复的秘密图像的对比度比较.由表3和图5可知:文献[11]采用异或解密恢复的秘密图像的对比度较低;文献[12]解密图像的对比度有所提高,且当所有分享份参与解密时解密图像的对比度为1.000 0,即可以无损恢复秘密图像;与文献[11-12]相比,本方案的解密图像具有相同甚至更高的对比度.

图5 本方案与文献[11-12]采用异或解密的对比度比较Fig.5 Contrast comparison of the proposed scheme and related methods[11-12]with XOR decryption

由上述分析可知:异或解密恢复的秘密图像具有更好的视觉质量,且当所有分享份参与异或解密时,可以无损恢复秘密图像;本方案与文献[11-13]都使用了随机网格视觉密码方案实现,既不需要设计加密矩阵,也不存在像素扩展,无论使用叠加解密还是异或解密,本方案的解密图像都具有相同甚至更好的视觉质量.

5 结束语

本工作提出一种同时具有叠加解密和异或解密能力的(k,n)视觉密码方案.本方案使用随机网格视觉密码实现,在加密过程中不需要设计加密矩阵,同时使用了与计算机中数字图像相同的颜色表示方式,便于计算机处理.本方案利用异或运算的自反性改进了加密方式,在不影响叠加解密恢复的秘密图像视觉质量的基础上,提高了异或解密恢复的秘密图像的视觉质量.通过实验仿真可知,与已有的视觉密码方案相比,无论是使用叠加解密还是异或解密,本方案的解密图像都具有相同甚至更好的视觉质量.本工作所提方案是针对二值图像加密的,如何针对灰度图像和彩色图像进行加密是后续的研究重点.

猜你喜欢
解密加密密码
密码里的爱
炫词解密
解密“一包三改”
保护数据按需创建多种加密磁盘
电力安全防护加密装置
炫词解密
炫词解密
密码抗倭立奇功
加密与解密
密码藏在何处