1. 程式人生 > >理解計算:從根號2到AlphaGo番外篇——眼見未必為實--漫談影象隱寫術

理解計算:從根號2到AlphaGo番外篇——眼見未必為實--漫談影象隱寫術

有很多技術都致力於保護資訊保安,其中有兩類技術最為著名,一個是密碼學,另一類就是密寫術,也稱為隱寫術。應邀藉此機會向大家談談隱寫術這個很多人都不太熟悉的領域。本文將帶領大家瞭解隱寫技術發展的歷史,現代隱寫術的基本方法及問題。最重要的是,我將帶領大家進一步瞭解是深度生成模型(生成對抗網路)技對隱寫技術帶來的影響。希望能通過對隱寫領域的介紹,對大家在其他領域應用生成對抗網路有所啟發。

 

1 隱寫術的歷史

 

傳遞祕密訊息的歷史非常悠久,在公元前500年左右的波希戰爭時期,就有將奴隸的頭髮剃掉,然後在頭皮上刺上字,等奴隸的頭髮張長後,將這個人派去傳遞訊息,一次訊息傳遞可能歷時好幾個月。這是有記載的密寫術最早的歷史,如圖1所示:

image.png
圖1 隱寫術最早的記載

 

 

幾百年以後,傳說偉大的凱撒設計出一種將明文字母進行替換的方法,形成了最早的凱撒密碼,明文中的所有字母都在字母表上向後(或向前)按照一個固定數目(13)進行偏移後被替換成密文,如圖2所示:

image.png
圖2凱撒密碼錶及示例

從一開始,密碼和密寫在保護資訊保安的目標就不一樣。密寫術的目的是掩蓋祕密通訊的存在,也就是說就算刺了字的奴隸被敵方抓獲,也不容易察覺到祕密通訊的存在性。而凱撒密碼HELLO的密文”URYYB”看起來由一段亂碼組成的,敵方一旦截獲密碼則阻斷了一次情報的傳遞。儘管可能無法進行密碼的破譯,但是一次通訊依然被阻斷了,因此傳遞密碼時更多的採用類似廣播的方式,一般無法避免祕密訊息被截獲,只要我方人員能夠獲得密碼進行解密就行,也就是說密碼保證的是訊息內容的安全,並不試圖掩蓋通訊的存在性,密碼傳送方甚至知道密文一定會被截獲。不幸的是,很多密碼研究和使用人員大都信心十足,堅信在無金鑰的情況下他們的密文無法破譯。

密碼與密寫目標的不同主要是由各自的使用環境決定的,有點類似所謂的“環境決定論”。使用密碼的雙方一般在一個相對安全的環境中,他們可以大膽的傳送密文而不用擔心人身安全,攻擊方只能採取破譯密碼這種方式來與其進行對抗。然而,密寫的使用者更加英勇無敵,他們一般深入虎穴,所處的環境險惡,所有的加密通訊都可能被探測到從而影響自身的安全,他們必須將訊息藏入一個看起來正常的載體中進行隱祕通訊,密寫幾乎成為他們唯一能夠依賴的傳遞訊息的手段。007特工們用的那些奇形怪狀的微縮相機實際上也可以看作是一種密寫方案的訊息預處理,而微縮的形狀便於隱藏。

image.png
圖3 密碼(恩格瑪謎機)與密寫使用環境(007《女王密使》中的微縮相機)

在文藝復興時期,著名的弗朗西斯培根奠定了現代通訊安全的基本思想,他把密寫和密碼過程統一看待,安全通訊整體上被看作是訊息到含密載體的一個轉化過程。含密載體被稱作密文cipher,他認為這個密文應該滿足三個條件[1],1 含密載體應該很容易得到,也就說由訊息到含密載體的轉化過程應該足夠便捷。2含密載體在不被允許的情況下不容易恢復出其中隱含的訊息。3含密載體在有些時候需要看起來很正常,不能被懷疑藏有訊息。這三個條件可以表示成下面的公式[2,3]:

image.png
圖4弗朗西斯培根

第一個式子中,Encrypt表示一種密碼編碼或密寫編碼過程,其中m表示明文,k表示加密或者密寫金鑰,Cipher表示密文 第二個式子中,Decrypt表示解密過程,k的引入表明了第二條件中沒有金鑰的情況下,無論密寫和密碼均不容易被破譯,因此金鑰k能夠選擇的金鑰空間是安全通訊的重要內容。同時這個式子中解密包括“解密碼”和“解密寫”。第三個式子則對密寫和密碼進行了區分,當Cipher是一個與真實世界中表示不可區分即來自RealSet的時候,就實現了密寫。而當Cipher是一個看起來隨機的資料集RandomSet時,可以認為Cipher就是密碼了。需要指出的是這種分類並不嚴密,但是直觀上能讓我們瞭解兩這者的不同。

這裡給出一個與培根同時期的數學家Cardan創作的cipher 方案來進一步理解這個問題。卡登(Cardan)從中國的藏頭詩獲得了隱藏訊息的靈感,如圖5(a)所示,這首虛構的詩句是如此的出名,唐伯虎對秋香的愛慕簡單而巧妙的隱藏在打油詩中,這與與奴隸在頭髮中隱藏訊息具有異曲同工之妙。在此啟發之上,卡登於1550年提出一個格子密寫方案如圖5(b)[4],他選用打了多個孔的格子並將這個格子墊在紙上,首先通過鏤空的格子,將祕密訊息寫在紙上,然後拿掉格子,在此基礎上補全一段文字,這段文字看起來就像一段正常的書信一樣,其實卻隱藏著大祕密。接到這個信的人用同樣的格子扣在信紙上從而讀取祕密訊息。這個方案被稱為卡登網格密寫。

image.png

 

不久之後,一些人把卡登網格密寫進行了改進,實際上可以看作是一種退化,他們在寫好字母訊息後,隨機的補全紙上沒寫訊息的部分,最終導致的結果是形成了一種被稱之為網格密碼的那種供大家娛樂消遣的,經常出現在報紙上的類似猜單詞的小把戲[1],如圖5(c)。在現代密碼學的課本上,會在引言部分簡單的提到卡登網格式密碼是一種簡單的古典密碼。然而,需要強調的是卡登網格密寫與卡登網格密碼是如此的接近,不僅是我們窺探密碼與密寫技術本質特性的最簡單工具,同時我們進一步發展密寫技術最早的思想來源。實際上,提醒大家注意,從卡登密寫到卡登密碼的退化主要是由於人工構造一個自然真實的文字實在是太費精力了。不僅僅是寫一段話,而是要跟預先寫的祕密訊息無縫對接,沒點文學功底的人構造起來十分困難,只能去玩隨機的網格密碼了。在古代,手工構建密碼方案和密寫方案本質上幾乎沒什麼不同,甚至更多的是採用密寫來保證通訊安全。但是隨著19世紀末20世紀出無線電技術的發展,訊息能夠通過無線電波公開的傳遞上千公里時,密碼技術的價值凸顯出來,一套套嚴密的理論噴井而出,現在密碼學家宣稱自己有了堅實的數學基礎,儘管數學家們可能另有想法。

不幸的是,密寫從一開始就試圖去構造真實載體來隱藏通訊存在性這個更加困難,簡直是不可能完成的任務。我們將會看到這種構造自然真實載體的繁瑣性與困難性不僅讓密碼和密寫從培根的理論中分道揚鑣,同時更為重要的是,也讓密寫方法的實現不再依賴於最直接的“隱藏”方式,而是尋求一種更加簡單粗暴的“修改”操作了。沒人有想到,在卡登格子提出近500年之後,隨著一種自動化構建真實數字載體技術的出現,我們(沒錯,就是我和我的同事們)提出了一種數字化卡登格子的方案,從而復原了這種最古老的密寫方案[2][3]。

 

2 現代的隱寫術及其問題

現代隱寫術的大牛和奠基性人物是Jessica Fridrich,作為大學教授,她不僅系統性的提出了現代隱寫術實現的三種機制[5],同時在一種基於”修改”的隱寫機制中,幾乎做到了極致。Fridrich教授在另外一項遊戲中也做到了極致,“玩魔方”。她利用現代隱寫術最著名的囚徒模型[6],闡述了實現隱寫的三種方式。囚徒模型中,囚犯Alice和Bob可以進行通訊,但他們試圖協商越獄,通訊的內容每次都被看守Eve監管。 

image.png
  圖6 (a)囚徒模型  

 

image.png
       圖6 (b) 隱寫系統的要素

 在囚徒模型(參考之前的環境決定論)中,Alice和Bob之間進行密碼通訊則顯然是不明智的,看守Eve看到密碼就能懷疑Alice和Bob很大程度上傳遞祕密訊息,從而阻斷這個通訊過程,更嚴重的情況則是直接幹掉Alice和Bob。Alice必須採取密寫的方法來傳遞訊息同時保護自己和Bob的人身安全。允許Alice和Bob通訊這個條件在這裡看起來有點匪夷所思,一方面你可以看作是Alice和Bob擁有的為數不多的犯人權利,另一方面在實際情況下,渴望自由的Alice和Bob總能尋找到一種通訊的方式,這種通訊方式被認為是一種藉助公開渠道進行的,這不禁讓我想起了《肖申克的救贖》。Alice的任務是隱藏祕密訊息傳遞的存在性,就是必須利用一種看起來正常的通訊完成祕密訊息的傳遞。一種最直接的方式就是在通訊通道上,傳遞含有祕密訊息且看起來正常的載體,被稱為含密載體(stego)。Eve則被賦予更大的權力,他不僅能從雙方的通道上獲取傳遞的資訊,同時還能夠獲得Alice或者Bob掌握的所有密寫演算法。他的指責就是避免Alice和Bob之間有祕密訊息的傳遞,為了履行好這個職責,被動式的Eve僅通過對自然載體和含密載體進行統計分析,以檢測含密載體是否在通道上。而主動式的Eve則直接提取祕密訊息,從而直接確定含密載體,然而這種主動方式Eve的行為看起來也有點難以理解,特別是對於學過密碼學的人來說,很多人會認為一種直接的做法是對密寫的訊息進行加密,那麼對於Eve來說是無法直接提取祕密訊息了,這種偷換概念的做法確實是一種挑戰。為了避免這種情況,我們可以假設Eve已經獲得了祕密訊息對應的密文資料,但是他必須從看起來正常的含密載體中提取出相同的密文資料,才能最終以確鑿的證據讓Alice和Bob心服口服,我需要再次強調,Eve並不是瘋狂的惡魔,他就像擁有很大權力的法官一樣公正,講證據。因此,從含密載體中直接提取訊息(可以是明文也可以是密文)的困難性與保證含密載體的自然正常屬性一樣,是Alice兩手都要抓的工作,因為Eve本身主動和被動融為一身。Alice的任務艱鉅,他就像碟中諜的阿湯哥 一樣,努力完成這種看起來不可能完成的任務。Fridrich根據構造含密載體的三種不同方式,為Alice實現這個任務提供了三種途徑。

第一種,基於載體修改的方法。該方法通過對某個原始自然載體進行”微小”的修改操作,已達到隱藏訊息的目的。這種方式是整個現代密寫技術研究最多,取得成果最多的方法。一個重要的原因是,隨著數字影象和其他數字多媒體的出現,這些數字影象本身存在很多的冗餘資訊,對影象的修改並不會造成視覺上的可感知性。但是修改操作不可避免的會造成原始載體的分佈Pcover和修改後的含密載體Pstego不同,人視覺的不可區分,不代表利用機器建立起來的統計分析模型無法區分。一些基於常見機器學習方法的隱寫分析技術發展起來。在當時由於刻畫高維影象資料的分佈困難,修改的方法甚至忽略了Pcover是否是自然影象的真實描述以及計算Pcover的可行性,而只試圖保持某種統計模型的不變,例如最簡單的保持某種直方圖特徵不變。一種state-of-the-art的修改方法藉助於編碼方法尋找一個最小化失真的含密載體[7],這種方法定義的失真有些模糊並最終依然與影象的某種統計模型相關聯,因此通過提取反應修改會引起變化的其他特徵,就有可能建立起有效的隱寫分析工具。Fridrich利用機器學習中一種常用的衡量分佈相似度的散度KL散度來定義基於修改的隱寫方法的安全性。他定義了一種 Dkr(Pcover,Pstego)≠δ的δ隱寫安全[5]。儘管 Dkr(Pcover,Pstego)≠0無法達到理論上的安全,但是由於影象或視訊中存在較多的視覺冗餘,這個方法的能夠隱藏祕密訊息的容量很大,這是隱寫實用性最重要的指標。

image.png
圖7 基於載體修改的方法基本原理及特點

第二種,基於載體選擇的方法。傳送方Alice有一個固定的影象資料庫,可以從中選擇一個來傳輸所需要的資訊,Fridrich提出了一個最簡單的例子[5]來說明,即通過選擇一個橫幅的或者豎版的影象來發送1bit資訊。密寫演算法變成了一種選擇影象的過程,直到發現包含所需的祕密訊息的影象。嵌入金鑰本質上就成了上面約定的一種影象到訊息的對映規則(橫幅影象表示0,豎版影象表示1,如圖8所示)。選擇方法由於載體始終100%自然,即cover=stego, Pcover=Pstego,從而,能夠實現理論上 Dkr(Pcover,Pstego)≠0。這個方法看起來很吸引人,然而卻存在不少問題,最大的問題則是嵌入容量較低,在上面的容量中,1幅影象才隱藏1位元資訊,這使得寶貴的通訊變得浪費嚴重,因此這個方法並不具備太多實用性。國內的研究人員將載體選擇的方法也稱為“無載體資訊隱藏”,這種稱呼有時會讓人迷惑,因為資訊必須依賴載體才能存在。無論是載體選擇還是“無載體資訊隱藏”都致力於尋找原始影象和訊息的對映規則。

image.png
圖8 最簡單的載體選擇策略

第三種,基於載體合成的方法。在這種方法中,Alice需要建立載體以使得載體含有所需的祕密訊息。這個方法我們都很熟悉了,奴隸剃髮刺字,藏頭詩,卡登格子密寫都是這種方法的典型代表,《碟中諜》中的人臉面具也是一個典型的應用。然而這些方法都是手工或機器構造的實體,無法有效構造逼真的數字載體。在現代隱寫方法中,在強大的生成模型出現之前這種方法幾乎無法取得效果。Fridrich也承認,當時載體合成更多的是一種思想實驗,而不是實際的隱寫術。一些研究人員則不再尋求構造真實的載體,而是尋求一種特殊的影象載體:紋理影象。Otori等人[8]提出了合成紋理影象的方法,將祕密訊息隱藏在合成的紋理影象中。如圖9所示,

image.png
圖 9紋理影象合成隱寫

其中圖 9(a) 為紋理樣本影象,圖 9(b) 是根據祕密資訊在白紙上描繪的彩色點,圖9 (c) 是由圖9 (b) 生成的大幅紋理影象.與此類似的還有將資訊隱藏在水影畫以及指紋影象中[9]。這些方案在構造含密載體上儘管有一定的妥協,這是因為紋理影象本身並不具有真實的語義屬性容易引起看守Eve的懷疑。 然而,這些研究人員在合成影象上的工作值得充分肯定,當一種生成模型或者構造逼真的載體的新技術出現的時候,最早的靈感一定來自這些研究者的工作[9]。

電腦科學的很多領域都是這樣,從一開始一些傑出人物就已經將這個學科需要解決的問題展現出來。隨著技術的進步,一些看起來不可行的解決思路有了技術支援,一些之前被忽略或簡化的條件可以被重新考慮,技術的進步使得這些問題將逐步得到更好的解決。就像巴貝奇一樣,他很早就提出了機械式計算機設計的基本思路,只是限於製造工藝,一直無法創造出他設想的機器,當其他領域催生出電力和真空管的時候,電子計算機就應運而生了。與此何等的類似,當一種席捲整個電腦科學界的基於資料驅動的為真實資料建模的生成模型(生成對抗網路)出現的時候,對密寫術這個古老而又嶄新的技術一樣產生了衝擊,我相信,它將徹底的改變隱寫技術的面貌。

 

3 生成模型對隱寫術的影響

3.1 生成模型與生成對抗網路  

 生成對抗網路是一種利於資料驅動構建生成模型的方法。基於資料驅動的電腦科學被統一稱作一個更響亮的名字:機器學習。機器學習本質上就是利用資料(包括原生資料和人類的先驗知識)去建立數學模型的一系列方法的總稱,這樣的模型主要有兩類,一類稱之為判別模型,這類模型建立好後,將用來處理判別問題,比如給出某個資料的類別或一個評價指標。另一類模型則稱為生成模型,生成模型主要用來模擬資料的分佈,同時更為重要的是需要從這個模擬的分佈中獲取我們想要的一些樣本,這就是”生成”的由來。建立這兩類模型的過程被成為“學習”,實際上也被成為訓練。如圖10所示. 我在前幾季的《理解計算》中也解釋過,評價學習或訓練過程的好壞主要還是看對未知資料的處理能力。

image.png
圖10 生成模型和判別模型

很長時間以來,機器學習在判別模型中取得了很多重要的成果,比如感知機,多層感知機以及卷積神經網路,支援向量機,決策樹等,你所瞭解的計算機影象識別問題本質上就是一個判別問題,因此在這一點上,機器建立的模型的識別準確率甚至超過了人類。在隱寫分析領域,基於判別模型的隱寫分析也取得了成功。然而生成模型可不是那麼容易建立,這主要是由於數字媒體時代,資料的高維特性,我們很難刻畫高維資料的服從分佈,更別說從中取樣了。一般的做法是降低生成模型的目標,只是實現一種明確的分佈,那麼得到的取樣也可能只能反映資料一個方面的特性,需要特別強調的是,生成模型一般都簡化成為某一類或幾類資料建立類條件分佈,建立生成模型。直到2014年的某個晚上,一個並不十分得志的年輕博士GoodFellow在酒吧喝酒時提出了一個問題”如果讓兩個神經網路對抗起來”會產生什麼效果呢?這個簡單問題的回答促成了“人工智慧歷史上“最重要的一個成果的誕生,生成對抗網路(Generative Adversarial Network,簡稱GAN)[10]。

GAN模型的具體過程如下圖11所示,一個噪聲z將一個神經網路作為生成器Generator,簡稱G, 去生成一個假樣本X’=G(z),用另一個神經網路作為判別器Discriminator,簡稱D,去判別真實資料X和生成資料X’,D目標是儘量區分真實資料X和假資料X’,生成器G的目標則是希望生成X’能夠欺騙D的區分。Goodfellow讓D和G對抗起來,具體過程就是不斷地固定G,更新D,以及固定D的更新G這樣的反覆迭代,這個迭代過程最終將達到一個博弈的平衡點,即噪聲z通過生成器後生成的資料G(z)的分佈Pg 與真實資料分佈Preal相同,也就是說判別器無法區分真實影象和生成的假影象。這樣,我們就得到了一個能夠生成假的真實樣本的生成器。我希望你能想象一下最強大的生成器的訓練過程跟求解根號2的相同點。

image.png
圖11 Goodfellow及其GAN模型[10]

這個過程異常簡單,我一直納悶為何很早沒有人想到。GAN的過程太簡單了,一開始很多人忽略了它的重要性,GAN最厲害的是避免了明確給出影象這種複雜的高維資料分佈的具體形式,而是通過利用強大神經網路表示一個影象生成器。從此以後,無論是影象還是什麼任何的數字媒體,只要它的分佈足夠複雜無法明確給出,你都可以嘗試用GAN的生成器來模擬它,利用噪聲生成你想要的任何東西。這簡直就跟孫悟空吹一口仙氣(噪聲),就變出一個東西的魔法一模一樣。

GAN最大的特點主要有兩個,一是藉助博弈對抗的策略來達到某個目的。另外一個則是GAN模型產生的結果是形成了一個強大的生成器。近期一些研究人員開始將GAN應用到影象密寫技術中。我們將看到GAN在密寫技術的應用也主要依賴這兩個特點。

 

3.2 基於GAN的載體修改

由於基於修改的隱寫技術幾乎壟斷了整個研究領域,當強大的GAN出現的時候,傳統隱寫領域的研究人員還未察覺GAN的強大威力,另一些做機器學習的研究人員依賴對GAN的深入瞭解,竟然捷足先登了。第一篇利用GAN來進行影象密寫的論文[11]在arxiv誕生了。俄羅斯人很有可能是隨便翻翻隱寫技術的論文,便大膽的邁開了第一步。他們的方案很簡單,在原始GAN中增加了兩個模組,一個是嵌入模組,另一個則是隱寫分析模組,就是一個神經網路分類器,如圖12所示。由生成器生成的影象經過嵌入模組(任意的一種基於修改的方法)後輸入到一個隱寫分析器中,隱寫分析器同樣接受未經過修改嵌入的生成影象作為輸入。通過隱寫分析模組與生成器和判別器的對抗,最終產生的結果是隱寫分析器無法區分生成的影象以及經過嵌入模組修改後的含密影象。

image.png
圖12 生成原始載體的密寫方法

這個方法主要利用了GAN的博弈對抗策略,特別是引入一個隱寫分析器S來增強生成的影象被修改後的安全性。這個方案本質上依然是一個載體修改方案,擁有載體修改方案的優點和固有缺點,只是原始載體是生成器生成的。在這個基礎上,存在一些改進方案大都與此類似,通過引入隱寫分析器來完成博弈對抗。

還有一個方法則更加有趣,借鑑GoogleBrain的研究人員利用GAN學習加解密方案的思路[12],如圖13(a)所示。Heyes等人設計了一個自動學習密寫過程的方案[13],這個方案模擬了囚徒模型,定義了分別為Alice Bob 和Eve定義各自的任務。Alice Bob 和Eve的三方對抗,使得Alice能夠自動學習到一種基於載體修改的隱寫方案,在沒有金鑰的情況下, Eve不可能得到祕密資訊。具體方案不在此贅述,最終Alice將產生一個含密載體C’,這個含密載體C’具有較低的失真並且能從中提取出訊息M’, Eve在沒有提前金鑰的情況下無法獲得訊息M’。需要強調的是,儘管存在很多問題,這兩個方案[12][13]已經隱隱預示著利用機器自動設計密碼和密寫演算法開始變得可能。

image.png
標題

 

 

3.3 基於GAN的載體選擇

以上那些方法均是借鑑GAN模型中的對抗策略完成基於修改的隱寫方法。GAN作為一種強大的生成器本身也是一個強大的對映變換,這種對映能力也能夠在原始載體和祕密訊息之間建立一個對映規則,從而實現基於載體選擇的隱寫。我們就利用這個思路提出了一種基於GAN的載體選擇隱寫[14]。這個方案相對比較複雜,這裡只以最簡單的形式向大家展示GAN的作用,即利用多個生成器建立了訊息和隨機選擇的自然影象之間的對映關係,如圖14所示,這個方案需要每一次訊息傳遞必須進行金鑰的分發,阻礙了實際的使用。

image.png
圖14 利用生成模型設計的載體選擇方法基本框架

 

3.4基於GAN的載體合成

幾乎在同一時期,能否利用GAN這種強大生成器直接生成含密載體的思路在很多研究人員的腦海中形成。大家都很清楚GAN已經能夠生成一個逼真的影象了,但是一個困難的問題擺在我們面前,如何讓生成的影象含有祕密訊息,並能夠正確提取。

image.png
圖15 如何利用生成器生成含密載體

 

 

沒過多久, Hu等人[15]和我們[16]分別從類似而又不同兩個方面嘗試解決這個問題,Hu的方法將生成器的驅動噪聲與訊息建立對應關係,如圖16所示,訓練一個訊息提取器以期望從生成的影象中恢復出驅動噪聲,從而實現隱祕通訊,這個方案簡單容易理解。

image.png
圖16 利用驅動噪聲來隱藏訊息

我們的方法[17]則從控制GAN的輸出出發,傳統的GAN無法控制生成影象的一些屬性或類別資訊,ACGAN和InfoGAN等改進方法的提出使得生成模型的構造者能夠控制生成影象的一些屬性,Liu將ACGAN的類別資訊與訊息對應,通過訓練一個類別提取器來獲得祕密訊息,如圖17。他們的方法本質上有些類似。更奇妙的是,這種建立訊息和噪聲或者類別資訊之間對映關係的方法竟然類似載體選擇的隱寫了。

image.png
圖17基於ACGAN中的類別資訊隱藏訊息

實際上,當載體選擇方法中的影象庫無窮大,並且生成器可以無窮取樣真實資料的情況下,兩者本質並無不同。一個完美的生成器可以看作是一個數字化的相機,每一次從噪聲進行生成樣本的過程可以看作是這個數字化相機拍照的過程。如果能夠找到一種方法,快速的抓拍到滿足訊息能夠被提取的那些生成影象,就意味著找到含有祕密訊息的影象了。從這個思路出發,我們提出了約束取樣的密寫方案[3],首先我們利用GAN訓練一個生成器,然後通過建立訊息約束條件對噪聲z進行更新,希望能找到滿足訊息提取約束的含密載體G(z)。

image.png
圖18 基於約束取樣的密寫方法

我想大家應該對這個所謂的約束取樣很熟悉了,這簡直就跟我們在第一季中求解根號2的一模一樣的流程,只需要定義一個評價標準,然後再找要給更新的策略就行了。在約束取樣框架的基礎上,我們重新回到密寫技術最開始的卡登格子密寫,一種典型的載體合成方案,具體實現了一個數字化卡登格子的方法[2][3]。我們的方法還充分借鑑了GAN在影象合成中的一個特殊應用,影象補全。數字化卡登格子密寫方案如下圖所示

image.png
圖19 數字化卡登格子[2][3]

首先在一個損毀的人臉影象上覆蓋一個雙方共享的數字化卡登格子,然後將祕密資訊以修改的方式嵌入損毀影象中沒有損毀的部分,這樣一個含有祕密訊息的損毀影象就產生了,這個損毀影象作為訊息約束條件,進行含密載體影象的約束取樣(生成),約束取樣的過程實際上是對噪聲進行更新的過程,這個更新過程的目標是使得定義的一些訊息提取代價損失最低,藉助了我們在上一季中提到的反向求導的方法,即BP方法。由於生成器提前已經訓練好, 因此生成含密載體的過程不僅實現了影象補全,更重要的是實現了訊息的嵌入。這個約束取樣方法並非完美,因為訊息約束條件並不是能夠完全滿足,這意味訊息提取並不能被準確提取。儘管我們的方案還在不斷完善,但是這個簡單卻返璞歸真的方案,最重要的是讓我們自己獲得了研究的樂趣,這是因為用新技術將我國古人的藏頭詩智慧發揚光大,確實是一件值得開心的事。另外,只要生成模型足夠強大, 類似的這種思路可以推廣到文字,視訊等其他載體領域。

利用生成器直接生成含密載體的方法極具吸引力,這主要是因為藉助理論上能夠生成真實影象的生成器,我們就可以避免被傳統的統計分析工具的檢測。但是這種方法實際上面臨的問題可能更多。首先生成器必須依賴某類資料訓練生成,並不能隨意的生成你想要的所有影象,從而限制了它的而使用。而且目前生成逼真的真實影象的計算代價太大,你需要幾十塊GPU或者租用google的TPU才能完成。另外由於生成影象本身存在的隨機性,導致提取的訊息也存在隨機性。相比傳統的方法來說不僅是費時費力,而且還不保證訊息的準確傳遞,真是出力不討好的一件事。但是,我們依然要感到慶幸,強大生成器的出現使我們能夠實現以前只存在與想象中的事情,這真讓人激動。

4 總結

我們通俗(不嚴格的)講述了GAN在影象隱寫(密寫)中的作用,從古典的卡登密寫到最終的數字化卡登格子,一個輪迴以新技術的出現而完成。從以上的分析可以看出,將新技術應用在不同的領域中實際上有一些方法可以探討。一種方法借鑑新技術GAN的最大特點,即博弈對抗策略,在不用的應用領域均可以採用這個策略去將GAN模型的成功遷移到你所研究的領域。另一個方法則是更多的借鑑GAN這種新技術的最終成果,即強大的生成器,充分利用這個新技術帶來的成果優勢,應用到你所研究的領域。儘管並不是所有的領域都像密寫術那樣幾乎完美的運用了生成能力,只要你對你所在的領域的問題足夠關注,你一定會像我們一樣感受到新技術所帶來衝擊。

參考文獻

[1] https://en.wikipedia.org/wiki/Grille_(cryptography)

[2] Liu, J., Zhou, T., Zhang, Z., Ke, Y., Lei, Y., Zhang, M., et al.:Digital cardan grille: a modern approach for information hiding. https://arxiv.org/abs/1803.09219.

[3] Jia Liu, Yan Ke, Yu Lei, Jun Li, Yaojie Wang, Yiliang Han, Minqing Zhang, Xiaoyuan Yang The Reincarnation of Grille Cipher: A Generative Approach https://arxiv.org/abs/1804.06514

[4] https://en.wikipedia.org/wiki/Cardan_grille

[5] Fridrich J. : Steganography in digital media: principles, algorithms, and applications. UK: Cambridge University Press, Cambridge. (2010)

[6] Simmons G J. The prisoners' problem and the subliminal channel [C]. Advances in Cryptology: Proceedings of Crypto 1983, 1984: 51-67.

[7] Filler T , Judas J , Fridrich J . Minimizing Additive Distortion in Steganography Using Syndrome-Trellis Codes[J]. IEEE Transactions on Information Forensics and Security, 2011, 6(3):920-935.

[8] Otori H, Kuriyama S. Data-embeddable texture synthesis [C]//Proceedings of the 8th International Symposium on Smart Graphics, Kyoto, Japan, 2007, 146-157.

[9] 張新鵬, 錢振興, 李晟. 資訊隱藏研究展望[J]. 應用科學學報, 2016, 34(5): 475-489. ZANG Xin-peng, QIAN Zhen-xing, LI Sheng. Prospect of Digital Steganography Research. Journal of Applied Sciences , 2016, 34(5): 475-489.

[10] Goodfellow, I. J., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., and Bengio, Y. : Generative adversarial networks. In Conference and Workshop on Neural Information Processing Systems 2014.

[11]. Volkhonskiy, D., Nazarov, I., Borisenko, B., Burnaev, E. : Steganographic generative adversarial networks. https://arxiv.org/abs/1703.05502 (2017)

[12] Abadi, M., Andersen, D. G. : Learning to protect communications with adversarial neural cryptography. https://arxiv.org/abs/1610.06918. (2016)

[13] Hayes, J., Danezis, G. : Generating steganographic images via adversarial training. https://arxiv.org/abs/1703.00371 (2017)

[14] Ke, Y., Zhang, M., Liu, J., Su, T., Yang, X. : Generative steganography with kerckhoffs’ principle based on generative adversarial networks. https://arxiv.org/abs/1711.04916 (2017)

[15] Donghui Hu, Liang Wang, Wenjie Jiang, Shuli Zheng, Bin Li, A Novel Image Steganography Method via Deep Convolutional Generative Adversarial Networks. IEEE Access 6: 38303-38314 (2018)

[16] 劉明明, 張敏情, 劉佳, 高培賢, 張英男. 基於生成對抗網路的無載體資訊隱藏[J]. 應用科學學報, 2018, 36(2): 371-382.