改进的像素不扩展的(2,3)可视密码方案

2020-04-13 01:25乔明秋赵振洲
网络安全技术与应用 2020年4期
关键词:加密密码秘密

◆乔明秋 赵振洲

(北京政法职业学院信息技术系 北京 102628)

秘密共享是Shamir[1]和Blakely 提出的概念,即n 个分享者共同分享一个秘密,k 个(或多于k 个)分享者可以一起恢复秘密,而少于k 个分享者无法恢复秘密,所以,秘密共享也称为(k,n)门限方案。秘密共享是密码学重要分支之一,广泛适用于数据的安全存储与加密领域。

尽管秘密共享体制已经发展得较为完善,但却不可避免地存在一个问题:秘密的恢复需要经过大量的数学计算,并且使用者对密码学知识有所了解。可视密码是1994 年由Naor[2]和Shamir提出的,它是秘密共享的一个分支。可视密码是将一个秘密图像加密成n 张分享图像,n 张分享图像由n 个分享者分别保管,如果想要恢复秘密图像,k 分(k 分享者)个分享者叠加各自的分享图像,秘密图像即可显现出来;而少于k 个分享者无法恢复秘密图像。与以往技术相比,可视密码的不同之处在于加密对象为图像,分享图像叠加即可恢复秘密图像,通过人眼就能识别,更加方便使用。Ateniese[3]提出了一般存取结构的可视密码,给出了可视密码中加密矩阵的构造方法。

可视密码的优点主要有:

(1)隐蔽性:可视密码的分享图像都是随机分布的像素点,具有很好的隐蔽性;

(2)绝对安全性:如果得到小于k 个分享图像,通过分析方法无法获得秘密图像的一点信息;

(3)秘密恢复的简单性:只需k 个人将图片叠加,秘密图像就会呈现出来,秘密恢复简单;

目前,可视密码主要的研究方向包括:多秘密共享可视密码,像素不扩展可视密码[4-8],基于异或运算的可视密码[9][10],可视密码在数字水印中的应用[11]、可视密码在二维码中的应用[12]等。

尽管可视密码有诸多优点,但是像素扩展一直是可视密码的一个非常明显的弊端,像素扩展会带来分享图像存储空间变大、传输不便等问题。文献[6]针对(2,3)可视密码给出了一种像素不扩展的加密方案,可以实现分享图像像素不扩展。本文在文献[6]基础上提出了改进的像素不扩展的可视密码,在保证像素不扩展的前提下,恢复秘密图像时可以得到更好的对比度。

1 原方案介绍[6]

文献[6]提出了一种(2,3)像素不扩展的可视密码方案,在此方案中,当加密秘密图像加密时,每次处理4 个像素,加密后得到的也是4 个像素,避免了传统方案中像素扩展的问题。

所给方案对应的基础矩阵如下:

该可视密码加密算法如下:对于需要加密的秘密图像的4 个像素,如果其中有i 个白色像素,则加密矩阵对应矩阵Si。将加密矩阵随机列置换后,按照对应矩阵的设置进行加密。直到所有秘密图像像素全部处理完成。

2 改进的像素不扩展的(2,3)可视密码方案介绍

文献[6]的方案可以实现(2,3)可视密码加密后像素不扩展,2 个分享图像叠加后图像对比度为1/4,3 个分享图像叠加后图像对比度为1/2。通过改进,我们的方案在实现(2,3)可视密码加密后像素不扩展的基础上,能够提高叠加后恢复秘密图像的对比度。

2.1 两组产妇临床资料比较 两组年龄、体质量、孕周、孕次、既往剖宫产次数比较,差异无统计学意义(P>0.05),见表1。

该方案在加密秘密图像时,每次处理3 个像素,加密后也是3 个像素,保证了方案中像素不扩展。

对于每次处理的3 个像素,可以分为4 种情况:

(1)3 个秘密图像像素中3 个为白色像素;

(2)3 个秘密图像像素中,2 个白色像素,1 个黑色像素;

(3)3 个秘密图像像素中,2 个黑色像素,1 个白色像素;

(4)3 个秘密图像像素中3 个为黑色像素。

所给方案对应的基础矩阵是

改进的像素不扩展的(2,3)可视密码加密算法如下: (1)生成基础矩阵S0,S1;

(2)每次按顺序取3 个像素;

(3)如果3 个秘密图像像素中3 个为白色像素,则对基础矩阵S0进行随机列变换,转步骤8;

(4)如果3 个秘密图像像素中有1 个为黑色像素,其他2个是白色像素,则以1/3 的概率选择S1,2/3 的概率选择S0,并将选择后的矩阵进行随机列置换,转步骤8;

(5)如果3 个秘密图像像素中有2 个为黑色像素,1 个为白色像素,则以2/3 的概率选择S1,1/3 的概率选择S0,并将选择后的矩阵进行随机列置换,转步骤8;

(6)如果3 个秘密图像像素中3 个为黑色像素,则对基础矩阵S1进行列置换,转步骤8;

(7)对于随机列置换后的矩阵,每行对应不同的分享图像; (8)重复执行2~7,直到秘密图像所有像素处理结束; (9)得到分享图像。

该可视密码方案仍然使用传统的(2,3)可视密码的基础矩阵,创新点在于同时对秘密图像的3 个像素进行加密,根据不同情况,以一定的概率选取不同的基础矩阵,最后生成3 个像素,保证了方案的不扩展性。

3 改进的像素不扩展的(2,3)可视密码方案实例

实验在matlab 环境中编程实现,实验中所用的秘密图像如图1 所示,秘密图像像素为256×256。将秘密图像中每3 个像素进行加密,使用前面介绍的算法,确定分享图像的3 个像素,从而保证了加密的像素不扩展性。

使用前面介绍的改进的像素不扩展的(2,3)可视密码方案,对图1 秘密图像进行加密,生成3 张分享图像,三张分享图像分别如图2~图4 所示,三张分享图像分别由参与秘密分享的三个人保存。

任意两个分享者将两个分享图像叠加,秘密图像即可恢复,将分享图像1、分享图像2 叠加后的结果如图5 所示,恢复图像对比度为1/3,其他任意两张图像的叠加效果与图5 类似。

三个分享者将三个分享图像叠加,秘密图像对比度更好,可以达到2/3,将分享图像1、分享图像2 和分享图像3 叠加后的结果如图6 所示,可以看到图像对比度较好。

图1 秘密图像

图2 分享图像1

图3 分享图像2

图4 分享图像3

图5 两张分享图像恢复的秘密图像

图6 三张分享图像恢复的秘密图像

本方案和文献[6]中的方案都可以保证像素的扩展度为1,且图像没有变形,除此之外,本方案较文献[6]有更好的对比度,本方案与文献[6]的对比如表1 所示。

表1 本方案与文献[6]的比较

4 总结与展望

像素扩展和对比度是衡量可视密码算法的主要参数,本文在文献[6]基础上提出了改进的像素不扩展的可视密码,即在加密的时候每次处理3 个像素,而不是1 个像素,这样就保证像素不会发生扩展。在保证像素不扩展的前提下,恢复秘密图像时可以得到比之前算法更好的对比度。解决如何设计出更优的可视密码算法的问题,是今后需要努力的方向。

猜你喜欢
加密密码秘密
密码里的爱
电力安全防护加密装置
密码抗倭立奇功
加密与解密
愿望树的秘密(二)
密码藏在何处
DES 对称加密和解密算法的安全性应用
我心中的秘密
第十三章 进化的秘密!
夺命密码