1 视觉密码
1.1 基本原理
(k,n)的视觉密码方案将一幅秘密图像P加密成n幅影子图像,解密时只需将k(k≤n)个影子图像重叠起来就能恢复秘密信息。加密基本原理是对秘密图像P中的每个像素进行n次处理,P中每个像素在影子图像中对应m个黑白子像素(m称为像素扩展度),对P中所有像素都作此处理后就得到n幅影子图像。若为P中每个像素的加密构建一个n*m的布尔矩阵A=(Aij)n*m,则Aij=0表示对于秘密图像中某一个像素,它在第i个分享者的第j个子像素的颜色为白色;Aij=1表示它在第i个分享者的第j个子像素的颜色为黑色。矩阵A的第i行为秘密图像p中一个像素在影子图像中对应的子像素。对A中第j列的所有元素作或运算,其值W(v)称为该像素块的汉明重量。
解密时将k个影子图像重叠,计算每个像素块的汉明重量,当W(v)≥d时,图像中该像素点为黑色;W(v)1.2 二值图像的(2,2)视觉密码分解
以一幅黑白二值图像p分解为2幅影子图像为例来说明视觉密码方案的基本原理,分解时用公式(1)作加密矩阵(H0和H1分别表示秘密图像中白色像素和黑色像素的加密矩阵),像素扩展度m=2。具体步骤如下:(1)对于P中的每一个像素pxy进行扩展,扩展方法:若pxy为白色,则从集合H0中等概率挑出一个矩阵来对该像素加密;矩阵中的一行即为像素pxy在影子图像中对应的像素块。若pxy为黑色,则从集合H1中等概率挑出一个矩阵来对该像素进行加密。
(2)重复上述操作,直至P中所有像素都被加密为止。
解密步骤如下:
①选择参数d和a;叠加2个影子图像,计算叠加图像中每个像素块的汉明重量W(v);