google brain建立了兩個人工智能(ai)系統,這兩種系統完善了各自的加密算法,保護資訊免遭第三個人工智能系統的破解,這第三個人工智能系統在竭力完善自己的方法,以便破解人工智能生成的密碼。這項研究很成功:前兩個人工智能系統從零開始學會了如何安全地通信。

加密系統架構。p =輸入的明文,k =共享密匙,c =加密文本,peve和pbob 為經過計算後得出的明文輸出。
google brain團隊的總部位于加州芒廷維尤城,獨立于設在倫敦的deep mind,它最初設計了三個相當普通的神經網絡:alice、 bob和eve。每個神經網絡都被賦予了一個非常明确的任務:alice的任務是向bob發送保密資訊,bob的任務是解譯這個資訊,而eve的任務則是竊聽這個資訊并嘗試對其進行破譯。相對于eve,alice和bob有一個優勢,即它們擁有一個共享密鑰(也就是對稱加密)。
重要的是,這兩個人工智能都不會透露它們是如何對資訊進行加密的,或是使用的是何種密碼技術。它們隻被給予了一個損失函數(一個失敗條件),随後它們就利用這一損失函數開始工作。在eve方面,損失函數非常簡單,即alice的原始輸入明文和其猜測之間的差距,以對和錯二進制表示。對于alice和bob,損失函數比較複雜:如果bob的猜測(也以二進制表示)與原始的輸入明文差距過大,即為損失;對于alice,如果eve的猜測優于随意猜測,那麼即為損失。由此建立了一個生成對抗網絡(gan)。
alice、bob和eve都共享了相同的“組合與變換”神經網絡架構,但是它們都被獨立預置,除了alice和bob的共享密鑰外沒有其它的聯系了。對于alice,密鑰和明文被輸入至神經網絡的第一層。對于bob,其獲得了密鑰和密文。對于eve,其隻得到了密文。第一層被完全連接配接,是以文本和密鑰可實作混合。在第一層之後是大量的卷積層,它們學習對從上一個層那裡獲得的位元組使用函數。它們不知道這個函數可能是什麼,僅是不斷地進行學習。對于alice,最後一層負責發出某種密文,而bob 和 eve輸出的則為明文。
在學習期間bob和eve的重建誤差。我們能夠看到eve開始進行改進,但是alice-bob加密方法中的改變讓eve再次出局。
結果……喜憂參半。随着bob不再重建alice的資訊,部分嘗試變成了一個徹底的失敗。在大部分時間當中,alice和bob設法改進了系統,在這個系統中它們的通訊幾乎沒有什麼錯誤。在部分測試中,eve的猜測較随意猜測有所提升,但是alice和bob通常會通過改進加密技術進行回應,直至eve徹底失去機會(見曲線圖)。
研究人員沒有對alice和bob所設計的加密方法進行詳細的分析。不過,他們觀察到這依賴于密鑰和明文。他們表示:“這不單純是xor。特别是,輸出值常常為不同于0和1的浮點值。”
最後,研究人員martín abadi和david g. andersen表示,神經網絡确實能夠學習保護它們的通訊,隻需告訴alice評估安全高于一切,并且重要的是,不需要指定某套加密算法就可具有保密性。
除了資料的對稱加密,密碼學還有很多東西。研究人員稱,未來的工作可能會考慮“隐寫術”(即将資料隐藏在其他媒質中)和非對稱(公鑰)加密。對于eve能否有可能一直充當一個優秀對手,研究人員認為:“雖然神經網絡似乎不太可能會變得精通密碼分析,但是它們或許在了解中繼資料和流量分析方面非常有效。”