法律状态公告日
法律状态信息
法律状态
2016-04-06
授权
授权
2014-03-12
实质审查的生效 IPC(主分类):G06T1/00 申请日:20131016
实质审查的生效
2014-01-29
公开
公开
技术领域
本发明属于信息安全领域和图像处理领域,具体的涉及一种基于数独的使用有意义的影子图像的渐进式秘密图像加密共享方法。
背景技术
随着信息技术的飞速发展,互联网对整个社会的科学与技术、经济与文化带来了巨大的推动,也使我们的日常生活发生了深刻的革命性变化,每天都会有越来越多的信息通过互联网进行传输,其中不乏涉及到个人隐私、商业机密甚至国家安全等不可泄露的信息。因此,信息安全在当今互联网飞速发展的时代占有越来越重要的地位。同时,由于图像信息的生动形象的特点,图像在互联网上的传播也日益频繁。但由于网络的不安全性,这些图像信息在传输过程中可能丢失或被破坏,一些恶意攻击者也可能试图利用网络窃取传输的信息来达到自己不正当的目的,而他们一旦窃取成功,就会对消息传递者造成无法估计的损失,如果这些信息关系到政府部门或国家机关的重大决策,后果不堪设想。因此如何确保机密图像在互联网上的安全传输成了一个备受关注的世界性课题,而秘密图像共享方案作为机密图像信息安全传输及保护的重要机制引起了研究者的广泛关注。
秘密图像共享是在秘密共享的基础上发展起来的,其本质是将秘密共享技术应用到图像上,从而实现秘密图像在互联网传输过程中不被窃取或破坏。秘密共享是信息安全和数据保密的一项重要技术,它在重要信息的传输过程中起着非常关键的作用。秘密共享技术解决了机密信息存一份以保持其高度机密性,还是存多份以确保其不因意外因素而损毁的问题。
为了避免因某一份影子图像被窃取而对秘密图像造成泄露的威胁,Chen和Lin提出了一种秘密图像共享方案,该方案将秘密图像分成n份同等重要的部分。除此之外,在秘密图像传输的过程中可以使用n个不同的通道(每一份使用一个通道),如果被恶意破坏者窃听了最多r1-1个通道(r1≤…≤rk≤n),也不会造成秘密图像信息泄露,与此同时,最多n-rk个通道的断开也不会影响到秘密图像的无损还原。它最大的优势在于使用不同数量的影子图像还原得到的秘密图像的质量不同,也就是说,使用数量越多的影子图像还原得到的秘密图像的质量越高,更容易被应用在实际环境中,例如对安全问题要求苛刻的图像信息在网络中传输时,避免因泄露少量影子图像而造成秘密图像的泄露。但是,这个方案得到的影子图像的品质不是很高,会导致其在网络中传输时存在一定风险,并且其嵌入秘密图像和还原秘密图像的方法不是很简洁,有待改进。
总之,图像秘密共享存在着很多难以解决的问题,例如影子图像无意义和失真,算法过于复杂。好的图像秘密共享方案应该做到影子图像不超过原始图像大小,影子图像是有意义的并且有着好的视觉质量,当然方法的简洁性也要好。
发明内容
本发明要解决的技术难题是克服现有技术的缺陷,发明一种基于数独(Sudoku)的利用有意义的影子图像的渐进式秘密图像共享方法,该方法将秘密图像分别藏入到若干张载体图像中,得到相同数量的影子图像,这些影子图像与原图在视觉上几乎无区别;在还原过程中,使用不同数量的影子图像会得到效果不同的还原后的秘密图像。这样生成的有意义质量高的影子图像,在很大程度上降低了影子图像在网络传输过程中被怀疑的可能性,有效防止了被恶意破坏者所窃取。而以上优点在于我们的方法使用是基于数独的渐进式秘密图像共享方法,这一创新在于利用数独的特性,
本发明采用的技术方案是一种基于数独的渐进式秘密图像共享方法,其特征是,该方法利用数独来进行秘密图像的加密共享和还原;此方法包括两个部分,一部分是秘密图像加密共享过程,即将秘密图像分别藏入若干张载体图像中,生成若干张对应的影子图像;另一部分是秘密图像的还原过程,即将秘密图像从影子图像中还原出来;下面是上述两个部分的详细的过程描述:
1)秘密图像加密共享过程
设使用的数独为stu,大小为N2×N2;在准备阶段,我们使用该数独生成一个256×256的魔幻矩阵M,具体的方法是:
For i=0 to 255
For j=0 to 255
M[i][j]=stu[i mod N2][j mod N2],
得到矩阵后,进行如下步骤:
步骤1,将数组[0,255]平均分成N2个数组,由于不可能完全均分,最后一个数组可以包含多一些,也就是说前N2-1个数组分别包含
步骤2,取出秘密图像S的第一个像素值,假设为s,其中s∈Ak,其平均值为Hk,k∈[1,N2];然后,分别取出host1和host2的第一个像素,假设为a和b;此时,分别将a和b作为矩阵M的横纵坐标固定一个数独中N×N的block,然后将该block里k对应的横纵坐标a’和b’分别放入空的图像中,从而得到两个影子图像shadow1和shadow2中相应位置像素的像素值;同时,将Hk放入空图像S′中相应的位置;
步骤3,利用S′和载体图像host3生成影子图像shadow3;首先,将步骤2中的数组Ak继续均分成N2个数组,和步骤1类似,前N2-1个数组分别包含
步骤4,利用步骤3的方法,使用S″和新的载体图像host4生成第四张影子图像shadow4;以此类推,直到生成第张影子图像;
上述步骤循环执行512×512次,完成对秘密图像每一个像素值的操作,生成新的完整的多张有意义的影子图像;
2)秘密图像还原过程
步骤1,按照秘密图像分享过程步骤1的方法,将数组[0,255]平均分成N2个数组,其中,数组分别定义为Ai,每个数组的平均值为Hi,i=1,2,…,N2;
步骤2,分别取出影子图像shadow1和shadow2的第一个元素,假设为p和q,然后,以分别将a和b作为矩阵M的横纵坐标即可固定一个矩阵中的数值,假设为x,将Hx放入空图像S1;
步骤3,将数组Ax均分成N2个数组,其中,细分后的数组定义为Axi,每个数组的平均值为Hxi,i=1,2,…,N2;然后取出影子图像shadow3的第一个元素,假设为r,此时将Hx和r分别作为横纵坐标在矩阵M中即可固定一个数值,假设为y,将Hxy放入空图像S2;
步骤4,利用步骤3的方法,重复该过程直至处理完最后一张影子图像;
上述步骤循环执行512×512次,完成对每一个像素值的操作,还原出完整的秘密图像;根据还原步骤我们可以看出,秘密图像的还原方法是一个渐进式的过程;分别使用两张、三张或更多的影子图像直至全部数量的影子图像会还原得到不同质量的秘密图像,并且他们的质量会越来越高,直至和原始图像无区别;除了在视觉方面进行辨认外,更客观准确的方式是使用PSNR表示峰值信噪比,它的定义如下:
>
其中,MSE代表均方误差,具有H×W个像素值的图像的MSE定义如下:
>
其中,puv是载体图像的像素值,而p′uv生成的影子图像的像素值;
PSNR值越大代表图像的质量越高,而使用该方案使用不同数量的影子图像还原得到的秘密图像的PSNR值也随着影子图像数量的增多而增加。
本发明的有益效果是:该方法的还原过程具有渐进性的特点,使用不同数量的影子图像进行还原,会得到不同视觉质量的秘密图像,参与还原过程的影子图像的数量越多,还原得到的秘密图像的质量越高。若是有数量很少的影子图像被窃取,破坏者仍无法有效还原出秘密图像,这在一定程度上防止了秘密图像被窃取的可能。该方法的算法复杂度低,可以有效地实施。
附图说明
图1给出了实例中使用的数独,大小是9×9。
图2给出了实例中使用图1所示的数独生成的魔幻矩阵M。
图3展示了在实例过程中使用的秘密图像。
图4展示了在实例中作为载体图像的四张灰阶图像,它们分别是Baboon,Cameraman,Couple,Clown。
图5是实例中利用矩阵进行的秘密图像的加密分享过程操作。
图6是实例中利用矩阵进行的还原过程操作,其中,a)将第2组的平均值放入到空图像中进行的还原过程操作,b)将第7组的平均值放入到空图像中进行的还原过程操作。
具体实施方式
以下结合技术方案和附图详细说明本发明的实施过程。
基于数独的渐进式秘密图像共享方法是利用数独来进行秘密图像的加密共享和还原,该方法利用数独中每个区块、每行和每列内数字不重复的特点,在秘密图像分享过程中生成了有意义的高质量的影子图像。同时,秘密图像还原的过程具有渐进性的特点:用于还原的影子图像越多,还原得到的秘密图像的质量越高。也就是说使用不同数量的影子图像会还原得到不同质量的秘密图像,并且还原得到的秘密图像的质量和用于还原的影子图像的数量成正比。由于使用不同大小的数独会生成不同数量的影子图像,例如使用4×4、9×9和16×16的数独会分别产生不同数量的张影子图像,为了更好地说明这个过程,我们使用了9×9的数独。一张秘密图像和四张载体图像。图1给出了例子中使用的数独,大小是9×9。数独最典型的特征是在每一行每一列或每一个3×3的方格中由0到9组成,并且没有相同的数字。因为图像的像素值在0到255之间,我们使用该数独生成一个256×256的魔幻矩阵M,魔幻矩阵M在秘密图像的分享和秘密图像的还原过程中起到了非常重要的作用,如图2所示。该矩阵在我们的方法中起到了非常重要的作用。图3和图4分别展示了我们在例子中所使用的秘密图像和四张载体图像。
具体的秘密图像加密共享过程描述如下:
(一)秘密图像加密共享过程:
步骤1,将数组[0,255]平均分成9个数组,它们分别是A1=[0,28],A2=[29,56],…,A9=[224,255]。每组的平均值分别是H1=14,H2=43,…,H9=239。
步骤2,取出秘密图像S的第一个像素值,设其值是36,显然36属于数组A2,其平均值为H2=43。然后,分别取出Baboon和Cameraman的第一个像素a、b,设a=36和b=4。此时,分别将36和4作为矩阵M的横纵坐标固定一个数独中3×3的block,然后将该block里36所在的数组号也就是2所对应的横纵坐标a′和b′分别放入空的图像中,从而得到两个影子图像shadow1和shadow2。同时,将第2组的平均值H2放入一空图像中,得到S′。图5展示了这个过程。
步骤3,利用S′和载体图像Couple生成影子图像shadow3。首先,将步骤2中的数组A2继续均分成9个数组,它们分别是A21=[29,32],A22=[33,36],…,A29=[53,56],每组的平均值分别为H21=30,H22=34,…,H29=54。因为我们已经得到了A2的平均值,现在将A2的平均值H2作为横坐标,然后取出Couple的第一个元素c,设c=50,以c来作为纵坐标,在矩阵M中固定一个数独中1×9的block,然后将该block里36所在的数组号也就是2放入空的图像中,从而得到第三个影子图像shadow3。同时,将36所在组的平均值H22放入到一空图像中,得到S″。图6(a)展示了这个过程。
步骤4,继续将数组A22分成9组,它们是[33],[34],[35],[36],[36],[36],[36],[36],[36],采用这种分组方法有利于得到最佳的伪装效果。根据图6(b),把d′=81放入到shadow4中。
(二)秘密图像还原过程:
步骤1,按照秘密图像分享过程步骤1的方法,将数组[0,255]平均分成9个数组,其中,数组定义为Ai,每个数组的平均值为Hi,i=1,2,…,9。
步骤2,从影子图像shadow1和shadow2中分别取出第一个元素,设为a′和b′。以a′=37和b′=3分别作为横纵坐标在矩阵M中确定整数2,如图4所示,然后将第2组的平均值H2=43放入到空图像中,即得到S1。其中,S1是使用两张影子图像还原得到的秘密图像。
步骤3,将数组A2继续均分成9组,它们分别是A21=[29,32],A22=[33,36],…,A29=[53,56],每组的平均值分别为H21=30,H22=34,…,H29=54。从影子图像shadow3中取第一个元素,设为c′。分别以步骤1中H2=43作为横坐标,以c′=49作为纵坐标,在矩阵M中可以确定整数2,如图6(a)所示,将第2组的平均值H22=34放入到空图像中,即得到S2。其中,S2是使用三张影子图像还原得到的秘密图像。
步骤4,将数组A2继续分成9组,它们是[33],[34],[35],[36],[36],[36],[36],[36],[36]。从影子图像shadow4取第一个元素,设为d′。分别以步骤2中H22=34作为横坐标,以d′=34作为纵坐标,如图6(b)所展示,在矩阵M中可以确定整数7,然后将第7组的平均值H227=36放入到空图像中,即得到S3。也就是使用全部影子图像还原得到的秘密图像。根据还原步骤我们可以看出,秘密图像的还原方法是一个渐进式的过程。
实例结果表明,我们的方法可以将秘密图像藏入到若干张载体图像中(数量取决于使用的数独大小),并生成相同数量的影子图像。在我们的方法中生成的影子图像是有意义的并且有着很高的PSNR值,大大降低了在网络中传输的不安全性。除此之外,根据持有影子图像者参与还原过程的数量,可以得到不同程度的秘密图像,参与的人数越多,还原得到的秘密图像质量越高,当全部参与者共同参与还原时,会得到和原始图像一致的秘密图像。
该方法具有复杂度低,易于操作的特点。实验证明本发明生成了有意义高质量的影子图像,降低了藏有秘密图像信息的影子图像在互联网中传播的危险,并且能够渐进式还原出秘密图像。
机译: 共享的秘密密钥生成设备加密设备解密设备共享的秘密密钥生成方法加密方法解密方法和程序
机译: 基于同型加密和秘密共享的加密数据可验证秘密扫描协议
机译: 加密方法,密码通信方法,秘密密钥生成方法和共享密钥生成方法,密码通信系统和秘密密钥生成设备,共享密钥生成设备和记录介质