一种在数据文件中无损隐藏信息的方法与流程

文档序号:33173376发布日期:2023-02-04 03:02阅读:29来源:国知局
一种在数据文件中无损隐藏信息的方法与流程

1.本发明涉及一种数据通信的方法,特别涉及一种在数据文件中无损隐藏信息的方法,属于通信领域。


背景技术:

2.信息隐藏,也称数据隐藏是信息安全的一个重要分支,其利用人类的视觉冗余将秘密信息嵌入到载体中,从而达到安全传输秘密信息的目的。
3.目前常规的信息隐藏方法如lsb方法,属于有损信息隐藏方法,即使有噪声或有损压缩,隐藏的信息也能够正常恢复,但载体数据无法精确恢复,可以说损失总是存在,且难以提高载体数据恢复质量。对图像来说,如果lsb算法隐藏容量为1/8,载体恢复质量不高,图像psnr只能达到51db左右。


技术实现要素:

4.本发明解决的技术问题是:克服现有技术的不足,提供一种在数据文件中无损隐藏信息方法,既能进行大容量信息隐藏,又能通过参数设计进行无损信息隐藏传输,超过了传统信息隐藏的能力,且具有一定的安全性,适用于各类数据安全传输系统。
5.本发明的技术方案是:
6.一种在数据文件中无损隐藏信息的方法,包括:
7.步骤1:对数据文件x进行预处理及信息隐藏,得到含密数据流z;
8.步骤2:对含密数据流z进行解隐藏,提取秘密信息并恢复载体。
9.对数据文件x进行预处理及信息隐藏,得到含密数据流z,包括:
10.设数据文件x=x1,x2,

xn,每个数据的值为0-255之间的某个值,用8比特表示,提取每个数据的第k有效位,组成二进制序列b=b1,b2,

bn;
11.利用长度为q比特的一组参数s=s1,s2,

sq,产生长度为n的二进制序列,记为y=y1,y2,

yn,其中参数q小于n;用y替换数据流中的二进制序列b;
12.将参数s变为十六进制符号hh附加到数据文件x的文件名中;
13.在二进制序列y中隐藏g位秘密信息,形成二进制序列u=a,v1,v2,

vg,其中g=n-1;a为二进制数,等于0表示可无损恢复载体数据,等于1表示恢复载体数据在允许范围内存在一定的失真;
14.将二进制序列u与数据文件x事先约定的第k`有效位或某事先约定的二值序列进行异或运算,得到二值序列d=d1,d2,

,dn;k`不等于k;
15.用二值序列d代替数据文件x中的第k有效位,得到隐藏信息后的含密数据流z。
16.所述利用长度为q比特的一组参数s=s1,s2,

sq,产生长度为n的二进制序列,具体为:基于伪随机序列的方法产生二值序列y=y1,y2,

yn;若y与b相等,则载体可无损恢复,对应a等于0;若y与b不相等,则载体在允许范围内存在一定失真,对应a等于1。
17.所述利用长度为q比特的一组参数s=s1,s2,

sq,产生长度为n的二进制序列,具
体为:基于压缩及解压缩方法产生二值序列y=y1,y2,

yn;若y与b相等,则载体可无损恢复,对应a等于0;若y与b不相等,则载体在允许范围内存在一定失真,对应a等于1。
18.所述基于伪随机序列方法中的参数s为:
19.产生混沌序列的q比特参数具体为:参数μ值、初值x0,长度n对应的二值序列s=s1,s2,

sq。
20.所述基于伪随机序列方法中的参数s为:
21.产生最长线性移位寄存器序列,即m序列的q比特参数具体为:m序列的生成参数,即初态、结构,长度n对应的二值序列s=s1,s2,

sq。
22.所述基于压缩与解压缩方法中的参数s为:
23.对二值序列b进行无损压缩得到压缩后数据文件,该文件对应的二值序列作为q比特参数序列s=s1,s2,

sq,对应a等于0。
24.所述基于压缩与解压缩方法中的参数s为:
25.对二值序列b进行有损压缩得到压缩后数据文件,该文件对应的二值序列作为q比特参数序列s=s1,s2,

sq,对应a等于1。
26.所述对含密数据流z进行解隐藏,提取秘密信息并恢复载体,包括:
27.提取含密数据流z的第k有效位,与数据文件x事先约定的第k`有效位或某事先约定的二值序列进行异或运算,得到二值序列u;
28.在二进制序列u中提取g位秘密信息;
29.根据文件名中扩展符号hh,恢复出长度为q的二进制参数序列s;
30.利用参数s产生长度为n的二进制序列,得到数据流x的第k有效位信息序列b=b1,b2,

bn,并输出二进制序列u的第一位作为载体质量评价标志;若第一位为0,则可无损恢复得到数据流x;若第一位为1,表示恢复的数据流x在允许范围内存在一定失真.
31.本发明与现有技术相比的优点在于:
32.本发明利用信息隐藏技术在数据文件中嵌入秘密信息进行传输,接收端可以从数据文件或数据文件名中提取生成参数,进而根据生成参数恢复载体数据信息,并无损或高质量恢复原始数据以及无损提取信息数据。在不增加信息传输速率的情况下,能在数据文件中隐藏八分之一(嵌入率1bpp)及以上的大数据量,且隐藏容量固定,具有传输的保密性。
33.本发明与现有技术相比有下面几点实质性不同及进步:
34.(1)目前的大容量隐藏算法如最低有效位隐藏方法,虽然能在数据文件中隐藏八分之一的大数据量,但作为载体的数据只能是有损恢复,且psnr只能达到50db-51db,无法再提高。而本发明的隐藏容量在同样的八分之一情况下,原始数据总是可以高质量恢复,对图像来说,载体质量可以保障51db以上;
35.(2)目前的比特替换的空域隐藏算法载体质量无法控制,本发明的载体数据恢复质量可以事先知道(根据标志位),a=0时载体可以无失真恢复;
36.(3)目前的大容量隐藏算法主要针对自然图像载体,不适合随机图像载体;但本发明的方法不仅适合图像数据载体,也适合非图像数据载体;
37.(4)本发明可根据预处理,将参数附加在文件名中,事先根据载体有失真或无失真要求优化载体,通过参数设置灵活调整隐藏容量,实际容量可以突破1/8,甚至4/8。
附图说明
38.图1为本发明方法流程图。
具体实施方式
39.(一)为了验证本发明所提出的算法的性能,仿真实验中首先采用了dat数据文件,数据流为x=x1,x2.......xn,每个数据的值为0-255之间的某个值,用8比特表示,第k有效位为b=b1,b2,

bn,n=2048。
40.将0、1分布等概的随机序列数据作为秘密信息嵌入数据文件(载体)中,然后提取秘密信息和恢复载体。
41.具体方法如下:
42.步骤1:对数据文件x进行预处理及信息隐藏,得到含密数据流z,过程如下:
43.(1)提取数据文件x的第k有效位组成二进制序列b=b1,b2,

bn,其中k=8;
44.(2)利用长度为q比特的一组参数s=s1,s2,

sq,产生长度为n的二进制序列,记为y=y1,y2,

yn,其中参数q小于n。用y替换数据流中的二进制序列b;
45.利用参数s=s1,s2,

sq,产生长度为n的二进制(0或1)序列方法为基于压缩及解压缩方法产生0-1二值序列y=y1,y2,

yn,其中q=32。
46.基于压缩与解压缩方法中的参数为对二值序列b进行无损压缩得到压缩后数据文件,该文件对应的二值序列作为q比特参数序列s=s1,s2......sq,对应权利要求1中a等于0;
47.(3)将q比特参数每4比特一组变为十六进制符号0~f,附加到数据x文件名中,其中十六进制数据长度为8;
48.(4)在二进制序列y中隐藏g位秘密信息,形成二进制序列u=a,v1,v2,

,vg,其中a=0,g=2047;
49.可采用的隐藏方法有多种,如空域隐藏方法、变换域隐藏方法等。这里采用空域直接替换的方式进行秘密信息隐藏。
50.(5)将二进制序列u与数据流x事先约定的第k`(k`=1~8,k`不等于k)有效位或某事先约定的二值序列进行异或运算,得到二值序列d=d1,d2,

,dn,其中k`=3。特殊情况下,当事先约定的二值序列全为0时,就相当于没有进行异或,这也是本算法的一种情况。
51.(6)用二值序列d代替数据文件x中的第k有效位,得到隐藏信息后的含密数据流z。
52.步骤2:对含密数据流z进行解隐藏,提取秘密信息并恢复载体,过程如下:
53.(1)提取数据流z的第k有效位,与数据流x事先约定的第k`(k`=1~8,k`不等于k)有效位或某事先约定的二值序列进行异或运算,得到二值序列u,其中k`=3;
54.(2)在二进制序列u中提取g位秘密信息,其中g=2047;
55.(3)根据文件名中扩展符号hh,恢复出长度为q的二进制参数序列s,其中q=32;
56.(4)利用参数s产生长度为n的二进制序列,得到数据流x的第k有效位信息序列b=b1,b2,

bn,并输出二进制序列u的第一位作为载体质量评价标志。第一位为0,则可无损恢复得到数据流x。
57.(二)为了验证本发明所提出的算法的性能,采用标准测试图像库中1幅大小为512
×
512的8比特灰度图像数据进行信息隐藏试验。
58.将0、1分布等概的随机序列数据作为秘密信息嵌入数据文件(载体)中,然后提取秘密信息和恢复载体。
59.具体方法如下:
60.步骤1:对数据文件x进行预处理及信息隐藏,得到含密数据流z,过程如下:
61.(1)提取数据文件x的第k有效位组成二进制序列b=b1,b2,

bn,其中k=8,n=262144;
62.(2)利用长度为q比特的一组参数s=s1,s2,

sq,产生长度为n的二进制序列,记为y=y1,y2,

yn,其中参数q小于n。用y替换数据流中的二进制序列b,其中q=128;
63.利用参数s=s1,s2,

sq,产生长度为n的二进制(0或1)序列方法为基于伪随机序列的方法产生0-1二值序列y=y1,y2,

yn,其中参数q小于n。基于伪随机序列方法中的参数为混沌序列的参数μ值、初值x0,长度n对应的二值序列s=s1,s2,

sq;对应权利要求1中a等于1;
64.典型混沌序列基于logistic混沌映射产生,其模型为w
t+1
=μw
t
(1-w
t
),t∈{0,1,2,

,n-1};其中,μ称为分支参数,3.5699456《μ≤4;w0为初值,0《w0《1;给出μ值和初值w0,即可计算产生w
t+1
;对w
t+1
进行判决即可得到0-1二值序列yi(i=1,

n),当w
t+1
≥0.5时,yi=1;0《w
t+1
<0.5,yi=0;
65.(3)将q比特参数每4比特一组变为十六进制符号0~f,附加到数据x文件名中,其中十六进制数据长度为32;
66.(4)在二进制序列y中隐藏g位秘密信息,形成二进制序列u=a,v1,v2,

,vg,其中a=1,g=262143;
67.(5)将二进制序列u与数据流x事先约定的第k`(k`=1~8,k`不等于k)有效位或某事先约定的二值序列进行异或运算,得到二值序列d=d1,d2,

,dn,其中k`=3。特殊情况下,当事先约定的二值序列全为0时,就相当于没有进行异或,这也是本算法的一种情况。
68.(6)用二值序列d代替数据文件x中的第k有效位,得到隐藏信息后的含密数据流z。
69.步骤2:对含密数据流z进行解隐藏,提取秘密信息并恢复载体,过程如下:
70.(1)提取数据流z的第k有效位,与数据流x事先约定的第k`(k`=1~8,k`不等于k)有效位或某事先约定的二值序列进行异或运算,得到二值序列u,其中k`=3;
71.(2)在二进制序列u中提取g位秘密信息,其中g=262143;
72.(3)根据文件名中扩展符号hh,恢复出长度为q的二进制参数序列s,其中q=128;
73.(4)利用参数s产生长度为n的二进制序列,得到数据流x的第k有效位信息序列b=b1,b2,

bn,并输出二进制序列u的第一位作为载体质量评价标志。第一位为1,则恢复的数据流x在允许范围内存在一定失真。
74.数据预处理几乎不影响载体图像质量,信息隐藏不影响恢复载体质量,数据隐藏不影响载体图像的主观质量,秘密信息总能无损恢复,数据文件(载体)可以根据需要无损恢复也可根据需要高质量恢复,算法具有较大的容量:典型容量可达1/8,也可以根据需要一次处理l个有效位,容量达到l/8。将q比特参数附加到数据x文件名中符合系统对文件名长度要求,也可将q比特参数放入第k有效位第2至q+1比特中,突破系统对文件名长度的限制,防止文件名在传输过程中篡改。对图像来说,psnr性能优于lsb等传统算法,可达到51db-60db,无穷大。
75.传输时含密图像具有较好的不可见性。
76.信息无损恢复。
77.恢复图像psnr=51db,隐藏容量1bpp
78.恢复图像psnr=60db,隐藏容量1bpp
79.恢复图像psnr=∞,隐藏容量1bpp
80.本发明提出了一种在数据文件中无损隐藏信息的方法,其特点在于:该方法通过对数据文件进行预处理,利用参数产生满足要求的序列,得到满足要求的数据文件;把参数和秘密信息采用不同的方法进行编码隐藏传输,经过存储或信道传输之后,接收端能够无损恢复秘密信息,并无损或高质量恢复载体数据文件。
81.信息隐藏技术已经应用于地面信息网络,也已经用于航天器及各类卫星数传系统技术设计论证中,在今后必将得到更广泛应用。本发明提供了一种固定容量的信息无损隐藏方法,隐藏容量可达1/8或以上,同时该方法具有无损或高质量恢复载体的特点,从而在地面系统以及航天器工程中都具有实用价值。
82.本发明未详细说明部分属本领域技术人员公知常识。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1