1.一种基于EMD-3的多载体密图分存方法,其特征在于包括以下步骤:第1步:输入待嵌入的p比特公开图像 k=0,1,…,l-1,输入待隐藏的q比特密图S=(si,j)m×n,si,j∈{0,1,…,2q-1-1},其中第2步:记S的MD5值和SHA-1值分别为16进制序列SMD5=
第3步:将Sh划分为奇数序列Sodd和偶数序列Seven,然后将Sodd和Seven映射为10进制小数G0∈[3.57,4];
第4步:由G0和用户给定的密钥参数G1∈(0,1)产生(0,1)范围内的随机数,为消除暂态效应,将迭代的前IT>0次结果抛弃,从第IT次开始生成随机数;
第5步:将第4步生成的6个连续随机数l0,l1,l2,l3,l4,l5∈(0,1)映射为[0,m)范围内的随机整数a,b,e和[0,n)范围内的随机整数c,d,f,其中m,n对应为公开图像的大小;
第6步:反复执行第5步,直至筛选出可用于将公开图像 置乱为置乱图像的l组置乱参数ak,bk,ck,dk,ek,fk,并将 置乱为 其中k=0,1,…,l-1;
第7步:由Sodd和Seven转换为10进制数G2∈(0,1)和用户给定的参数G3∈[3.57,4]生成m·n个随机数作为矩阵R=(ri,j)m×n,ri,j∈(0,1),在迭代时,同样将前IT>0次结果抛弃,从第IT次开始生成随机数;
第8步:利用ri,j和G0生成9个随机数rr0,rr1,…,rr8,在迭代时,同样将前IT>0次结果抛弃,从第IT次开始生成随机数,其中i=0,1,…,m-1,j=0,1,…,n-1;
第9步:将rr0,rr1,…,rr8和Sms映射为起始控制参数Starti,j∈[0,l-1],由ri,j和G3产生
3l个随机数:RR0,RR1,…,RR3l-1,其中前l个随机数映射为报数间隔序列Gapi,j=
第10步:将Starti,j,Gapi,j,Mi.j和Di,j作为控制参数产生l个元素的索引顺序序列Sindex=
第11步:记置乱图像 对应位置元素 构成的向量为Si,j,将长度为l的基向量Gl=<30,31,…,3l-1>置乱为G′l,结合G′l将秘密像素si,j嵌入到Si,j中;
第12步:反复执行第8步~第11步,直至将秘密图像S=(si,j)m×n的所有像素嵌入到置乱后的公开图像 中,其中k=0,1,…,l-1;
第13步:对 进行逆置乱,从而将秘密图像S=(si,j)m×n隐藏到公开图像 中。
2.如权利要求1所述的一种基于EMD-3的多载体密图分存方法,其特征在于:在第2步中由SMD5和SSHA-1奇数和偶数索引元素构造16进制序列Sms=
在第2步中从Sms抽取出It个元素构成序列Sh=
式(2)中,函数adjust()为随机整数生成函数,用于以输入随机数为随机种子筛选得到(0,len(Sms))范围内的随机整数ainit且满足gcd(ainit,len(Sms))=1;
xn+1=(ainitxn+binit)mod len(Sms) (3)Sh=Draw(Sms,Sx) (4)式(4)中,Draw()为序列抽取函数,执行的功能是以Sx=
3.如权利要求1所述的一种基于EMD-3的多载体密图分存方法,其特征在于:在第3步中将Sh划分为奇数序列Sodd和偶数序列Seven的具体方法为式(5):
在第3步中将Sodd和Seven映射为10进制小数G0∈[3.57,4]的具体方法为式(6),其中符号“\”表示整数除法:
在第4步中由G0和用户给定的密钥参数G1∈(0,1)产生(0,1)范围内的随机数的具体方法为式(7),其中G0为系统参数μ,G1为初始值;
xn+1=μxn(1-xn) (7);
在第5步中将第4步生成的6个连续随机数l0,l1,l2,l3,l4,l5∈(0,1)映射为[0,m)范围内的随机整数a,b,e和[0,n)范围内的随机整数c,d,f的具体方法为按式(8)将l0,l1,l2,l3,l4,l5依次转换为[0,m)范围内的整数a,b,e和[0,n)范围内的整数c,d,f:
在第6步中筛选出可用于将公开图像 置乱为置乱图像 的l组置
乱参数ak,bk,ck,dk,ek,fk的具体方法为式(9):
式(9)中,“|”表示或,p=gcd(m,n)为m,n的最大公因子且m=pz1,n=pz2。
4.如权利要求1所述的一种基于EMD-3的多载体密图分存方法,其特征在于:在第6步中将 置乱为 的具体方法为式(10):
在第13步中对 进行逆置乱的具体方法为式(22):
5.如权利要求1所述的一种基于EMD-3的多载体密图分存方法,其特征在于:在第7步中由Sodd和Seven转换为10进制数G2∈(0,1)的具体方法为式(11):
在第7步中生成m·n个随机数作为矩阵R=(ri,j)m×n,ri,j∈(0,1)的具体方法为式(7),其中G2为初始值,G3为系统参数μ;
在第7步中利用ri,j和G0生成9个随机数rr0,rr1,…,rr8的具体方法为式(7),其中ri,j为初始值,G0为系统参数;
在第9步中将rr0,rr1,…,rr8和Sms映射为起始控制参数Starti,j∈[0,l-1]的具体方法为式(12);
在第9步中由ri,j和G3产生3l个随机数:RR0,RR1,…,RR3l-1的具体方法为式(7),其中ri,j为初始值,G3为系统参数;
在第9步中前l个随机数映射为报数间隔序列Gapi,j=
在第9步中,中间l个随机数按式(15)进行量化作为报数终值序列Mi,j=
6.如权利要求1所述的一种基于EMD-3的多载体密图分存方法:在第10步中将Starti,j,Gapi,j,Mi.j和Di,j作为控制参数产生l个元素的索引顺序序列Sindex=
7.如权利要求1所述的一种基于EMD-3的多载体密图分存方法,其特征在于:在第11步中将长度为l的基向量Gl=<30,31,…,3l-1>置乱为Gl′的具体方法为式(16):
式(16)中,gk=3k,即将Gl中的第k个元素映射到索引顺序序列Sindex第k个元素对应的位置;
在第11步中结合Gl′将秘密像素si,j嵌入到Si,j中的具体方法为式(17):S′i,j=EMD(si,j,Si,j,G′l) (17);
式(17)中,函数EMD()用于通过调整置乱图像 对应位置元素 构成的向量Si,j来嵌入秘密元素si,j,基向量G′l中的每个元素则对应为Si,j中的每个元素的权重。
8.如权利要求7所述的一种基于EMD-3的多载体密图分存方法,其特征在于:在第11步中式(17)的具体实现方法为在于包括以下步骤:l
第11.1步:记G′l=〈g′0,g′1,…,g′l-1>,按式(18)计算Si,j和G′l内积模3值:
第11.2步:将f与秘密像素si,j比较,若f=si,j,则 不变,否则按式(19)计算si,j和f模3l差值d,如果d<0,d=3l+d;
d=(si,j-f)mod3l (19);
第11.3步:记序列G′l中第k个元素 indk∈Sindex,按式(20)计算f(k),按式(21)进行调整:
式(21)中,函数 功能为:若 则调整 继续按式(20)计算f(k),重新按式(21)进行调整;若 则调整 继续按式(20)计算f(k),重新按式(21)进行调整;
第11.4步:反复执行第11.3步,直至序列 中l个元素均调整完毕。
9.一种基于EMD-3的多载体密图重构方法,其特征在于包括以下步骤:第1步:由用户输入嵌入秘密信息的公开图像 待提取秘密
图像S对应的MD5值SMD5=
第2步:由SMD5和SSHA-1构造16进制序列Sms=
第3步:将Sh划分为奇数序列Sodd和偶数序列Seven,然后将Sodd和Seven映射为10进制小数G0∈[3.57,4];
第4步:由G0和用户给定的密钥参数G1产生(0,1)范围内的随机数,为消除暂态效应,将迭代的前IT>0次结果抛弃,从第IT次开始生成随机数;
第5步:将第4步生成的6个连续随机数l0,l1,l2,l3,l4,l5∈(0,1)映射为[0,m)范围内的随机整数a,b,e和[0,n)范围内的随机整数c,d,f;
第6步:反复执行第5步,直至筛选出可用于将用于将公开图像 置乱为置乱图像 的l组置乱参数ak,bk,ck,dk,ek,fk,并将 置乱为其中k=0,1,…,l-1;
第7步:由Sodd和Seven转换的10进制数G2∈(0,1)和用户给定的参数G3生成m·n个随机数作为矩阵R=(ri,j)m×n,ri,j∈(0,1),在迭代时,同样将前IT>0次结果抛弃,从第IT次开始生成随机数;
第8步:利用ri,j和G0生成9个随机数rr0,rr1,…,rr8,在迭代时,同样将前IT>0次结果抛弃,从第IT次开始生成随机数,其中i=0,1,…,m-1,j=0,1,…,n-1;
第9步:将rr0,rr1,…,rr8和Sms映射为起始控制参数Starti,j∈[0,l-1],由ri,j和G3产生
3l个随机数:RR0,RR1,…,RR3l-1,其中前l个随机数映射为报数间隔序列Gapi,j=
第10步:将Starti,j,Gapi,j,Mi.j和Di,j作为控制参数产生l个元素的索引顺序序列Sindex=
第11步:将长度为l的基向量Gl=<30,31,…,3l-1>置乱为G′l,结合G′l从Si,j中提取出秘密像素值si,j;
第12步:反复执行第8步~第11步,直至得到完整密图S=(si,j)m×n。
10.如权利要求9所述的一种基于EMD-3的多载体密图重构方法,其特征在于:在第11步中从Si,j中提取出秘密像素值si,j的具体方法为式(18):