利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供了一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法和裝置。該方法主要包括:將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列;按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng);按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中。本發(fā)明實(shí)施例將信息隱藏和加密技術(shù)相結(jié)合,實(shí)現(xiàn)秘密信息存儲(chǔ)于數(shù)字圖像以及秘密信息和數(shù)字圖像的完整性保護(hù),可解決通常用于實(shí)現(xiàn)數(shù)字圖像完整性的信息隱藏中含秘密信息的數(shù)字載體與秘密信息分離導(dǎo)致的偽造問題。
【專利說明】利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息傳輸【技術(shù)領(lǐng)域】,尤其涉及一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法和裝置。
【背景技術(shù)】
[0002]信息隱藏技術(shù)是一種利用數(shù)字載體的冗余特征,將秘密信息添加到數(shù)字載體中,且不被察覺的隱蔽通信技術(shù)。信息隱藏技術(shù)的主要目的是以數(shù)字載體為媒介,隱藏秘密信息,不被非法提取。
[0003]在用于完整性保護(hù)的信息隱藏技術(shù),往往用于驗(yàn)證完整性的原始秘密信息與嵌入原始秘密信息的數(shù)字載體是單獨(dú)存儲(chǔ)和傳輸?shù)?,這使得偽造原始的秘密信息和含秘密信息的數(shù)字載體成為可能,從而使得信息隱藏技術(shù)的應(yīng)用安全性不高,現(xiàn)有技術(shù)中還沒有解決該問題的方法。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供了一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法和裝置,以實(shí)現(xiàn)利用數(shù)字圖像來有效地存儲(chǔ)和傳輸信息。
[0005]一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,包括:
[0006]將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列;
[0007]按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng);
[0008]按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中。
[0009]一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,包括:
[0010]數(shù)據(jù)分解模塊,用于將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列;
[0011]數(shù)據(jù)映射模塊,用于按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng);
[0012]數(shù)據(jù)嵌入模塊,用于按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中。
[0013]由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例將信息隱藏和加密技術(shù)相結(jié)合,實(shí)現(xiàn)信息存儲(chǔ)于數(shù)字圖像以及信息和數(shù)字圖像的完整性保護(hù),可解決通常用于實(shí)現(xiàn)數(shù)字圖像完整性的信息隱藏中含信息的數(shù)字載體與信息分離導(dǎo)致的偽造問題,以實(shí)現(xiàn)利用數(shù)字圖像來有效地傳輸和存儲(chǔ)信息。【專利附圖】
【附圖說明】
[0014]為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明實(shí)施例一提供的一種在數(shù)字圖像中嵌入信息的方法的具體處理流程圖;
[0016]圖2為本發(fā)明實(shí)施例二提供的一種從數(shù)字圖像中提取信息的方法的具體處理流程圖;
[0017]圖3為本發(fā)明實(shí)施例三提供的一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置的具體結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0018]為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
[0019]實(shí)施例一
[0020]本發(fā)明實(shí)施例的利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法包括在數(shù)字圖像中嵌入信息、從數(shù)字圖像中提取信息兩個(gè)處理過程。上述信息通常為秘密信息,下面以秘密信息為例來說明本發(fā)明實(shí)施例。
[0021]該實(shí)施例提供的一種在數(shù)字圖像中嵌入秘密信息的方法的具體處理流程如圖1所示,包括如下的處理步驟:
[0022]步驟11、本發(fā)明實(shí)施例選取數(shù)字圖像作為嵌入秘密信息的數(shù)字載體。
[0023]彩色的數(shù)字圖像可使用一三維的灰度圖像表示,比如彩色數(shù)字圖像可以RGB三個(gè)維度空間表示,任一個(gè)維度都可認(rèn)為是灰度圖像。
[0024]首先得到上述數(shù)字圖像對(duì)應(yīng)的灰度圖像,上述灰度圖像可以分解為一個(gè)像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,比如,將上述像素值序列中的每個(gè)像素值轉(zhuǎn)換成一個(gè)8比特位的二進(jìn)制數(shù)字。
[0025]選取每個(gè)像素值對(duì)應(yīng)的8比特位的二進(jìn)制數(shù)字中的最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)進(jìn)行綜合得到所述數(shù)字圖像的主要數(shù)據(jù)。上述設(shè)定數(shù)量比特位可以為6比特位。
[0026]計(jì)算上述數(shù)字圖像的主要數(shù)據(jù)的hash值,得到數(shù)字圖像主要數(shù)據(jù)的hash值。
[0027]步驟12、計(jì)算需要傳輸?shù)拿孛苄畔⒌膆ash值。
[0028]上述步驟12可以和上述步驟11同時(shí)執(zhí)行,或者在上述步驟11之前執(zhí)行。
[0029]步驟13、以用戶自設(shè)的用戶口令為密鑰,使用對(duì)稱加密算法,加密上述秘密信息、秘密信息的hash值和圖像主要數(shù)據(jù)的hash值,得到相應(yīng)的密文。
[0030]步驟14、對(duì)步驟13中得到的密文,進(jìn)行BSON編碼,得到待嵌入數(shù)據(jù)。
[0031]步驟15、將上述待嵌入數(shù)據(jù)轉(zhuǎn)換成由0,1比特組成的二進(jìn)制的待嵌入數(shù)據(jù)序列,按照設(shè)定的映射規(guī)則將上述待嵌入數(shù)據(jù)的待嵌入數(shù)據(jù)序列和上述灰度圖像的像素值序列進(jìn)行對(duì)應(yīng)。比如,獲取所述待嵌入數(shù)據(jù)序列中的數(shù)字的位置信息,將上述待嵌入數(shù)據(jù)序列中的數(shù)字和上述像素值序列中的相同位置的像素值進(jìn)行對(duì)應(yīng),即上述待嵌入數(shù)據(jù)序列中第一個(gè)數(shù)字對(duì)應(yīng)上述像素值序列中的第一個(gè)像素值,上述待嵌入數(shù)據(jù)序列中第二個(gè)數(shù)字對(duì)應(yīng)上述像素值序列中的第二個(gè)像素值,依此類推。
[0032]上述待嵌入數(shù)據(jù)序列的前4個(gè)比特為數(shù)據(jù)長度(BS0N編碼決定的),根據(jù)用戶口令,由待嵌入數(shù)據(jù)序列的前4比特計(jì)算得到待嵌入數(shù)據(jù)序列的長度,將上述用戶口令轉(zhuǎn)換成和上述計(jì)算得到待嵌入數(shù)據(jù)序列的長度的由0,1比特組成的二進(jìn)制的口令序列,然后,依次根據(jù)上述口令序列中的具體數(shù)字(即O或I)確定上述待嵌入數(shù)據(jù)序列中的數(shù)字在對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的嵌入位置,所述嵌入位置包括所述對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的最低比特位和/或次低比特位,將所述嵌入位置上的數(shù)字替換為所述待嵌入數(shù)據(jù)序列中的數(shù)字。比如,上述口令序列中的數(shù)字為比特O時(shí),則將待嵌入數(shù)據(jù)序列中的數(shù)字嵌入到對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的最低比特位,上述口令序列中的數(shù)字為比特I時(shí),則將該待嵌入數(shù)據(jù)序列中的數(shù)字嵌入到對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的次低比特位。
[0033]如,待嵌入數(shù)據(jù)的數(shù)據(jù)序列為:01010011,
[0034]比如灰度圖像的像素值序列為:142, 89,143,92,....,
[0035]將上述數(shù)據(jù)序列中的數(shù)值和上述像素值序列中的相同位置的數(shù)值進(jìn)行對(duì)應(yīng),對(duì)應(yīng)關(guān)系為:
[0036]待嵌入數(shù)據(jù)0 10 I 0011…
[0037]像素值序列142 89 143 92...[0038]上述口令序列為01010111,
[0039]實(shí)際操作為:從待嵌入數(shù)據(jù)的數(shù)據(jù)序列01010011中讀取第一位數(shù)值,為“0”,對(duì)應(yīng)的像素值142的8比特位的二進(jìn)制數(shù)字為10001110。由于上述口令序列的第一位為O,選取上述二進(jìn)制數(shù)字的最低比特位進(jìn)行信息嵌入,即將待嵌入數(shù)據(jù)的第一個(gè)數(shù)值O嵌入到二進(jìn)制數(shù)字10001110的最低比特位,完成嵌入數(shù)據(jù)01010011第一比特O的嵌入,實(shí)際上二進(jìn)制數(shù)字10001110的最低比特位不變。
[0040]然后,讀取待嵌入數(shù)據(jù)的數(shù)據(jù)序列01010011的第二位數(shù)值,為“1”,對(duì)應(yīng)的像素值89的8比特位的二進(jìn)制數(shù)字為01011001。由于上述口令序列的第二位為1,選取上述二進(jìn)制數(shù)字的次低比特位進(jìn)行信息嵌入,即將待嵌入數(shù)據(jù)的第二個(gè)數(shù)值I嵌入到二進(jìn)制數(shù)字01011001的次低比特位,替換后為01011011,完成嵌入數(shù)據(jù)01010011第二位數(shù)值I的嵌入。
[0041]在完成了上述待嵌入數(shù)據(jù)的數(shù)據(jù)序列中的所有數(shù)值的嵌入操作后,得到具有含秘密信息具有防篡改功能的數(shù)字圖像。
[0042]在完成了上述待嵌入數(shù)據(jù)序列中的所有數(shù)字的嵌入操作后,得到包含秘密信息的數(shù)字圖像。
[0043]實(shí)施例二
[0044]該實(shí)施例提供的一種從數(shù)字圖像中提取秘密信息的方法的具體處理流程如圖2所示,包括如下的處理步驟:
[0045]步驟21、接收方接收到上述得到包含秘密信息的數(shù)字圖像的像素值序列后,根據(jù)用戶口令,提取嵌入數(shù)據(jù)序列的前4比特并計(jì)算得到嵌入數(shù)據(jù)序列的長度,將上述用戶口令轉(zhuǎn)換成和計(jì)算所得的嵌入數(shù)據(jù)序列相同長度的由O,I比特組成的二進(jìn)制的口令序列,然后,依次根據(jù)上述口令序列中的具體數(shù)字(即O或I)確定上述像素值序列中的每個(gè)像素值的8比特位的二進(jìn)制數(shù)字中的嵌入的秘密信息的位置和具體數(shù)字。
[0046]比如,上述口令序列中的第一個(gè)數(shù)字為比特0,則從第一個(gè)像素值的8比特位的二進(jìn)制數(shù)字中的最低比特位提取數(shù)字,該數(shù)字作為嵌入數(shù)據(jù)序列提取值的第一個(gè)數(shù)字。上述口令序列中的第二個(gè)數(shù)字為比特1,則從第二個(gè)像素值的8比特位的二進(jìn)制數(shù)字中的次低比特位提取數(shù)字,該數(shù)字作為嵌入數(shù)據(jù)序列提取值的第二個(gè)數(shù)字。
[0047]重復(fù)執(zhí)行上述處理過程,直到將上述嵌入數(shù)據(jù)序列的所有數(shù)字都提取出來。
[0048]步驟22、對(duì)上述提取出來的嵌入數(shù)據(jù)的嵌入數(shù)據(jù)序列進(jìn)行BSON解碼,得到嵌入數(shù)據(jù)的密文信息。使用上述用戶口令對(duì)上述密文信息進(jìn)行對(duì)稱解密得到相應(yīng)的明文,該明文中包括:秘密信息的提取值,秘密信息hash值的提取值和圖像主要數(shù)據(jù)的hash值的提取值。
[0049]步驟23:對(duì)步驟22中獲得的秘密信息的提取值,計(jì)算hash值得到秘密信息的提取值的hash值。
[0050]步驟24:判斷由步驟23中計(jì)算得到的秘密信息的提取值的hash值與步驟22中得到的秘密信息hash值的提取值是否相等,若相等,確定步驟22中的獲得的秘密信息的提取值為被隱藏傳輸?shù)拿孛苄畔?,否則,確定隱藏傳輸?shù)拿孛苄畔⒈淮鄹摹?br>
[0051]步驟25、獲取上述包含秘密信息的數(shù)字圖像的像素值序列,從該像素值序列中提取上述包含秘密信息的數(shù)字圖像的主要數(shù)據(jù),提取方法為從上述像素值序列中的每個(gè)像素值的8比特位的二進(jìn)制數(shù)字中提取最高的6比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)作為上述提取圖像的主要數(shù)據(jù)。
[0052]計(jì)算上述提取圖像的主要數(shù)據(jù)的hash值,得到提取圖像的主要數(shù)據(jù)的hash值。
[0053]步驟26、判斷由步驟22中獲得的圖像主要數(shù)據(jù)的hash值的提取值與步驟25中計(jì)算得到的提取圖像的主要數(shù)據(jù)的hash值是否相等,若相等,則確定圖像主要數(shù)據(jù)完整,否貝U,確定圖像主要數(shù)據(jù)被篡改。
[0054]實(shí)施例三
[0055]該實(shí)施例提供的一種利用數(shù)字圖像存儲(chǔ)和傳輸秘密信息的裝置,其具體結(jié)構(gòu)如圖3所示,包括如下的模塊:
[0056]數(shù)據(jù)分解模塊31,用于將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將秘密信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列;
[0057]數(shù)據(jù)映射模塊32,用于按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng);
[0058]數(shù)據(jù)嵌入模塊33,用于按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中。
[0059]具體的,所述的數(shù)據(jù)分解模塊31,具體用于獲取所述數(shù)字圖像對(duì)應(yīng)的灰度圖像,將所述灰度圖像的數(shù)據(jù)分解為一個(gè)像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為一個(gè)8比特位的二進(jìn)制數(shù)字;
[0060]選取每個(gè)像素值對(duì)應(yīng)的8比特位的二進(jìn)制數(shù)字中的最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)進(jìn)行綜合得到所述數(shù)字圖像的主要數(shù)據(jù),計(jì)算所述數(shù)字圖像的主要數(shù)據(jù)的hash值,得到圖像主要數(shù)據(jù)的hash值;
[0061]計(jì)算需要傳輸?shù)拿孛苄畔⒌膆ash值,以用戶自設(shè)的用戶口令為密鑰,使用對(duì)稱加密算法,加密所述秘密信息、秘密信息的hash值和圖像主要數(shù)據(jù)的hash值,得到密文數(shù)據(jù),對(duì)所述密文數(shù)據(jù)進(jìn)行BSON編碼,得到待嵌入數(shù)據(jù);
[0062]將所述待嵌入數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列。
[0063]具體的,所述的數(shù)據(jù)映射模塊32,具體用于獲取所述待嵌入數(shù)據(jù)序列中的數(shù)字的位置信息,將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的相同位置的像素值進(jìn)行對(duì)應(yīng)。
[0064]具體的,所述的數(shù)據(jù)嵌入模塊33,具體用于將所述用戶口令轉(zhuǎn)換成和所述待嵌入數(shù)據(jù)序列相同長度的二進(jìn)制的口令序列,依次根據(jù)所述口令序列中的數(shù)字確定所述待嵌入數(shù)據(jù)序列中的數(shù)字在對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的嵌入位置,所述嵌入位置包括所述對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的最低比特位和/或次低比特位,將所述嵌入位置上的數(shù)字替換為所述待嵌入數(shù)據(jù)序列中的數(shù)字。
[0065]進(jìn)一步地,所述的裝置還可以包括:
[0066]數(shù)據(jù)提取模塊34,用于將用戶口令轉(zhuǎn)換成和上述嵌入數(shù)據(jù)序列相同長度的二進(jìn)制的口令序列,依次根據(jù)所述口令序列中的數(shù)字確定所述像素值序列中的每個(gè)像素值的設(shè)定數(shù)量的二進(jìn)制數(shù)字中的嵌入的秘密信息的位置和具體數(shù)字,重復(fù)執(zhí)行所述處理過程,直到將所述嵌入數(shù)據(jù)序列的所有數(shù)字都提取出來;
[0067]對(duì)所述提取出來的嵌入數(shù)據(jù)序列進(jìn)行BSON解碼,得到密文信息。使用所述用戶口令對(duì)所述密文信息進(jìn)行解密得到相應(yīng)的明文,該明文中包括:秘密信息的提取值,秘密信息hash值的提取值和圖像主要數(shù)據(jù)的hash值的提取值。
[0068]具體的,所述的數(shù)據(jù)提取模塊34,還用于對(duì)所述秘密信息的提取值,計(jì)算hash值得到秘密信息的提取值的hash值,判斷所述秘密信息的提取值的hash值與所述明文中包括的秘密信息hash值的提取值是否相等,若相等,則確定所述明文中包括的秘密信息的提取值為被隱藏傳輸?shù)拿孛苄畔?,否則,確定隱藏傳輸?shù)拿孛苄畔⒈淮鄹模?br>
[0069]從包含秘密信息的數(shù)字圖像的像素值序列中的每個(gè)像素值的8比特位的二進(jìn)制數(shù)字中提取最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)作為所述包含秘密信息的提取圖像的主要數(shù)據(jù),計(jì)算所述提取圖像的主要數(shù)據(jù)的hash值,得到提取圖像的主要數(shù)據(jù)的hash值,判斷所述提取圖像的主要數(shù)據(jù)的hash值與所述明文中包括的圖像主要數(shù)據(jù)的hash值的提取值是否相等,若相等,則確定圖像主要數(shù)據(jù)完整,否則,確定圖像主要數(shù)據(jù)被篡改。
[0070]用本發(fā)明實(shí)施例的裝置進(jìn)行利用數(shù)字圖像存儲(chǔ)和傳輸秘密信息的具體過程與前述方法實(shí)施例類似,此處不再贅述。
[0071]本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個(gè)實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
[0072]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)施例中的設(shè)備中的模塊可以按照實(shí)施例描述分布于實(shí)施例的設(shè)備中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)設(shè)備中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。[0073]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random AccessMemory, RAM)等。
[0074]綜上所述,本發(fā)明實(shí)施例將信息隱藏和加密技術(shù)相結(jié)合,實(shí)現(xiàn)秘密信息存儲(chǔ)于數(shù)字圖像以及秘密信息和數(shù)字圖像的完整性保護(hù),可解決通常用于實(shí)現(xiàn)數(shù)字圖像完整性的信息隱藏中含秘密信息的數(shù)字載體與秘密信息分離導(dǎo)致的偽造問題,以實(shí)現(xiàn)利用數(shù)字圖像來有效地傳輸和存儲(chǔ)秘密信息。
[0075]本發(fā)明實(shí)施例對(duì)嵌入到數(shù)字圖像中的秘密信息進(jìn)行加密,可保障隱藏信息的安全性;通過用戶自設(shè)口令來選擇數(shù)字圖像嵌入空間,嵌入空間由用戶口令決定,使得數(shù)字載體數(shù)據(jù)的修改呈現(xiàn)一定程度的隨機(jī)性,進(jìn)而提升了信息隱藏的安全性。本發(fā)明實(shí)施例提取信息需有用戶口令解密,確保了隱藏信息的數(shù)據(jù)安全性。
[0076]本發(fā)明實(shí)施例可以驗(yàn)證隱藏秘密信息是否完整和數(shù)字圖像是否篡改,進(jìn)一步提升了信息隱藏的安全性。
[0077]以上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,其特征在于,包括: 將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列; 按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng); 按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中。
2.根據(jù)權(quán)利要求1所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,其特征在于,所述的將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列,包括: 獲取所述數(shù)字圖像對(duì)應(yīng)的灰度圖像,將所述灰度圖像的數(shù)據(jù)分解為一個(gè)像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為一個(gè)8比特位的二進(jìn)制數(shù)字; 選取每個(gè)像素值對(duì)應(yīng)的8比特位的二進(jìn)制數(shù)字中的最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)進(jìn)行綜合得到所述數(shù)字圖像的主要數(shù)據(jù),計(jì)算所述數(shù)字圖像的主要數(shù)據(jù)的hash值,得到圖像主要數(shù)據(jù)的hash值; 計(jì)算需要傳輸?shù)男畔⒌膆ash值,以用戶自設(shè)的用戶口令為密鑰,使用對(duì)稱加密算法,加密所述信息、信息的hash值和圖像主要數(shù)據(jù)的hash值,得到密文數(shù)據(jù),對(duì)所述密文數(shù)據(jù)進(jìn)行BSON編碼,得到待嵌入數(shù)據(jù); 將所述待嵌入數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列。
3.根據(jù)權(quán)利要求1所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,其特征在于,所述的按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng),包括: 獲取所述待嵌入數(shù)據(jù)序列中的數(shù)字的位置信息,將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的相同位置的像素值進(jìn)行對(duì)應(yīng)。
4.根據(jù)權(quán)利要求1或2或3所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,其特征在于,所述的按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中,包括: 將所述用戶口令轉(zhuǎn)換成和所述待嵌入數(shù)據(jù)序列相同長度的二進(jìn)制的口令序列,依次根據(jù)所述口令序列中的數(shù)字確定所述待嵌入數(shù)據(jù)序列中的數(shù)字在對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的嵌入位置,所述嵌入位置包括所述對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的最低比特位和/或次低比特位,將所述嵌入位置上的數(shù)字替換為所述待嵌入數(shù)據(jù)序列中的數(shù)字。
5.根據(jù)權(quán)利要求2所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,其特征在于,所述的方法還包括: 將用戶口令轉(zhuǎn)換成和所述嵌入數(shù)據(jù)序列相同長度的二進(jìn)制的口令序列,依次根據(jù)所述口令序列中的數(shù)字確定所述像素值序列中的每個(gè)像素值的設(shè)定數(shù)量的二進(jìn)制數(shù)字中的嵌入的信息的位置和具體數(shù)字,重復(fù)執(zhí)行所述處理過程,直到將嵌入數(shù)據(jù)序列的所有數(shù)字都提取出來; 對(duì)所述提取出來的嵌入數(shù)據(jù)序列進(jìn)行BSON解碼,得到密文信息。使用所述用戶口令對(duì)所述密文信息進(jìn)行解密得到相應(yīng)的明文,該明文中包括:信息的提取值,信息hash值的提取值和圖像主要數(shù)據(jù)的hash值的提取值。
6.根據(jù)權(quán)利要求5所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的方法,其特征在于,所述的方法還包括: 對(duì)所述信息的提取值,計(jì)算hash值得到信息的提取值的hash值,判斷所述信息的提取值的hash值與所述明文中包括的信息hash值的提取值是否相等,若相等,則確定所述明文中包括的信息的提取值為被隱藏傳輸?shù)男畔?,否則,確定隱藏傳輸?shù)男畔⒈淮鄹模? 從包含信息的數(shù)字圖像的像素值序列中的每個(gè)像素值的8比特位的二進(jìn)制數(shù)字中提取最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)作為所述包含信息的提取圖像的主要數(shù)據(jù),計(jì)算所述提取圖像的主要數(shù)據(jù)的hash值,得到提取圖像的主要數(shù)據(jù)的hash值,判斷所述提取圖像的主要數(shù)據(jù)的hash值與所述明文中包括的圖像主要數(shù)據(jù)的hash值的提取值是否相等,若相等,則確定圖像主要數(shù)據(jù)完整,否則,確定圖像主要數(shù)據(jù)被篡改。
7.一種利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,其特征在于,包括: 數(shù)據(jù)分解模塊,用于將數(shù)字圖像數(shù)據(jù)分解為像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為設(shè)定數(shù)量的比特位的二進(jìn)制數(shù)字,將信息轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列;數(shù)據(jù)映射模塊,用于按照設(shè)定的數(shù)據(jù)映射規(guī)則將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的像素值進(jìn)行對(duì)應(yīng); 數(shù)據(jù)嵌入模塊,用于按照設(shè)定的數(shù)據(jù)嵌入規(guī)則將所述待嵌入數(shù)據(jù)序列中的每個(gè)數(shù)字嵌入到對(duì)應(yīng)的像素值對(duì)應(yīng)的二進(jìn)制數(shù)字中。
8.根據(jù)權(quán)利要求7所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,其特征在于: 所述的數(shù)據(jù)分解模塊,具體用于獲取所述數(shù)字圖像對(duì)應(yīng)的灰度圖像,將所述灰度圖像的數(shù)據(jù)分解為一個(gè)像素值序列,將所述像素值序列中的每個(gè)像素值轉(zhuǎn)換為一個(gè)8比特位的二進(jìn)制數(shù)字; 選取每個(gè)像素值對(duì)應(yīng)的8比特位的二進(jìn)制數(shù)字中的最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)進(jìn)行綜合得到所述數(shù)字圖像的主要數(shù)據(jù),計(jì)算所述數(shù)字圖像的主要數(shù)據(jù)的hash值,得到圖像主要數(shù)據(jù)的hash值; 計(jì)算需要傳輸?shù)男畔⒌膆ash值,以用戶自設(shè)的用戶口令為密鑰,使用對(duì)稱加密算法,加密所述信息、信息的hash值和圖像主要數(shù)據(jù)的hash值,得到密文數(shù)據(jù),對(duì)所述密文數(shù)據(jù)進(jìn)行BSON編碼,得到待嵌入數(shù)據(jù); 將所述待嵌入數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制的待嵌入數(shù)據(jù)序列。
9.根據(jù)權(quán)利要求7所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,其特征在于: 所述的數(shù)據(jù)映射模塊,具體用于獲取所述待嵌入數(shù)據(jù)序列中的數(shù)字的位置信息,將所述待嵌入數(shù)據(jù)序列中的數(shù)字和所述像素值序列中的相同位置的像素值進(jìn)行對(duì)應(yīng)。
10.根據(jù)權(quán)利要求7或8或9所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,其特征在于: 所述的數(shù)據(jù)嵌入模塊,具體用于將所述用戶口令轉(zhuǎn)換成和所述待嵌入數(shù)據(jù)序列相同長度的二進(jìn)制的口令序列,依次根據(jù)所述口令序列中的數(shù)字確定所述待嵌入數(shù)據(jù)序列中的數(shù)字在對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的嵌入位置,所述嵌入位置包括所述對(duì)應(yīng)的像素值的8比特位的二進(jìn)制數(shù)字中的最低比特位和/或次低比特位,將所述嵌入位置上的數(shù)字替換為所述待嵌入數(shù)據(jù)序列中的數(shù)字。
11.根據(jù)權(quán)利要求7所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,其特征在于,所述的裝置還包括: 數(shù)據(jù)提取模塊,用于將用戶口令轉(zhuǎn)換成和所述嵌入數(shù)據(jù)序列相同長度的二進(jìn)制的口令序列,依次根據(jù)所述口令序列中的數(shù)字確定所述像素值序列中的每個(gè)像素值的設(shè)定數(shù)量的二進(jìn)制數(shù)字中的嵌入的信息的位置和具體數(shù)字,重復(fù)執(zhí)行所述處理過程,直到將所述嵌入數(shù)據(jù)序列的所有數(shù)字都提取出來; 對(duì)所述提取出來的嵌入數(shù)據(jù)序列進(jìn)行BSON解碼,得到密文信息。使用所述用戶口令對(duì)所述密文信息進(jìn)行解密得到相應(yīng)的明文,該明文中包括:信息的提取值,信息hash值的提取值和圖像主要數(shù)據(jù)的hash值的提取值。
12.根據(jù)權(quán)利要求11所述的利用數(shù)字圖像存儲(chǔ)和傳輸信息的裝置,其特征在于: 所述的數(shù)據(jù)提取模塊,還用于對(duì)所述信息的提取值,計(jì)算hash值得到信息的提取值的hash值,判斷所述信息的提取值的hash值與所述明文中包括的信息hash值的提取值是否相等,若相等,則確定所述明文中包括的信息的提取值為被隱藏傳輸?shù)男畔?,否則,確定隱藏傳輸?shù)男畔⒈淮鄹模? 從包含信息的數(shù)字圖像的像素值序列中的每個(gè)像素值的8比特位的二進(jìn)制數(shù)字中提取最高的設(shè)定數(shù)量比特位作為每個(gè)像素值的主要數(shù)據(jù),將所有像素值的主要數(shù)據(jù)作為所述包含信息的提取圖像的主要數(shù)據(jù),計(jì)算所述提取圖像的主要數(shù)據(jù)的hash值,得到提取圖像的主要數(shù)據(jù)的hash值,判斷所述提取圖像的主要數(shù)據(jù)的hash值與所述明文中包括的圖像主要數(shù)據(jù)的hash值的提取值是否相等,若相等,則確定圖像主要數(shù)據(jù)完整,否則,確定圖像主要數(shù)據(jù)被篡改。`
【文檔編號(hào)】G06T1/00GK103778590SQ201210409112
【公開日】2014年5月7日 申請(qǐng)日期:2012年10月24日 優(yōu)先權(quán)日:2012年10月24日
【發(fā)明者】舒南飛, 于志強(qiáng), 唐凌, 吳淵, 丁瑤, 王杰斌, 王芳 申請(qǐng)人:航天信息股份有限公司