Google Brain の研究者によって訓練されたニューラル ネットワークは、独自の暗号化アルゴリズムを作成できますが、それがどのように機能するかは誰もよくわかっていません。
ニューラルネットワークは、脳内のニューロンの働きを大まかに基盤とした接続システムです。ディープラーニングでは、囲碁を打ったり、音声を認識したり、状況の結果を予測したりするなど、特定のタスクを実行するAIモデルを訓練するためによく使用されます。
ニューラル ネットワークは、従来、暗号化とは関係がありませんでしたが、Google Brain の第一人者である Martın Abadi 氏と David Andersen 氏が執筆し、arXiv で公開された論文では、ニューラル ネットワークが相互に交換される情報を暗号化および復号化する方法を学ぶことができることが示されています。
アリスはボブに秘密のメッセージを送ろうとし続けています。まず、アリスというニューラルネットワークに入力(P)として情報が与えられます。メッセージは意味不明な文字列(C)に変換され、ボブはそれを解読します。盗聴者であるイヴも暗号文Cのコピーを入手し、解読を試みます。ボブとイヴはそれぞれ別のニューラルネットワークです。
ボブにとっては簡単に、そしてイヴにとっては難しくするために、アリスとボブはそれぞれ鍵(K)を持ちます。アリスは入力メッセージPを暗号化するためにこの鍵を使い、ボブはこれを復号化に使います。この鍵はアリスとボブに入力として提供され、メッセージごとに新しい鍵が生成されます。アリスは何らかの方法でメッセージPを共有鍵Kで暗号化し、暗号文Cを作成します。そしてボブは、PとKからCがどのように計算されたのかを解明する必要があります。
この実験を十分に繰り返すと、アリスとボブは、イヴが鍵なしでは解読できないメッセージを暗号化および復号化する独自のアルゴリズムを開発するでしょう。
ニューラルネットワークは、256~4,096個のエントリを含む入力タプルを繰り返し学習します。ニューラルネットワークを精度閾値を超えるように学習させた後、アリスとボブの間の再構成エラー率は0.05ビットですが、イブはランダムな推測率より1~2ビット高いだけになるはずです。
イブは各ラウンドの後にリセットされ、アリスとボブは 150,000 ステップ以内に目標しきい値を達成する必要があります。そうでない場合はトレーニング失敗とみなされます。
当初、イヴはメッセージを解読するのがかなり上手でした。しかし、1万ステップを踏むと、アリスとボブは互いにコミュニケーションをとる能力が向上し、暗号アルゴリズムはイヴが盗聴するのが非常に困難になるように学習しました。15万ステップを踏むと、イヴはメッセージの16ビットのうち8ビットしか正しく推測できなくなり、これは純粋な偶然と同じ確率です。
暗号化アルゴリズムは素晴らしいものですが、まだ実用化には至っていません。研究者自身もアルゴリズム自体を理解していないため、暗号化の精度がどの程度なのかは保証できません。
機械学習はあまり透明性が高くなく、その背後にある魔法は、いわゆる「ブラックボックス」に閉じ込められていることがよくあります。
「ニューラルネットワークは説明が非常に難しいことで知られているため、その構成要素がどのように機能するかを特徴づけるのは難しいかもしれない」と論文は述べている。
しかし、ニューラルネットワークを従来の暗号技術と組み合わせて使用すれば、より有効に活用できる可能性があります。従来の暗号アルゴリズムは透明性が高いものの、暗号化する情報の選択に関してはニューラルネットワークほど優れていません。®