最近幾年人工智能仿佛打通了任督二脈的武林奇才,正在瘋狂地?cái)U(kuò)張自己的招法技能樹。聽音辯形下棋玩游戲什么的已經(jīng)out了,現(xiàn)在Google又做出了2個(gè)能夠自行演進(jìn)出加密算法的人工智能,從而避免其溝通信息被第3個(gè)在自我演進(jìn)破解算法的AI偵聽——這是全世界從零開始學(xué)會(huì)安全通信的頭兩個(gè)AI。
這項(xiàng)研究成果叫做《用對(duì)抗神經(jīng)密碼術(shù)學(xué)習(xí)安全通信》,是由Google的Google Brain團(tuán)隊(duì)做出來的。Google Brain是Google最初進(jìn)行人工智能研究的團(tuán)隊(duì),不同于收購(gòu)過來,做出AlphaGo的那個(gè)DeepMind。這項(xiàng)研究的過程大概是這樣的, Google Brain首先準(zhǔn)備了三個(gè)普通的(不懂加解密)神經(jīng)網(wǎng)絡(luò),分別叫做Alice、Bob和Eve。每一個(gè)神經(jīng)網(wǎng)絡(luò)都被賦予了一個(gè)特定的目標(biāo):其中Alice的任務(wù)是給Bob發(fā)送一條安全的信息,Bob則必須嘗試對(duì)這條信息進(jìn)行解密。而Eve就像是軍隊(duì)對(duì)抗中的藍(lán)軍角色,它的目標(biāo)是偵聽這條信息然后嘗試破解。相對(duì)于Eve,Alice和Bob有一個(gè)優(yōu)勢(shì):它們有一個(gè)共享密鑰(也就是所謂的對(duì)稱加密)。
整套系統(tǒng)的架構(gòu)示意圖。其中P為明文,K為共享密鑰,C為密文,Peve和Pbob為計(jì)算(解密)后的明文輸出。
如果這些AI用的是現(xiàn)成的加解密算法的話,這項(xiàng)研究就沒什么意義了。但實(shí)際上這里的前提是所有AI事先既都不知道如何進(jìn)行加密,也不知道使用什么樣的加密技術(shù),它們的起點(diǎn)只是一個(gè)損失函數(shù)(一種衡量損失和錯(cuò)誤程度的函數(shù)),通過該損失函數(shù)來判斷自己做得如何,然后不斷演進(jìn)出正確的辦法。對(duì)于Eve來說,它的損失函數(shù)很簡(jiǎn)單,那就是:距離,或者說相似度,這是通過將Alice的原始明文與Eve猜測(cè)的明文逐位進(jìn)行比較計(jì)算出差別來衡量的。距離越小說明相似度越高,距離為0則說明猜中。而Alice和Bob的損失函數(shù)則要復(fù)雜一點(diǎn):如果Bob的猜測(cè)距離原始輸入明文太遠(yuǎn)(同樣是通過位差異衡量)則為損失;而對(duì)Alice來說,如果Eve的猜測(cè)比隨便亂猜的結(jié)果好,那就是損失。這樣一個(gè)生成式對(duì)抗網(wǎng)絡(luò)(GAN)就建立起來了。
雖然Alice、Bob和Eve采用的都是一樣的“混合與轉(zhuǎn)換”神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),但是它們的初始化都是獨(dú)立進(jìn)行的,除了Alice和Bob采用相同密鑰以外,相互之間并沒有聯(lián)系。對(duì)于Alice來說,密鑰和明文是其第一層神經(jīng)網(wǎng)絡(luò)的輸入,對(duì)于Bob來說密鑰和密文是輸入,而Eve只拿到了密文。由于第一層神經(jīng)網(wǎng)絡(luò)是全連接的,所以文本和密鑰可以混合。第1層之后是若干的卷積層,這些層會(huì)學(xué)習(xí)利用函數(shù)來處理上一層交給自己的那些字位。至于這個(gè)函數(shù)是什么它們是不知道的,它們只是一邊學(xué)習(xí)一邊根據(jù)損失函數(shù)給出的結(jié)果進(jìn)行調(diào)整。對(duì)于Alice來說,最后一層輸出的就是密文,而Bob和Eve則輸出明文——最后是無“損失”的明文。?
Bob(紅色)和Eve(綠色)在訓(xùn)練過程中的重構(gòu)誤差。可以看到一段時(shí)間之后(5000到10000步之間)Eve的誤差開始減少,但是隨后Alice和Bob改變了加密方法,Eve的誤差又重新開始攀升。
最后的結(jié)果好壞參半。一些情況下的運(yùn)行屬于徹底失敗,Bob從未重構(gòu)出Alice的消息。不過大部分時(shí)間內(nèi),Alice和Bob的確設(shè)法演進(jìn)出了一套錯(cuò)誤很少,能。夠相互溝通的系統(tǒng)。而在部分測(cè)試中,Eve也顯示出了一些比隨機(jī)猜測(cè)更好的改進(jìn),但是Alice和Bob隨后改進(jìn)了自己的加密技術(shù),令Eve無機(jī)可乘(參見上圖)。
至于Alice和Bob設(shè)計(jì)的是什么加密算法,研究人員并沒有進(jìn)行詳細(xì)分析,但是他們?cè)谝淮斡?xùn)練中觀察到這種加密法與明文和密鑰都有關(guān)系。但是這種關(guān)系并不是簡(jiǎn)單的XOR(異或)。研究人員稱,其輸出值往往是浮點(diǎn)數(shù)而不是0或1.
研究人員最后得出結(jié)論,神經(jīng)網(wǎng)絡(luò)的確可以自我學(xué)習(xí)通信保護(hù),而且只用告訴Alice重視保密高于一切即可,更重要的是,這種保密可以在不需要告訴具體采用什么樣的加密算法的情況下實(shí)現(xiàn)。
當(dāng)然,加密法并不僅僅只有對(duì)稱加密一種,研究人員未來還將研究速記式加密(將數(shù)據(jù)隱藏在其他媒體如圖像當(dāng)中的加密法)以及非對(duì)稱加密。至于Eve,研究人員認(rèn)為,神經(jīng)網(wǎng)絡(luò)成為密碼分析專家的可能性不大,但是用來進(jìn)行元數(shù)據(jù)和流量分析卻是一把好手。