1.一种GF(26)有限域多门限渐进秘密图像分存方法,其特征在于包括以下步骤:第1步:由秘密持有者配置分存默认参数,包括:320位2进制码长分配表M=(mi,j)8×8,系统模数大素数p,分发份额数N,N∈{1,2,…,p-1},整数随机量化门限rq>0以及r>0个频带分存门限ki∈{2,3,…,N},i=0,1,…,r-1满足频带递增且频带累计值为64的因子,将秘密图像S=(si,j)h×w划分为不重叠的8×8小块Bx,y,x=0,1,…,m-1,y=0,1,…,n-1,其中m=h/
8,n=w/8且m mod8=0,n mod8=0;
第2步:由秘密持有者生成N个随机数P1,P2,…,PN∈{0,1,…,p-1}作为每个影子图像对应的随机参与值且P1mod64,P2mod64,…,PNmod64两两不等,将密钥key∈{0,1,…,p-1}分存成N个分存密钥subkey1,subkey2,…,subkeyN,并将子密钥(subkeyk,Pk),k=1,2,…,N对应的MD5值公布到第3方公信方以防止参与者作弊,由密钥key生成长度为64的随机序列RQx,y=(rqi)64,rqi∈{1,2,…,rq},将其重新排列作为Bx,y对应的随机量化矩阵Qx,y,其中x=0,
1,…,m-1,y=0,1,…,n-1;
第3步:将每个不重叠分块Bx,y=(bi,j)8×8变换为频域块FBx,y=(fbi,j)8×8,通过Qx,y=(qi,j)8×8将FBx,y量化为FB′x,y=(fb′i,j)8×8并对FB′x,y中矩阵元素进行整数化表示和2进制存储转换作为FB″x,y;
第4步:将所有的FB″x,y转换为2进制比特位串IBx,y,将IBx,y转换为1维序列Ix,y,将Ix,y以k0:k1:…:kr-1为分割比例划分为r个频带,记对应的频带为 则 所包含的元素数记为Ni,i=0,1,…,r-1;
第5步:将所有分块相同频带合并,得到合并后的频带BIi,对BIi中的元素进行索引位置置乱,作为频带BIi的备份CIi,其中i=0,1,…,r-1;
第6步:记 由密钥key生成bii,u,cii,u,cii-1,u的认证信息第7步:将bii,u,cii,u或bii,u,cii,u,cii-1,u和 组合作为整数a,b,c,然后对整数2进制表示对应的2值多项式,即多项式整数 在GF(26)有限域上拉格朗日插值分存得到分存信息 若a=(bhbh-1…b0)2,则
第8步:将2值多项式 对应的2进制位串转换为整数fi,u,k,由密钥key产生2比特随机数vi,u,k∈{0,1,…,3}作为fi,u,k的认证位,将fi,u,k和vi,u,k映射为f′i,u,k∈{0,1,…,255},其中i∈{0,1,…,r-1},u∈{0,1,…,mn·Ni-1},k∈{1,2,…,N};
第9步:记Ek为第k个分发影子图像对应的置乱前矩阵,Ez,k为Ek的第z个重构矩阵块,Ez,i,k为Ez,k的第i个划分频带,首先重建Ez,i,k,然后重建Ez,k,最后重建Ek,然后以密钥key和subkeyk将Ek置乱为E′k;
第10步:将所有的E′k,k=1,2,…,N作为影子图像和N个子密钥(subkeyk,Pk),k=1,
2,…,N分发给对应的保管者进行保管,利用系统的默认参数配置重构系统并销毁中间参数。
2.如权利要求1所述的一种GF(26)有限域多门限渐进秘密图像分存方法,其特征在于:在第1步中r>0个频带分存门限ki∈{2,3,…,N},i=0,1,…,r-1满足频带递增且频带累计值为64的因子的具体约束方法为式(1)和式(2):
在第2步中将key∈{0,1,…,p-1}分存成N个分存密钥subkey1,subkey2,…,subkeyN的具体方法为将key作为秘密值s,将P1,P2,…,PN分别代入式(3)可得到N个分存密钥subkey1,subkey2,…,subkeyN:
式(3)中,随机数 由key为随机数种子映射得到;
在第2步中key生成长度为64的随机序列RQx,y=(rqi)64,rqi∈{1,2,…,rq}的具体方法为按式(4)将key映射为keyx,y,将keyx,y作为随机数种子,生成长度为64的随机序列RQx,y=(rqi)64,rqi∈{1,2,…,rq}
第2步中将其重新排列作为Bx,y对应的随机量化矩阵Qx,y的具体方法为式(5)Qx,y=MScanzigzag(Inc(RQx,y),8,8) (5);
式(5)中,Inc()是序列增函数,MScanzigzag()为矩阵之字形扫描函数,将序列扫描为矩阵,函数第1个参数为待扫描序列,第2和第3个参数为矩阵维数。
6
3.如权利要求1所述的一种GF(2)有限域多门限渐进秘密图像分存方法,其特征在于:在第3步中将每个划分的不重叠分块Bx,y=(bi,j)8×8变换为频域块FBx,y=(fbi,j)8×8的具体方法为式(6):FBx,y=D2DCT(Bx,y) (6)式(6)中,函数D2DCT()为2维离散余弦变换,其计算式如式(7)所示:在第3步中将FBx,y随机量化为FB′x,y=(fb′i,j)8×8的具体方法为式(8):fb′i,j=fbi,j/qi,j,i,j=0,1,…,7 (8)在第3步中对FB′x,y中元素进行整数化表示和2进制存储转换为FB″x,y的具体方法为式(9):
式(9)中, 和 对应为码长分配表M=(mi,j)8×8元素mi,j所能表示的最大值和最小值,其对应的分配原则按式(10)确定:
在第4步中将所有的FB″x,y转换为2进制比特位串IBx,y的具体方法为式(11):IBx,y=BScanzigzag(FB″x,y) (11)式(11)中,函数BScanzigzag()为比特位串之字形扫描函数,执行的功能是将输入矩阵的元素按其2进制存储形式以之字形扫描顺序进行连接;
第4步中将IBx,y转换为1维序列Ix,y的具体方法为式(12):Ix,y=BCut(IBx,y,5) (12)式(12)中,函数BCut()是比特位串分割函数,其中第1个参数对应为比特位串,第2个参数为比特位串的分割单位,式(12)执行的功能是通过BCut(IBx,y,5)将比特位串IBx,y以5位比特位串为分隔单位转换为1维序列Ix,y;
在第4步中每个划分频带所包含的元素数Ni,i=0,1,…,r-1可按式(13)确定:
4.如权利要求1所述的一种GF(26)有限域多门限渐进秘密图像分存方法,其特征在于:在第5步中将所有分块相同频带合并的具体方法为式(14):
式(14)中,“||”为序列连接符,即将所有分块的频带 连接在一起构成序列作为合并后的频带BIi,BIi序列中总共包含mn·Ni个元素;
第5步中对BIi中的元素进行索引位置置乱的具体方法为将key按式(15)映射为keyi,将keyi作为随机数种子,用于对BIi中元素进行索引位置置乱:
第6步中由key生成bii,u,cii,u,cii-1,u认证信息 的具体方法为按式(16)结合bii,u,cii,u,cii-1,u将密钥key映射为keyi,u,将keyi,u作为随机数种子产生ki个随机数 按式(17)进行映射作为对bii,u,cii,u,cii-1,u的认证信息式(16)中,当i=0时,此时不存在上一个频带CIi-1;当u≥size(CIi-1)时,表示CIi-1中元素已存储完毕,不存在备份元素cii-1,u,size(CIi-1)表示CIi-1元素数量;
5.如权利要求1所述的一种GF(26)有限域多门限渐进秘密图像分存方法,其特征在于:在第7步中将bii,u,cii,u或bii,u,cii,u,cii-1,u和 组合作为整数a,b,c的具体方法为式(18):
在第7步中对多项式整数 在GF(26)有限域上拉格朗日插值分存的具体方法为式(19):
式(19)中,对应为a的多项式整数,gp为GF(26)有限域的本原多项式,若k0=2时,此时仅需存储bi0,u,ci0,u,同时也仅能产生2位认证信息 因此直接对a和b的多项式整数进行分存;
在第8步中由密钥key产生2比特随机数vi,u,k∈{0,1,…,3}作为fi,u,k的认证位的具体方法为由式(20)生成随机数种子keyi,u,k,由keyi,u,k产生2比特认证信息vi,u,k:keyi,u,k=(fi,u,k×key+fi,u,k+key+i+u+i×u)mod p (20)第8步将fi,u,k和vi,u,k映射为f′i,u,k∈{0,1,…,255}的具体方法为式(21):f′i,u,k=26×vi,u,k+fi,u,k (21);
第9步中重建Ez,i,k的具体方法为先按式(22)重建Ez,i,k,然后按式(23)重建Ez,k,最后按式(24)重建Ek:
Ez,k=MScanzigzag(Ez,0,k||Ez,1,k||…||Ez,r-1,k,8,8) (23)Ek=MSet(Ek,z/n,z mod n,Ez,k),z=0,1,…,mn-1 (24)式(24)中,函数MSet()为矩阵块设置函数,第1个参数为放置矩阵小块的矩阵,第2、3个参数对应为矩阵块坐标,第4个参数对应为要放置的矩阵小块;
以密钥key和subkeyk将Ek置乱为E′k的具体方法为式(25)
6.一种GF(26)有限域多门限渐进秘密图像重构方法,其特征在于包括以下步骤:第1步:记配置的重构默认参数,包括:320位2进制码长分配表为M=(mi,j)8×8,分存模数p,分发份额数为N,N∈{1,2,…,p-1},整数随机量化门限rq>0以及r>0个频带分存门限为ki∈{2,3,…,N},i=0,1,…,r-1,假设有vinit(vinit≥k0)个参与者参与恢复,记第k个参与者提供的子密钥和影子图像分别为 和 计算对应的MD5值,将其与第3方公信方存储的MD5值进行对比来验证子密钥合法性,统计子密钥认证通过的参与者数量vsubkey;
第2步:若vsubkey≥k0,则重构主密钥key,由key生成长度为64的随机序列RQx,y=(rqi)64,rqi∈{1,2,…,rq},将其重新排列作为Bx,y对应的随机量化矩阵Qx,y,其中x=0,1,…,m-1,y=0,1,…,n-1,反之若vsubkey<k0,则重构失败;
第3步:由vsubkey确定可最大重构的第t,t∈{0,1,…,r-1}个频带,将恢复的key和映射为 将第k个子密钥认证通过的参与者含密影子图像 逆置乱为 重建 上第z个重建子块 由重建第z个分块中所有频带划分集合 将第k个子密钥认证通过的参与者所有分块相同频带进行合并得到 其中i=0,
1,…,r-1,k=1,2,…,vsubkey,Ni为每个划分频带所包含的元素数;
第 4 步 :由 重 构 1 次 和 2 次 备 份 表重建秘密图像频带 以
及对1次和2次备份表和重建秘密图像频带认证的第 5 步 :根 据 将 和
融合为最终备份
第6步:对 中的每个bii,u,若aci,u=1则不修改它的值,否则使用最终备份中的cii,u替换bii,u,其中i=0,1,…,t,u=0,1,…,mn·Ni-1;
第7步:由秘密图像频带 重建秘密图像S=(si,j)h×w。
7.如权利要求6所述的一种GF(26)有限域多门限渐进秘密图像重构方法,其特征在于:在第2步中重构主密钥key的具体方法为式(26):式(26)中, 为子密钥认证通过的第i,i=1,2,…,vsubkey个参与者提供的子密钥, 为 的模p乘法逆元;
在第2步中由密钥key生成长度为64的随机序列RQx,y=(rqi)64,rqi∈{1,2,…,rq}的具体方法为按式(4)将key映射为keyx,y,将keyx,y作为随机数种子,生成长度为64的随机序列RQx,y=(rqi)64,rqi∈{1,2,…,rq};
在第2步中将其重新排列作为Bx,y的随机量化矩阵Qx,y的具体方法为式(5):Qx,y=MScanzigzag(Inc(RQx,y),8,8) (5);
在第3步中由vsubkey确定可最大重构的第t,t∈{0,1,…,r-1}个频带的方法为式(31):
在第3步中将key和 映射为 的方法为式(27):在第3步中重建 上第z个子块 的方法为式(28):
式(28)中,函数MGet()为矩阵小块获取函数,函数第1个参数为矩阵小块所在的矩阵,第2和第3个参数对应为矩阵块的坐标,第4个和第5个参数对应为矩阵块维数,其中x=0,
1,…,m-1,y=0,1,…,n-1;
在第3步中由 重建 的具体方法为式(29):式(29)中,函数SScanzigzag()为序列之字形扫描函数,执行的功能是将矩阵扫描为1维序列;
第3步中合并得到 的具体方法为式(30):
第3步中每个划分频带所包含的元素数Ni按式(13)确定:
6
8.如权利要求6所述的一种GF(2 )有限域多门限渐进秘密图像重构方法,其特征在于:在第4步中由 重构1次和2次备份表重建秘密图像频带
以及对1次、2次备份表和重建秘密图像频带进行认证的 的具体方法为:
第4.1步:初始化
以及 对
中每个分存单元 按式(32)和式(33)得到分存信息 和2比特认证信息按式(34)将key和 映射为随机数种子 由 重新生成2比特认证信息 若 则通过第1重认证,反之则认证失败;
第4.2步:记当前通过第1重认证的分存信息为 其中vfirst为通过第1重认证的当前分存信息数量,若vfirst<ki,则置aci,u=0表示认证失败,反之若vfirst≥ki个 则按下面步骤还原得到第4.2.1步:初始化尝试次数try=0;
第4.2.2步:从vfirst中枚举出ki个分存信息作为 其中 表示当前参与恢复的ki个分存信息中的第k个,置try=try+1;
第4.2.2步:由 按式(35)计算
式(35)中,为多项式整数, 表示参与恢复的ki个分存信息中的第j个含密影子图像对应的随机参与值, 对应为 模gp下的乘法逆元,其中gp为GF(26)有限域的本原多项式;
第4.2.3步:当i=0或 时,按式(36)还原得到否则按式(36)和式(37)还原得到
第4.2.4步:按式(38)将key映射为随机数种子keyi,u产生ki个随机数并按式(39)进行映射得到第2重认证信息 将其与对比,若
则通过第2重认证并设置aci,u=1,反之若 则转4.2.2步,若 则未通过第2重认证并设置aci,u=0,其中 为从vfirst中枚举ki个分存信息的组合数;
第 4 . 3 步 :输 出
以及
9.如权利要求6所述的一种GF(26)有限域多门限渐进秘密图像重构方法,其特征在于:在第5步中根据 将 和
融合为最终备份 的具体方法为:
第5.1步:初始化 当i=0,1,…,t-1时,按式(40)进行融合,当i=t时,此时不存在 因此直接令
第5.2步:按式(15)将key映射为keyi,以keyi为随机数种子,按分存系统中keyi对应的置乱方法将 逆置乱,从而得到最终备份
10.如权利要求6所述的一种GF(26)有限域多门限渐进秘密图像重构方法,其特征在于:在第7步中由秘密图像频带 重建秘密图像S=(si,j)h×w的具体方法为:第7.1步:将 以Ni个元素为单位按式(41)划分为小段序列BIz,i,i=0,1,…,r-1,然后按式(42)重建IBz,其中z=0,1,…,mn-1;
IBz=BIz,0||BIz,1||...||BIz,r-1 (42)第7.2步:将所有的IBz,z=0,1,…,mn-1按式(43)转换为FB″x,y=(fb″i,j)8×8,按式(45)得到FB′x,y=(fb′i,j)8×8,按式(46)得到FBx,y=(fbi,j)8×8;
式(43)中,函数SBin()是序列2进制位串转换函数,SBin()第1个参数为待转化的一维序列,第2个参数是序列元素转换的2进制位数,函数BMScanzigzag()是将比特位串按之字形扫描顺序和码长分配表转换为与码长分配表等大的矩阵小块,BMScanzigzag()第1个参数为比特位串,第2个参数对应的是码长分配表,第3个参数对应为标记位,用于标记重建小块中未重建频带的坐标位置,式(43)中重建小块FB″x,y中的mark位置及之后的元素fb″i,j都被置为
fbi,j=fb″i,j×qi,j,i,j=0,1,…,7 (46)式(45)和式(46)中, 对应为码长分配表为M=(mi,j)8×8对应位置元素所能表示的最小值;qi,j对应为量化表Qx,y中的元素;
第7.3步:按式(47)对FBx,y进行逆DCT变换得到Bx,y=(bi,j)8×8,若经频域变换后,像素值发生溢出,则当像素大于255时取255,像素小于0时取0;
第7.4步:由所有分块Bx,y,x=0,1,…,m-1,y=0,1,…,n-1,按式(48)重建秘密图像S=(si,j)h×w;
S=MSet(S,z/n,z mod n,Bx,y),z=0,1,…,mn-1 (48)。