一种分级-分组的秘密图像共享方法转让专利

申请号 : CN201310314405.8

文献号 : CN103414839B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王安红刘文杰刘丽李志宏

申请人 : 太原科技大学

摘要 :

一种分级-分组的秘密图像共享方法,属于秘密图像共享技术领域,包括发送端对秘密图像的分级分解、共享、隐藏和接收端对秘密图像的分组渐进恢复。发送端:首先采用比特位分解将秘密图像分解为不同等级的子秘密图像,然后采用Shamir的 门限方案分别将每个子秘密图像共享为一组影子图像,并将每组影子图像隐藏到不同的掩饰图像中分发给不同权限组中的不同参与者;接收端:同一权限组只有提供k个或k个以上的隐藏图像才可恢复本组子秘密图像,不同权限组将恢复的子秘密图像叠加可实现对秘密图像的渐进恢复。本发明的优点是根据实际需要可将秘密图像共享给不同管理权限的多组参与者。

权利要求 :

1.一种分级-分组的秘密图像共享方法,包括发送端对秘密图像的分级分解、共享、隐藏和接收端对秘密图像的分组渐进恢复,其特征在于具体操作步骤如下:Ⅰ.发送端秘密图像的分级分解、共享、隐藏,包括下列步骤:第一步,对秘密图像进行比特位分解形成多个不同等级的子秘密图像:⑴.读入一幅U×V大小的秘密图像S,将其分为互不重叠的、2×2大小的图像块,从第一个图像块开始执行下列步骤(2)和(3);

⑵.假设第一个图像块中4个像素的值分别为d11,d12,d21,d22,将每个像素值转换为8比特二进制st1,st2,st3,st4,依次取出st1,st2,st3,st4的第一和第二比特形成8位二进制比特流st1',同理,依次取出第三和第四比特形成比特流st2'、第五和第六比特形成比特流st3'、第七和第八比特形成比特流st4';

⑶.分别转换二进制比特流st1',st2',st3',st4'为十进制数d1,d2,d3,d4,并将d1,d2,d3,d4作为像素值依次存入四幅子秘密图像矩阵S1,S2,S3,S4;

⑷.重复步骤(2)-(3),直到秘密图像S中的所有图像块均被处理完毕,此时,原始秘密图像S被分成四个不同级别的子秘密图像S1,S2,S3,S4,其大小均为第二步,将四幅子秘密图像分别共享为四组影子图像并隐藏到不同的掩饰图像中,以子秘密图像S1为例:⑴.转换子秘密图像S1的每个像素为r位m进制数,并将每个像素的每位数独立存储于矩阵P中,形成大小为 的矩阵P;

⑵.读入一幅H×Z大小的掩饰图像C1,其中 按逐行扫描方式将每个像素依次存入列向量q中,其大小为(H×Z)×1,并进行如下操作:a=q mod m (1)dv=q-a (2)其中,mod表示求余数运算;

⑶.按行依次对矩阵P中数字进行分组,每k-1个数字为一组,作为Shamir(k,n)门限方案中多项式的前k-1个系数,依次取列向量a中的数作为第k个系数,如(3)式:

1 k-2 k-1

fg(x)=(pj+pj+1x+…+pj+k-2x +agx )mod m, (3)其中,pj为矩阵P中的第j个元素,j=b×(k-1)+1,表示向上取整;g=1,2,...,H×Z;因为 所以当时,fg(x)中的系数pj取零;

⑷.根据公式(3),取x=1,2,...,n,分别计算fg(1),fg(2),...,fg(n)得到n个列向量y1,y2,...,yn:y1=fg(1),y2=fg(2),…,yn=fg(n),g=1,2,...,H×Z, (4)⑸.计算公式(5),并将结果存入列向量s1,...,sx,...,sn:sx=dv+yx,x=1,2,...,n (5)⑹.将s1,...,sx,...,sn都转换为任意大小的矩阵,分别记为ST1,...,STx,...,STn,表示n幅隐藏图像;

⑺.将隐藏图像ST1,...,STx,...,STn分发给相应管理权限组中n个不同的参与者保存,并将m的值和对应的密钥x告知每个参与者;

至此,完成子秘密图像S1的隐藏和分发过程;

同样地,将子秘密图像S2,S3,S4分别按照步骤(1)-(7)执行后分发给其对应管理权限组中n个不同的参与者保存;

Ⅱ.接收端对秘密图像和掩饰图像的恢复:

第一步,对子秘密图像和掩饰图像的恢复;根据Shamir(k,n)门限方案的思想,对同一组参与者,最少收集到其中的k个参与者提供的隐藏图像及相应密钥x才能恢复本组的子秘密图像和掩饰图像,以收集到第一组k幅隐藏图像为例:⑴.读入收集到的k幅隐藏图像 及相应密钥 并按逐行扫描方式将每个隐藏图像矩阵转换为列向量 大小均为(H×Z)×1,则可求得 it=i1,i2,...,ik;令 其中g=1,2,...,H×Z;

⑵.分别提取 中 第g个(g =1,2,...,H×Z)未被 处理 的 数用k个点 构

造k-1阶方程组:

由上式方程组,求解出k个系数pj,pj+1,...,pj+k-2,ag,记为一组;

⑶.重复步骤(2),直到 中所有数都被处理,最终得到H×Z组系数;

⑷.当j满足 时,依次取每组系数的前k-1个数pj,pj+1,...,pj+k-2执行如下操作:(i)将k-1个数中每r位视为一个m进制数,并将其转换为十进制数;(ii)将得到的十进制数作为像素值按逐行排列方式依次存入 矩阵中,该矩阵即为子秘密图像矩阵S1;

⑸.提取每组系数的第k个数ag进行掩饰图像恢复:首先,求取 dv:然后利用ag构成列向量a来求取q:q=a+dv;最后,将列向量q转换为矩阵求得掩饰图像C1;

同样地,其他组隐藏图像都按照步骤(1)-(5)执行后可得相应的子秘密图像S2,S3,S4及其对应的掩饰图像;

第二步,对秘密图像的渐进恢复:

⑴.两个或两个以上不同组的参与者提供其恢复的子秘密图像,即可采用比特位分解的逆过程恢复不同质量的原秘密图像;

⑵.当所有组均能提供其恢复的子秘密图像时,用比特位分解的逆过程可以恢复一个无损的秘密图像S。

说明书 :

一种分级-分组的秘密图像共享方法

技术领域

[0001] 本发明属于秘密图像共享技术领域,具体涉及一种分级-分组的秘密图像共享方法。

背景技术

[0002] 随着计算机及数字多媒体的发展,越来越多的数字图像通过网络进行传输,因此,网络传输的安全性和保密性成为了越来越重要的问题,尤其是一些军事、商业等对图像信息的完整性和安全性要求较高的领域内,信息的安全性更显得尤为重要。然而数字图像数据量大、冗余度高、像素间相关性强,因此早期的对数字、数码的加密方法已不能适应对数字图像加密的要求。
[0003] 秘密图像共享技术(Secret image sharing)是应用于图像的一种加密技术,即将原始的秘密图像按照一定的运算拆分成n幅似噪声的影子图像来代替原始的秘密图像在网络上进行传输,接收端只有收集到其中的k幅或更多影子图像才能恢复出原秘密图像,其中k≤n,k,n均为正整数;而少于k幅影子图像就无法恢复秘密图像的任何信息。通过该技术既能够防止秘密图像管理权利过于集中,同时在通信过程中丢失一部分信息的情况下仍能重构出原秘密图像,因此一定程度上能抵抗通信中的丢包现象,增强秘密图像的安全性和完整性。
[0004] 目前的秘密图像共享方案可分为以下几类:一是注重于减小影子图像尺寸的秘密图像共享方案,这些方案考虑图像信道的特性,尽量减少要传输的秘密图像尺寸,便于在较低的通信信道下进行秘密图像传输;二是可渐进恢复的秘密图像共享方案,恢复秘密图像时随着收到影子图像个数的增加,恢复图像的质量越来越好,可以更容易更灵活的监控恢复图像的质量;三是多个秘密图像共享方案,主要是为了增加共享多个秘密的能力;四是能够恢复秘密图像和掩饰图像的可逆秘密图像共享方案等。
[0005] 以上四种方案都是将一个或者多个秘密图像共享给一组人,然而在一些实际场合中,可能需要将秘密图像共享给不同管理权限的多组参与者,如一个企业中,根据参与者级别(比如董事长和总经理)的不同,允许他们拥有不同的秘密图像的管理权限;而同一组内的多个参与者,虽然具有相同的管理权限,但也需要相互制约,共同管理秘密信息,此时,上述四种方案不能适应这一场合的应用。

发明内容

[0006] 本发明的目的是提供一种能够将秘密图像共享给不同管理权限的多组参与者的分级-分组的秘密图像共享方案,如图1所示,可有效地应用在一些需要分级-分组管理秘密图像的场合。
[0007] 本发明是这样实施的,其特征在于操作步骤如下:
[0008] Ⅰ.发送端秘密图像的分级分解、共享、隐藏,包括下列步骤:
[0009] 第一步,对秘密图像进行比特位分解形成多个不同等级的子秘密图像:
[0010] ⑴.读入一幅U×V大小的秘密图像S,将其分为互不重叠的、2×2大小的图像块,从第一个图像块开始执行下列步骤(2)和(3);
[0011] ⑵.如图2所示,假设第一个图像块中4个像素的值分别为d11,d12,d21,d22,将每个像素值转换为8比特二进制st1,st2,st3,st4,依次取出st1,st2,st3,st4的第一和第二比特形成8位二进制比特流st1',同理,依次取出第三和第四比特形成比特流st2'、第五和第六比特形成比特流st3'、第七和第八比特形成比特流st4';
[0012] ⑶.如图3所示,分别转换二进制比特流st1',st2',st3',st4'为十进制数d1,d2,d3,d4,并将d1,d2,d3,d4作为像素值依次存入四幅子秘密图像矩阵S1,S2,S3,S4;
[0013] ⑷.重复步骤(2)-(3),直到秘密图像S中的所有图像块均被处理完毕,此时,原始秘密图像S被分成四个不同级别的子秘密图像S1,S2,S3,S4,其大小均为
[0014] 第二步,将四幅子秘密图像分别共享为四组影子图像并隐藏到不同的掩饰图像中,以子秘密图像S1为例:
[0015] ⑴.转换子秘密图像S1的每个像素为r位m进制数,并将每个像素的每位数独立存储于矩阵P中,形成大小为 的矩阵P;
[0016] ⑵.读入一幅H×Z大小的掩饰图像C1,其中 按逐行扫描方式将每个像素依次存入列向量q中,其大小为(H×Z)×1,并进行如下操作:
[0017] a=q mod m (1)
[0018] dv=q-a (2)
[0019] 其中,mod表示求余数运算;
[0020] ⑶.如图4所示,按行依次对矩阵P中数字进行分组,每k-1个数字为一组,作为Shamir(k,n)门限方案中多项式的前k-1个系数,依次取列向量a中的数作为第k个系数,如(3)式:
[0021] fg(x)=(pj+pj+1x1+…+pj+k-2xk-2+agxk-1)mod m, (3)
[0022] 其中,pj为矩阵P中的第j个元素,j=b×(k-1)+1,表示向上 取整;g= 1,2,...,H×Z;因 为 所以当
时,fg(x)中的系数pj取零;
[0023] ⑷.根据公式(3),取x=1,2,...,n,分别计算fg(1),fg(2),...,fg(n)得到n个列向量y1,y2,...,yn:
[0024] y1=fg(1),y2=fg(2),…,yn=fg(n),g=1,2,...,H×Z, (4)[0025] ⑸.计算公式(5),并将结果存入列向量s1,...,sx,...,sn:
[0026] sx=dv+yx,x=1,2,...,n (5)
[0027] ⑹.将s1,...,sx,...,sn都转换为任意大小的矩阵,分别记为ST1,...,STx,...,STn,表示n幅隐藏图像;
[0028] ⑺.将隐藏图像ST1,...,STx,...,STn分发给相应管理权限组中n个不同的参与者保存,并将m的值和对应的密钥x告知每个参与者;
[0029] 至此,完成子秘密图像S1的隐藏和分发过程;
[0030] 同样地,将子秘密图像S2,S3,S4分别按照步骤(1)-(7)执行后分发给其对应管理权限组中n个不同的参与者保存;
[0031] Ⅱ.接收端对秘密图像和掩饰图像的恢复:
[0032] 第一步,对子秘密图像和掩饰图像的恢复;根据Shamir(k,n)门限方案的思想,对同一组参与者,最少收集到其中的k个参与者提供的隐藏图像及相应密钥x才能恢复本组的子秘密图像和掩饰图像,以收集到第一组k幅隐藏图像为例:
[0033] ⑴.读入收集到的k幅隐藏图像 及相应密钥并按逐行扫描方式将每个隐藏图像矩阵转换为列向量 大小均为
(H×Z)×1,则可求得 令 其中g=
1,2,...,H×Z;
[0034] ⑵.分别提取 中第g个(g=1,2,...,H×Z)未被处理的数用k个点 构
造k-1阶方程组:
[0035]
[0036]
[0037] ……
[0038]
[0039] 由上式方程组,求解出k个系数pj,pj+1,...,pj+k-2,ag,记为一组;
[0040] ⑶.重复步骤(2),直到 中所有数都被处理,最终得到H×Z组系数;
[0041] ⑷.当j满足 时,依次取每组系数的前k-1个数pj,pj+1,...,pj+k-2执行如下操作:(i)将k-1个数中每r位视为一个m进制数,并将其转换为十进制数;(ii)将得到的十进制数作为像素值按逐行排列方式依次存入 矩阵中,该矩阵即为子秘密图像矩阵S1;
[0042] ⑸.提取每组系数的第k个数ag进行掩饰图像恢复:首先,求取dv:然后利用ag构成列向量a来求取q:q=a+dv;最
后,将列向量q转换为矩阵求得掩饰图像C1;
[0043] 同样地,其他组隐藏图像都按照步骤(1)-(5)执行后可得相应的子秘密图像S2,S3,S4及其对应的掩饰图像;
[0044] 第二步,对秘密图像的渐进恢复:
[0045] ⑴.两个或两个以上不同组的参与者提供其恢复的子秘密图像,即可采用比特位分解的逆过程恢复不同质量的原秘密图像;
[0046] ⑵.当所有组均能提供其恢复的子秘密图像时,用比特位分解的逆过程可以恢复一个无损的秘密图像S。
[0047] 本发明的优点及其积极效果是:
[0048] (1)秘密图像隐藏在掩饰图像中进行传输,隐藏后的图像与原掩饰图像之间的差别用人眼很难辨别出来,具有一定的迷惑性和安全性。
[0049] (2)子秘密图像和掩饰图像的恢复都是可逆的,秘密图像的恢复是一个可渐进的恢复,根据不同用户对重构图像质量的不同需求,实现渐进重构过程。随着重构的子秘密图像的不断增加,秘密图像的重构质量越好。这对实际应用中需要根据管理权限将秘密图像进行分组管理来说,具有很好的用途。
[0050] (3)该算法可以根据公司实际的需要进行扩展。比特位分解可以根据需要的级数随意进行分配,使用Shamir的(k,n)门限方案时,可以根据每组人数的多少灵活的进行扩展,具有很好的灵活性和实用性。

附图说明

[0051] 图1是分级-分组的秘密图像共享方案的框图;
[0052] 图2和图3是本发明中对一个2×2的图像块进行比特位分解的示意图;
[0053] 图4是本发明中将一个子秘密图像S1共享并嵌入掩饰图像C1的框图;
[0054] 图5是本发明中实验所用图;
[0055] 图中:(a)为原秘密图像S;
[0056] (b)~(e)分别为所用的四个掩饰图像C1,C2,C3,C4。
[0057] 图6是本发明秘密图像的比特位分解图;
[0058] 图中:(f)为原秘密图像S;
[0059] (g)~(j)为秘密图像进行比特位分解后所得子秘密图像S1,S2,S3,S4。
[0060] 图7是本发明中将四个子秘密图像分别共享为两个影子图像再分别嵌入到四组掩饰图像对比图;
[0061] 图中:(b1)~(b2)为最高权限组所持有的隐藏图像ST1,PSNR=40.27dB;ST2,PSNR=40.42dB;
[0062] (c1)~(c2)为次高权限组所持有的隐藏图像ST3,PSNR=39.78dB;ST4,PSNR=39.77dB;
[0063] (d1)~(d2)为次低权限组所持有的隐藏图像ST5,PSNR=40.36dB;ST6,PSNR=39.86dB;
[0064] (e1)~(e2)为最低权限组所持有的隐藏图像ST7,PSNR=40.33dB;ST8,PSNR=39.76dB。
[0065] 图8是本发明恢复的子秘密图像和掩饰图像;
[0066] 图中:(g1)~(j1)为无失真恢复的四个子秘密图像S1,S2,S3,S4;
[0067] (b3)~(e3)为无失真恢复的四个掩饰图像C1,C2,C3,C4。
[0068] 图9是本发明中渐进恢复的秘密图像;
[0069] 图中:(a1)子秘密图像S3和S4合作恢复的秘密图像RS1,PSNR=2.12dB;
[0070] (a2)子秘密图像S2和S3合作恢复的秘密图像RS2,PSNR=3.41dB;
[0071] (a3)子秘密图像S2,S3和S4共同合作恢复的秘密图像RS3,PSNR=3.48dB;
[0072] (a4)子秘密图像S1单独恢复的秘密图像RS4,PSNR=16.18dB;
[0073] (a5)子秘密图像S1和S4合作恢复的秘密图像RS5,PSNR=16.51dB;
[0074] (a6)子秘密图像S1和S2合作恢复的秘密图像RS6,PSNR=29.03dB;
[0075] (a7)子秘密图像S1,S2和S3合作恢复的秘密图像RS7,PSNR=42.46dB;
[0076] (a8)恢复的子秘密图像S1,S2,S3和S4都参与的时候可以恢复一个无损的原始秘密图像S,PSNR=Inf;

具体实施方式

[0077] 我们选择Matlab7.0作为软件平台,编程实现本发明方案的设计。实施过程是选取512×512的标准测试图像“Spoke.bmp”作为秘密图像S,选取512×512的标准测试图像“lena.bmp”,“barbara.bmp”,“peppers.bmp”和“goldhill.bmp”分别作为四个掩饰图像C1,C2,C3,C4(如附图5所示)。采用(2,2)的门限方案,m=7时嵌入子秘密图像失真最小。
[0078] 具体操作步骤是:
[0079] Ⅰ.发送端秘密图像的分级分解、共享、隐藏,包括下列步骤:
[0080] 第一步,对秘密图像进行比特位分解形成多个不同等级的子秘密图像:
[0081] ⑴.读入一幅512×512的秘密图像S,将其分为互不重叠的、2×2大小的图像块,从第一个图像块开始执行下列步骤(2)和(3);
[0082] ⑵.第一个图像块中4个像素的值为{83,161;186,73},将每个像素值转换为8比特二进制{01010011,00111101;10111010,01001001},重排后组成的四个8位二进制比特流分别为{01001001,01111100;00111010,11011001};
[0083] ⑶.分别转换二进制流{01001001,01111100;00111010,11011001}为十进制数d1=73,d2=124,d3=58,d4=217,并将d1,d2,d3,d4作为像素值依次存入四幅子秘密图像矩阵S1,S2,S3,S4;
[0084] ⑷.重复步骤(2)-(3),直到秘密图像S中的所有图像块均被处理完毕;此时,原始秘密图像S被分成四个不同级别的子秘密图像S1,S2,S3,S4(如附图6所示),其大小均为256×256;
[0085] 第二步,将四幅子秘密图像分别共享为四组影子图像并隐藏到不同的掩饰图像中,以子秘密图像S1为例:
[0086] ⑴.转换子秘密图像S1的每个像素为3位7进制数,并将每个像素的每位数独立存储于矩阵P中,形成大小为256×256×3的矩阵P;
[0087] ⑵.读入一幅512×512(512×512>256×256×3)大小的掩饰图像C1,按逐行扫描方式将每个像素依次存入列向量q中,其大小为(512×512)×1,并进行如下操作:
[0088] a=q mod7,
[0089] dv=q-a,
[0090] 其中,mod表示求余数运算;
[0091] ⑶.按行依次对矩阵P中数字进行分组,采用Shamir(2,2)的门限方案,每1个数字为一组作为多项式的第1个系数,依次取列向量a中的数作为第2个系数,如下式:
[0092] fg(x)=(pj+agx)mod7,
[0093] 其中,pj为矩阵P中的第j个元素,表示向上取整;g=1,2,...,512×512;因为512×512>256×256×3,所以当
时,fg(x)中的系数pj取零;
[0094] ⑷.根据(3)中公式,取x=1,2,分别计算fg(1),fg(2)并依顺序分别添加到2个列向量y1,y2中:
[0095] y1=fg(1),y2=fg(2),g=1,2,...,512×512
[0096] ⑸.计算下式,并将结果存入列向量s1,s2::
[0097] sx=dv+yx,x=1,2
[0098] ⑹.将s1,s2都转换为512×512的矩阵,分别记为ST1,ST2,表示2幅隐藏图像(如附图7(b1)~(b2)所示);
[0099] ⑺.将隐藏图像ST1,ST2分发给最高权限组中2个不同的参与者保存,并将对应的密钥x=1,2和m=7的值告知每个参与者;
[0100] 至此,完成子秘密图像S1的隐藏和分发过程;
[0101] 同样地,将子秘密图像S2,S3,S4分别按照步骤(1)-(7)执行后分发给其对应管理权限组中2个不同的参与者保存(如附图7(c1)~(e2)所示);
[0102] Ⅱ.接收端对秘密图像和掩饰图像的恢复:
[0103] 第一步,对子秘密图像和掩饰图像的恢复;根据Shamir(2,2)门限方案的思想,对同一组参与者,最少收集到其中的2个参与者提供的隐藏图像及相应密钥x才能恢复相应级别的子秘密图像和掩饰图像,以收集到第一组2幅隐藏图像为例:
[0104] ⑴.读入收集到的2幅隐藏图像 及相应密钥 并按逐行扫描方式将每个隐藏图像矩阵转换为列向量 大小均为(512×512)×1,则可求得
令 其中g=1,2,...,512×512;
[0105] ⑵.分别提取 中第g个(g=1,2,...,512×512)未被 处理的数用2个点 构造1阶方程组:
[0106]
[0107] 由上式方程组,求解出系数pj,ag,记为一组;
[0108] ⑶.重复步骤(2),直到 中所有数都被处理,最终得到512×512组系数;
[0109] ⑷.当j满足j≤256×256×3时,依次取每组系数的前1个数pj按逐行排序方式依次存入256×256×3的矩阵P中,将P中的数每3位视为一个7进制数并将其转换为十进制数得到矩阵,该矩阵即为子秘密图像矩阵S1(如附图8(g1)所示);
[0110] ⑸.提取每组系数的第2个数ag进行掩饰图像恢复:首先,求取dv:然后利用ag构成列向量a来求取q:q=a+dv;最后,将列向量q转
换为512×512的矩阵求得掩饰图像C1(如附图8(b3)所示);
[0111] 同样地,其他组隐藏图像都按照步骤(1)-(5)执行后可得相应的子秘密图像S2,S3,S4(如附图8(h1)~(j1)所示)及其对应的掩饰图像(如附图8(c3)~(e3)所示);
[0112] 第二步,对秘密图像的渐进恢复:
[0113] ⑴.两个或两个以上不同组的参与者提供其恢复的子秘密图像,即可采用比特位分解的逆过程恢复不同质量的原秘密图像(如附图9(a1)~(a7)所示);
[0114] ⑵.当所有组均能提供其恢复的子秘密图像时,用比特位分解的逆过程可以恢复一个无损的秘密图像S(如附图9(a8)所示)。
[0115] 为了显示该方案与其它方案(Lin et al.,2009;Lin and Chan,2010;Guo et al.,2012)对比的优越性,在下述表1中做了对比。
[0116] 表1
[0117]功能 Lin and Chan(2010) Lin(2009) Guo(2012) Ours(本发明)
无损的秘密图像 是 是 是 是
无损的掩饰图像 是 是 否 是
影子图像的质量 42dB 43dB 38dB 40dB
有意义的影子图像 是 是 是 是
渐进的特性 否 否 是 是
[0118] 表1给出了比较结果,可以看出,从渐进的特性来说,本发明方案比Lin和Chan(2010)与Lin(2009)的方案稍有改进;对于无损的掩饰图像的恢复和影子图像的质量来说,本发明方案较Guo(2012)有所改进。这使得本发明方案可以实现图像的分组、分级渐进恢复的一种特性。