基于jpeg圖像的高容量文件加密隱寫及提取方法
【專利摘要】本發(fā)明涉及信息隱藏技術(shù)領(lǐng)域,提供一種基于JPEG圖像的高容量文件加密隱寫及提取方法,以解決現(xiàn)有的基于JPEG圖像的隱寫方法無法滿足高容量秘密信息嵌入需求的問題。該方法包括密鑰隱寫、密文隱寫、密鑰提取和密文提取。本發(fā)明提出的技術(shù)方案充分利用了JPEG圖像文件結(jié)構(gòu)的冗余性,可以顯著提高載體圖像的嵌入容量,另外,本發(fā)明對(duì)秘密信息進(jìn)行隨機(jī)密鑰加密,使該算法有一定的安全性,同時(shí),本發(fā)明利用中頻系數(shù)作密鑰隱寫的手段,既可以滿足不可感知性,又具有較強(qiáng)的魯棒性。
【專利說明】
基于JPEG圖像的高容量文件加密隱寫及提取方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于信息隱藏技術(shù)領(lǐng)域,特別涉及一種基于JPEG圖像的高容量文件加密隱寫及提取方法?!颈尘凹夹g(shù)】
[0002]目前,隨著計(jì)算機(jī)技術(shù)的快速發(fā)展和各種智能終端設(shè)備的廣泛普及,人們的學(xué)習(xí)、 工作和生活等越來越多的信息被曝露在互聯(lián)網(wǎng)下。在互聯(lián)網(wǎng)下的大環(huán)境中,無時(shí)無刻都充斥著各種各樣的不安全因素。一旦,個(gè)人、企業(yè)或者政府因細(xì)微的疏忽,將致使私密信息遺失,這將給遺失者帶來不可估量的損失。那么,采用合適的手段將隱私信息進(jìn)行隱藏,將會(huì)大幅降低這類遺失所帶來的損失風(fēng)險(xiǎn),相應(yīng)地,信息隱藏技術(shù)也應(yīng)運(yùn)而生。
[0003]信息隱藏技術(shù)是信息安全的重要組成部分,而隱寫術(shù)作為信息隱藏技術(shù)的一種重要技術(shù)手段。它可以實(shí)現(xiàn)秘密信息的隱蔽存儲(chǔ),進(jìn)而為秘密信息在公開信道中的隱蔽通信提供了可能。隱寫術(shù)的原理是以載體文件作為媒介,將秘密信息隱式嵌入媒介中,進(jìn)而實(shí)現(xiàn)信息的隱藏。由于JPEG圖像,不僅具有良好的可視性,而且具備良好的壓縮性能,還有一定的隱蔽空間,因而,在互聯(lián)網(wǎng)上和媒介中被廣泛用來作為載體文件。
[0004]由于DCT變換技術(shù)是JPEG圖像壓縮的技術(shù)之一,因此,針對(duì)JPEG數(shù)字圖像,常用的隱寫方式是在DCT系數(shù)的LSB上嵌入秘密信息。通常,JPEG圖像隱寫方法,包括以下基本步驟:
[0005](1)將載體圖像的JPEG圖像信息進(jìn)行熵解碼,以得到量化后的DCT系數(shù);
[0006](2)將秘密信息的每一個(gè)比特信息嵌入到DCT系數(shù)的LSB上;
[0007](3)將含有秘密信息的DCT系數(shù)進(jìn)行墑編碼,從而得到載密圖像。
[0008]然而,DCT系數(shù)的嵌入空間是有限的,當(dāng)秘密信息的數(shù)據(jù)量變大時(shí),會(huì)導(dǎo)致載體圖像發(fā)生失真,從而降低了其隱蔽性的特點(diǎn)。因此,現(xiàn)有的基于JPEG圖像的隱寫方法,無法滿足高容量秘密信息的嵌入需求。
【發(fā)明內(nèi)容】
[0009]【要解決的技術(shù)問題】
[0010]本發(fā)明針對(duì)上述【背景技術(shù)】,提供一種既能夠?qū)⒋罅棵孛苄畔⑶度氲捷d體圖像中, 又能提高秘密信息安全性的隱寫方法及提取方法。
[0011]【技術(shù)方案】
[0012]本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的。[〇〇13]本發(fā)明涉及一種基于JPEG圖像的高容量文件加密隱寫及提取方法,包括文件隱寫流程和隱寫信息提取流程,
[0014]所述文件隱寫流程包括步驟:
[0015]A1、選擇載體圖像,按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載體圖像進(jìn)行分段信息讀取,對(duì)讀取的載體圖像作熵解碼得到載體圖像量化后的DCT系數(shù),按文件流形式讀取待加密文件并將其等分為若干個(gè)數(shù)組;
[0016]B1、隨機(jī)生成加密密鑰并設(shè)定密鑰隱寫位置,采用加密密鑰對(duì)待加密文件的每個(gè)數(shù)組分別進(jìn)行加密,將加密密鑰隱寫至密鑰隱寫位置,所述密鑰隱寫位置位于DCT系數(shù)的中頻部分;
[0017]C1、對(duì)隱寫入加密密鑰后的DCT系數(shù)作墑編碼,將加密后的文件數(shù)組分別寫入載體圖像的冗余段,得到載密圖像,
[0018]所述隱寫信息提取流程包括步驟:
[0019]A2、按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載密圖像進(jìn)行分段信息讀取,將冗余段的信息分組保存得到密文序列數(shù)組;
[0020]B2、根據(jù)JPEG圖像的解碼原理對(duì)載密圖像的JPEG圖像信息進(jìn)行熵解碼得到DCT系數(shù),根據(jù)步驟B1中設(shè)定的隱寫位置得到密鑰提取位置,從DCT系數(shù)的中頻部分中的密鑰提取位置提取出解密密鑰;
[0021]C2、利用解密密鑰對(duì)密文序列數(shù)組進(jìn)行逐一解密得到明文序列數(shù)組,將明文序列數(shù)組進(jìn)行整合得到原始文件。[〇〇22]作為一種優(yōu)選的實(shí)施方式,所述載體圖像以及載密圖像的格式均為JPEG圖像。 [〇〇23]作為另一種優(yōu)選的實(shí)施方式,所述密鑰隱寫位置以及密鑰提取位置均為JPEG墑編碼后DCT系數(shù)的中頻部分的特定比特位。[〇〇24]作為另一種優(yōu)選的實(shí)施方式,所述待加密文件為文本、圖像、音頻或視頻。[〇〇25]【有益效果】
[0026]本發(fā)明提出的技術(shù)方案具有以下有益效果:[〇〇27]本發(fā)明充分利用了 JPEG圖像文件結(jié)構(gòu)的冗余性,可以顯著提高載體圖像的嵌入容量;本發(fā)明對(duì)秘密信息進(jìn)行隨機(jī)密鑰加密,使該算法有一定的安全性;同時(shí),本發(fā)明利用中頻系數(shù)作密鑰隱寫的手段,既可以滿足不可感知性,又能夠具有較強(qiáng)的魯棒性?!靖綀D說明】[〇〇28]圖1為本發(fā)明的實(shí)施例一提供的基于JPEG圖像的密鑰隱寫方法的流程圖。[〇〇29]圖2為本發(fā)明的實(shí)施例一提供的基于JPEG圖像的密文隱寫方法的流程圖。[〇〇3〇]圖3為本發(fā)明的實(shí)施例一提供的基于JPEG圖像的密鑰提取方法的流程圖。[〇〇31]圖4為本發(fā)明的實(shí)施例一提供的基于JPEG圖像的密文信息提取方法的流程圖?!揪唧w實(shí)施方式】[〇〇32]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行清楚、完整的描述。[〇〇33]圖1和圖2為本發(fā)明實(shí)施例一提供的基于JPEG圖像的文件隱寫方法的流程圖,該方法包括密鑰隱寫方法和密文隱寫方法,其中密鑰隱寫方法包括步驟S11至步驟S16,結(jié)合附圖1,下面分別對(duì)上述各個(gè)步驟進(jìn)行說明。[0〇34]步驟S11:選擇載體圖像。
[0035]步驟S11中,從載體圖像數(shù)據(jù)庫中隨機(jī)選取一幅圖像作為待加密文件隱寫的載體圖像。本實(shí)施例中,載體圖像數(shù)據(jù)庫中的圖像為JPEG圖像。
[0036]步驟S12:對(duì)載體圖像進(jìn)行分段信息讀取。[〇〇37]步驟S12中,按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載體圖像的文件進(jìn)行分段信息讀取。[〇〇38]步驟S13:獲取載體圖像量化后的DCT系數(shù)。[〇〇39]步驟S13中,基于JPEG壓縮圖像的解碼原理,對(duì)讀取的載體圖像作熵解碼得到載體圖像量化后的DCT系數(shù)。
[0040]步驟S14:隨機(jī)生成密鑰K。[〇〇41]步驟S14中,隨機(jī)生成加密密鑰K并設(shè)定密鑰K隱寫位置,其中密鑰隱寫位置位于DCT系數(shù)的中頻部分。[〇〇42]步驟S15:將密鑰K隱寫到密鑰隱寫位置。
[0043]步驟S15中,將加密密鑰K隱寫至密鑰隱寫位置,[〇〇44]步驟S16:將嵌入密鑰的DCT系數(shù)作熵編碼。
[0045]步驟S16中,對(duì)隱寫入加密密鑰后的DCT系數(shù)作墑編碼,得到壓縮的圖像數(shù)據(jù)。
[0046]密文隱寫方法包括步驟S21至步驟S23,結(jié)合附圖2,下面分別對(duì)上述各個(gè)步驟進(jìn)行說明。
[0047]步驟S21:按照文件流形式讀取待加密文件并將其等分為若干個(gè)數(shù)組。
[0048]步驟S21中,按照文件流形式讀取待加密文件,并將其保存到字符數(shù)組S中,將字中符數(shù)組S分割成N個(gè)一維數(shù)組[31,&,一3?]4的大小按需進(jìn)行設(shè)置。其待加密文件的各個(gè)一維數(shù)組的分組長(zhǎng)度均相等,對(duì)最后一個(gè)分組,用〇填充空白部分。需要說明,本實(shí)施例中的待加密文件為文本、圖像、音頻或視頻等文件。
[0049]步驟S22:利用密鑰K對(duì)步驟S21中每一個(gè)字符數(shù)組進(jìn)行加密,得到相應(yīng)的密文數(shù)組。
[0050]步驟S22中,利用步驟S14中生成的密鑰K對(duì)步驟S21中每一個(gè)字符數(shù)組進(jìn)行加密, 得到相應(yīng)的密文數(shù)組。
[0051]步驟S23:將密文數(shù)組分別寫入載體圖像的冗余段中,得到載密圖像R。[〇〇52]步驟S23中,利用JPEG圖像數(shù)據(jù)段的冗余性,將密文數(shù)組分別寫入載體圖像的冗余段中,得到載密圖像R。[〇〇53]對(duì)于采用基于JPEG圖像的文件隱寫方法隱寫的載密圖像R,需要采用下述的隱寫信息提取方法提取隱寫信息,圖3和圖4為本發(fā)明實(shí)施例一提供的基于JPEG圖像的隱寫信息提取方法的流程圖,該方法包括密鑰提取方法和密文信息提取方法,其中密鑰提取方法包括步驟S31至步驟S33,結(jié)合附圖3,下面分別對(duì)上述各個(gè)步驟進(jìn)行說明。[〇〇54]步驟S31:按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載密圖像進(jìn)行分段信息讀取。[〇〇55]步驟S31中,對(duì)載密圖像R,按照J(rèn)PEG圖像的數(shù)據(jù)結(jié)構(gòu)進(jìn)行分段信息讀取。[〇〇56]步驟S32:對(duì)載密圖像的JPEG圖像信息進(jìn)行熵解碼得到DCT系數(shù)。[〇〇57]步驟S32中,按照J(rèn)PEG圖像的解碼原理,對(duì)載密圖像R的壓縮圖像數(shù)據(jù),作熵解碼, 得到相應(yīng)的量化后的DCT系數(shù);[〇〇58]步驟S33:從DCT系數(shù)的中頻部分中的密鑰提取位置提取出解密密鑰。
[0059]步驟S33中,從步驟S32中獲取到的DCT系數(shù)中提取出解密密鑰K,其中密鑰提取位置與步驟S14中設(shè)定的密鑰K的隱寫位置相同。
[0060]密文信息提取方法包括步驟S41至步驟S44,結(jié)合附圖4,下面分別對(duì)上述各個(gè)步驟進(jìn)行說明。
[0061]步驟S41:按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載密圖像進(jìn)行分段信息讀取。
[0062]該步驟,同加密密鑰的提取方法中的步驟S31相同,提取出載密圖像R中各數(shù)據(jù)段的數(shù)據(jù)信息;[〇〇63]步驟S42:將冗余段的信息分組保存得到密文序列數(shù)組。
[0064]步驟S42中,將冗余數(shù)據(jù)段中的信息進(jìn)行分組保存,分別保存在不同的一維字符數(shù)組中。[〇〇65] 步驟S43:對(duì)步驟S42中的密文序列數(shù)組進(jìn)行解密得到明文序列數(shù)組。[〇〇66] 步驟S43中,使用步驟S33中得到的密鑰K,對(duì)步驟S43中得到的各個(gè)一維字符數(shù)組進(jìn)行解密,得到N個(gè)秘密信息數(shù)組。[〇〇67]步驟S44:將明文序列數(shù)組進(jìn)行整合得到原始文件。[〇〇68] 步驟S44中,將步驟S43中解密得到的N個(gè)秘密信息數(shù)組進(jìn)行分析整合,得到一個(gè)一維字符數(shù)組,并對(duì)其按照文件流形式存出,得到原始秘密文件。[〇〇69]從以上實(shí)施例可以看出,本發(fā)明實(shí)施例充分利用了JPEG圖像文件結(jié)構(gòu)的冗余性, 可以顯著提高載體圖像的嵌入容量;本發(fā)明實(shí)施例對(duì)秘密信息進(jìn)行隨機(jī)密鑰加密,使該算法有一定的安全性;同時(shí),本發(fā)明實(shí)施例利用中頻系數(shù)作密鑰隱寫的手段,既可以滿足不可感知性,又能夠具有較強(qiáng)的魯棒性。
[0070]需要說明,上述描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例,也不是對(duì)本發(fā)明的限制?;诒景l(fā)明的實(shí)施例,本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種基于JPEG圖像的高容量文件加密隱寫及提取方法,其特征在于包括文件隱寫流 程和隱寫信息提取流程,所述文件隱寫流程包括步驟:A1、選擇載體圖像,按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載體圖像進(jìn)行分段信息讀取,對(duì)讀取的 載體圖像作熵解碼得到載體圖像量化后的DCT系數(shù),按文件流形式讀取待加密文件并將其 等分為若干個(gè)數(shù)組;B1、隨機(jī)生成加密密鑰并設(shè)定密鑰隱寫位置,采用加密密鑰對(duì)待加密文件的每個(gè)數(shù)組 分別進(jìn)行加密,將加密密鑰隱寫至密鑰隱寫位置,所述密鑰隱寫位置位于DCT系數(shù)的中頻部 分;C1、對(duì)隱寫入加密密鑰后的DCT系數(shù)作墑編碼,將加密后的文件數(shù)組分別寫入載體圖像 的冗余段,得到載密圖像,所述隱寫信息提取流程包括步驟:A2、按照J(rèn)PEG文件的數(shù)據(jù)結(jié)構(gòu)對(duì)載密圖像進(jìn)行分段信息讀取,將冗余段的信息分組保 存得到密文序列數(shù)組;B2、根據(jù)JPEG圖像的解碼原理對(duì)載密圖像的JPEG圖像信息進(jìn)行熵解碼得到DCT系數(shù),根 據(jù)步驟B1中設(shè)定的隱寫位置得到密鑰提取位置,從DCT系數(shù)的中頻部分中的密鑰提取位置 提取出解密密鑰;C2、利用解密密鑰對(duì)密文序列數(shù)組進(jìn)行逐一解密得到明文序列數(shù)組,將明文序列數(shù)組 進(jìn)行整合得到原始文件。2.根據(jù)權(quán)利要求1所述的基于JPEG圖像的高容量文件加密隱寫及提取方法,其特征在 于所述載體圖像以及載密圖像的格式均為JPEG圖像。3.根據(jù)權(quán)利要求1所述的基于JPEG圖像的高容量文件加密隱寫及提取方法,其特征在 于所述密鑰隱寫位置以及密鑰提取位置均為JPEG墑編碼后DCT系數(shù)的中頻部分的特定比特位。4.根據(jù)權(quán)利要求1所述的基于JPEG圖像的高容量文件加密隱寫及提取方法,其特征在 于所述待加密文件為文本、圖像、音頻或視頻。
【文檔編號(hào)】G06T1/00GK106023053SQ201610313512
【公開日】2016年10月12日
【申請(qǐng)日】2016年5月12日
【發(fā)明人】毛國(guó)慶
【申請(qǐng)人】四川長(zhǎng)虹電器股份有限公司