
ワンタイムパッド(OTP)は、暗号学において解読不可能な暗号化技術です。これは、送信するメッセージのサイズ以上の、一度だけ使用する事前共有鍵の使用を必要とします。この技術では、平文がランダムな秘密鍵(ワンタイムパッドとも呼ばれる)とペアになります。次に、平文の各ビットまたは文字は、モジュラ加算を使用してパッドの対応するビットまたは文字と組み合わせることによって暗号化されます。[ 1 ]
次の4つの条件が満たされると、結果として得られる暗号文は解読または解読不可能になります。[ 2 ] [ 3 ]
これらの要件により、OTPは情報理論の原理の下で数学的に解読不可能であることが証明されている唯一の既知の暗号化システムとなっています。[ 4 ]
ワンタイムパッド暗号のデジタル版は、各国で重要な外交通信や軍事通信に利用されてきたが、安全な鍵配布の問題があるため、多くの用途では実用的ではない。
1882年にフランク・ミラーによって初めて記述されたワンタイムパッド[ 5 ] [ 6 ]は、1917年に再発明されました。1919年7月22日、ギルバート・ヴァーナムに、ワンタイムパッドの暗号化に使用されるXOR演算に関する米国特許第1,310,719号が発行されました。 [ 7 ]ワンタイム使用は、ジョセフ・モボルニュが鍵テープが完全にランダムであれば暗号解読は不可能であると認識した後に実現しました。[ 8 ] セキュリティを高めるため、ワンタイムパッドは、使用後に簡単に燃やせるように、非常に燃えやすいニトロセルロースのシートに印刷されることもありました。
1882年にフランク・ミラーが電信のセキュリティを確保するためのワンタイムパッドシステムを初めて記述した。[ 6 ] [ 9 ]
次のワンタイムパッドシステムは電気式でした。1917年、ギルバート・ヴァーナム( AT&Tコーポレーション所属)はテレプリンター技術に基づいた暗号を発明し[ 10 ]、後に1919年に特許を取得しました(米国特許1,310,719 )。メッセージ内の各文字は、パンチ紙テープキー上の文字と電気的に結合されました。ジョセフ・モーボルニュ(当時アメリカ陸軍大尉、後に通信隊長)は、キーテープ上の文字シーケンスが完全にランダムになる可能性があり、その場合、暗号解読がより困難になることを認識しました。彼らは共同で最初のワンタイムテープシステムを発明しました。[ 11 ]
次に登場したのは、紙パッドシステムでした。外交官は機密保持と電信コストの最小化のために、長年暗号を使用していました。暗号では、単語やフレーズを辞書のようなコードブックを使って数字のグループ(通常4桁または5桁)に変換していました。セキュリティを強化するために、送信前に各コードグループに秘密の数字を(通常はモジュラ加算で)組み合わせることができ、秘密の数字は定期的に変更されていました(これはスーパー暗号化と呼ばれていました)。1920年代初頭、このようなシステムの解読に関わっていた3人のドイツ人暗号学者(ヴェルナー・クンツェ、ルドルフ・シャウフラー、エーリッヒ・ラングロッツ)は、各コードグループに別個のランダムに選択された加算数を使用すれば、決して解読できないことに気づきました。彼らは、ランダムな数字のグループが印刷された紙パッドを複製しました。各ページにはシリアル番号と8行があり、各行には6つの5桁の数字がありました。1ページはメッセージを暗号化するためのワークシートとして使用され、その後破棄されました。ページのシリアル番号は、暗号化されたメッセージとともに送信されました。受取人はその手順を逆に行い、その後、そのページの自分のコピーを破棄する。ドイツ外務省はこのシステムを1923年までに運用開始した。[ 11 ]
別の考え方としては、以下の例のように、ワンタイムパッドを使用して平文を直接エンコードする方法があった。レオ・マークスは、第二次世界大戦中にイギリス特殊作戦執行部のためにそのようなシステムを発明したと述べているが、当時、ブレッチリー・パークなど、高度に区分けされた暗号の世界では既に知られていたのではないかと疑っていた。[ 12 ]
最終的な発見は、1940年代に情報理論家のクロード・シャノンによってなされ、彼はワンタイムパッドシステムの理論的重要性を認識し、証明しました。シャノンは1945年に機密報告書でその結果を発表し、1949年にそれを公表しました。[ 4 ]これ以前に、ソ連の情報理論家のウラジーミル・コテルニコフは独自にワンタイムパッドの絶対的な安全性を証明しており、その結果は1941年に報告書で発表されましたが、その報告書は機密扱いのままのようです。[ 13 ]
ワンタイムパッドの量子版も存在し、これは量子コンピューティングで時折使用される、完全な秘匿性を備えた一方向量子チャネルに沿って量子状態を交換するために使用できます。一方向量子チャネルに沿ってn量子ビットの量子状態を交換するには、少なくとも2n個の古典ビットの共有秘密が必要であることが示されています(nビットのメッセージを完全な秘匿性で交換するにはnビットの鍵が必要であるという結果と類似しています)。2000年に提案された方式はこの限界を達成します。この量子ワンタイムパッドを実装する1つの方法は、2nビットの鍵をn個のビットのペアに分割することです。状態を暗号化するには、鍵の各ビットのペアiについて、ペアの最初のビットが1の場合に限り、状態の量子ビットiにXゲートを適用し、ペアの2番目のビットが1の場合に限り、状態の量子ビットiにZゲートを適用します。XとZはそれぞれ自身の逆であるため、復号化にはこの変換を再度適用する必要があります。これは量子環境下では完全に秘密であることが証明できる。[ 14 ]
アリスがボブhelloにメッセージを送りたいとします。あらかじめ、同じランダムな文字の並びが書かれたメモ帳が2つ用意され、両者に安全に配布されているとします。アリスはメモ帳から適切な未使用のページを選びます。通常、この方法は事前に決められており、例えば「5月1日には12枚目の用紙を使う」とか「次のメッセージには次に使える用紙を使う」といった具合です。
選択された用紙に書かれた内容が、このメッセージの鍵となります。用紙の各文字は、あらかじめ決められた方法でメッセージの1文字と組み合わされます。(各文字に数値を割り当てるのが一般的ですが、必須ではありません。例えば、a0は0、1bは1などです。)
この例では、ヴィジュネル暗号に似たモジュラー加算を使用して鍵とメッセージを結合する手法が用いられています。対応するメッセージ文字と鍵文字の数値は、26を法として加算されます。したがって、鍵素材がで始まり、メッセージがである場合、符号化は次のようになります。XMCKLhello
こんにちはメッセージ 7 (h) 4 (e) 11 (l) 11 (l) 14 (o) メッセージ + 23 (X) 12 (M) 2 (C) 10 (K) 11 (L) キー = 30 16 13 21 25 メッセージ + キー = 4 (E) 16 (Q) 13 (N) 21 (V) 25 (Z) (メッセージ + キー) mod 26 EQNVZ → 暗号文
数が25より大きい場合、26を引いた余りは剰余演算によって求められます。これは、計算がZを超えた場合、数列がAから再び始まることを意味します。
ボブに送信される暗号文は ですEQNVZ。ボブは対応する鍵ページと、同じプロセスを逆にして平文 を取得します。ここでもモジュラ演算を使用して、暗号文から鍵が減算されます。
EQNVZ暗号文 4 (E) 16 (Q) 13 (N) 21 (V) 25 (Z) 暗号文 − 23 (X) 12 (M) 2 (C) 10 (K) 11 (L) キー = −19 4 11 11 14 暗号文 – 鍵 = 7 (h) 4 (e) 11 (l) 11 (l) 14 (o) 暗号文 – キー (mod 26) こんにちは → メッセージ
上記と同様に、数値が負の場合は、26を加えて0以上になるようにします。
こうしてボブはアリスの平文、つまりメッセージを復元するhello。アリスとボブは使用後すぐに鍵シートを破棄し、再利用や暗号への攻撃を防ぐ。KGBは工作員に、化学的にニトロセルロースに変換された小さなフラッシュペーパーに印刷された使い捨てパッドをよく支給していた。フラッシュペーパーはほぼ瞬時に燃え、灰を残さない。[ 15 ]
古典的なワンタイムパッドを使ったスパイ活動では、極小で隠しやすい紙のパッド、鋭利な鉛筆、そして暗算が用いられていました。現在では、この方法はソフトウェアプログラムとして実装でき、データファイルを入力(平文)、出力(暗号文)、鍵素材(必要な乱数列)として使用します。平文と鍵要素を組み合わせるには排他的論理和(XOR)演算がよく用いられ、これは通常ネイティブマシン命令であるため非常に高速で、コンピュータ上では特に魅力的です。しかし、鍵素材が実際に乱数であり、一度しか使用されず、相手に知られることがなく、使用後に完全に破棄されることを保証するのは困難です。ソフトウェアによるワンタイムパッド実装の補助的な部分は、平文の安全な取り扱い/送信、真に乱数的な鍵、そして鍵の一度限りの使用といった、真の課題を抱えています。
上記の例を続けると、イブがアリスの暗号文を傍受したとしますEQNVZ。イブが考えられるすべての鍵を試した場合、鍵によってXMCKL平文が生成されることを発見するでしょうが、鍵によって平文が生成されるhelloこともまた発見するでしょう。これは同様にもっともらしいメッセージです。TQURIlater
4 (E) 16 (Q) 13 (N) 21 (V) 25 (Z) 暗号文 − 19 (T) 16 (Q) 20 (U) 17 (R) 8 (I) 可能なキー = −15 0 −7 4 17 暗号文-鍵 = 11 (l) 0 (a) 19 (t) 4 (e) 17 (r) 暗号文-鍵 (mod 26)
実際、異なる鍵を使用するだけで、同じ文字数のどんなメッセージでも暗号文から「復号」することが可能であり、暗号文にはイブが暗号文のさまざまな可能な読み取りの中から選択できるような情報は含まれていません。[ 16 ]
鍵が真にランダムでない場合、統計分析を用いて、考えられる鍵の中で最もランダム性が低い鍵、つまり正しい鍵である可能性が高い鍵を特定することが可能です。鍵が再利用された場合、その鍵は両方の暗号文から意味のある平文を生成する唯一の鍵となることが顕著にわかります(ランダムに生成された誤った鍵が2つの意味のある平文を生成する可能性は非常に低い)。
ワンタイムパッドは、暗号化されたメッセージ(つまり暗号文)が元のメッセージに関する情報を暗号解読者に提供しない(メッセージの可能な最大長[注1 ]を除く)という意味で、「情報理論的に安全」です。これは、第二次世界大戦中にクロード・シャノンによって初めて開発された非常に強力なセキュリティの概念であり、ほぼ同時期にシャノンによってワンタイムパッドについて数学的に真であることが証明されました。彼の結果は1949年にベルシステム技術ジャーナルに掲載されました。 [ 17 ]適切に使用すれば、ワンタイムパッドは、無限の計算能力を持つ攻撃者に対しても、この意味で安全です。
シャノンは情報理論的な考察を用いて、ワンタイムパッドには完全秘匿性と呼ばれる性質があることを証明した。つまり、暗号文Cは平文について一切追加情報を与えないということである。[注2 ]これは、(直感的に言えば)一度だけ使用される真に一様乱数的な鍵が与えられた場合、暗号文は同じ長さの任意の平文に変換でき、それらはすべて等しい確率で発生するからである。したがって、平文メッセージMの事前確率は、対応する暗号文が与えられた場合の平文メッセージMの事後確率と同じである。
従来の対称暗号アルゴリズムは、複雑な置換と転置のパターンを使用します。現在使用されている最良のアルゴリズムについても、暗号化時に使用された鍵を知らなくても、これらの変換を効率的に(あるいは部分的にでも)元に戻すことができる暗号解読手順が存在するかどうかは不明です。非対称暗号アルゴリズムは、整数因数分解や離散対数など、解くのが難しいと考えられている数学的問題に依存しています。しかし、これらの問題が難しいという証明はなく、数学的なブレークスルーによって既存のシステムが攻撃に対して脆弱になる可能性があります。[注3 ]
従来の対称暗号化とは異なり、完全な秘密性が保証されているため、ワンタイムパッドは総当たり攻撃にも耐性があります。すべての鍵を試しても、すべての平文が得られるだけで、それらはすべて実際の平文である可能性が等しくなります。平文の一部がわかっている場合でも、攻撃者はメッセージの残りの部分を復号するために必要な鍵の部分に関する情報を得ることができないため、総当たり攻撃は使用できません。平文の既知の部分は、それに対応する鍵の部分のみを明らかにし、それらは厳密に1対1で対応します。一様乱数鍵のビットは独立しています。
量子暗号とポスト量子暗号は、量子コンピュータが情報セキュリティに与える影響を研究する分野である。 ピーター・ショア氏らは、量子コンピュータが従来の非対称暗号アルゴリズムのセキュリティの基盤となるいくつかの問題を、従来よりもはるかに高速に解決できることを示した。これらの問題の難易度に依存する暗号アルゴリズムは、十分な性能を持つ量子コンピュータが登場すれば、時代遅れとなるだろう。しかし、ワンタイムパッドは、完全な秘密保持が攻撃者の計算能力に関する仮定に依存しないため、安全性を維持する。
シャノン氏がその安全性を証明したにもかかわらず、この一時的なパッドは実際には深刻な欠点があり、以下のことが必要となる。
ワンタイムパッドは、暗号化における現在の実際的な問題をほとんど解決しません。高品質の暗号は広く利用可能であり、そのセキュリティは現在大きな懸念事項とは考えられていません。[ 18 ]こうした暗号は、適切かつ安全に生成、配布、保管する必要のある鍵素材の量がはるかに少ないため、ワンタイムパッドよりもほぼ常に簡単に使用できます。[ 16 ]さらに、公開鍵暗号は鍵配布の問題を克服します。
高品質の乱数を生成することは困難です。ほとんどのプログラミング言語ライブラリの乱数生成関数は暗号化には適していません。/dev/randomや多くのハードウェア乱数生成器など、通常の暗号化に適した生成器でさえ、安全性が証明されていない暗号化関数を使用している場合があります。純粋な乱数を生成する技術の一例として、放射性放出の測定があります。[ 19 ]
特に、一度限りの使用が絶対に必要です。たとえば、そしてこれらは2つの異なる平文メッセージを表し、それぞれ共通の鍵で暗号化されている。すると、それぞれの暗号文は次のようになります。
どこXORを意味します。攻撃者が両方の暗号文を入手した場合そして、次に単純にXORを取るそして2つの平文のXOR演算結果を生成する(これは、すべてのビットストリームをそれ自身とXOR演算すると、XORの 単位元である0が得られるためです。)これは、実行中の鍵暗号と同等のものです。
両方の平文が自然言語(例えば英語やロシア語)であれば、それぞれヒューリスティック暗号解読によって解読される可能性が非常に高く、多少の曖昧さが生じる可能性もある。もちろん、長いメッセージは短いメッセージと重なる部分のみ解読でき、さらに単語やフレーズを補完することで少し解読できる場合もある。この脆弱性を悪用した最も有名な事例は、Venonaプロジェクトである。[ 20 ]
パッドは、すべての共有秘密と同様に、安全に渡され、安全に保管されなければならず、パッドは少なくともメッセージと同じ長さでなければならないため、ワンタイムパッドを使用する意味はほとんどありません。パッドの代わりに平文を送信すればよいからです(両方とも同じサイズで、安全に送信する必要があるため)。[ 16 ]ただし、非常に長いパッドが安全に送信されると(たとえば、ランダムなデータでいっぱいのコンピュータディスク)、メッセージのサイズの合計がパッドのサイズと等しくなるまで、将来の多数のメッセージに使用できます。量子鍵配送は、耐障害性量子コンピュータを前提として、この問題に対する解決策も提案しています。
非常に長いワンタイムパッドキーを配布するのは不便で、通常は重大なセキュリティリスクを伴います。[ 2 ]パッドは基本的に暗号化キーですが、現代の暗号のキーとは異なり、非常に長くなければならず、人間が記憶するのは非常に困難です。サムドライブ、DVD-R、またはパーソナルデジタルオーディオプレーヤーなどのストレージメディアを使用して、非常に大きなワンタイムパッドを疑われない方法で場所から場所へ持ち運ぶことができますが、パッドを物理的に輸送する必要があることは、現代の公開鍵暗号システムのキーネゴシエーションプロトコルと比較すると負担です。このようなメディアは、物理的に破壊する(焼却するなど)以外の方法では確実に安全に消去することはできません。ワン タイムパッドデータでいっぱいの 4.7 GB の DVD-R を1 mm 2 (0.0016平方インチ)の粒子に細断すると、各粒子に 4メガビットを超えるデータが残ります。さらに、転送中に情報が漏洩するリスク(例えば、スリがパッドを盗み、コピーして交換するなど)は、 AESのような暗号方式で情報が漏洩する可能性よりも、実際にははるかに高いと考えられます。最後に、ワンタイムパッドの鍵素材を管理するために必要な労力は、通信参加者が多い大規模なネットワークでは非常に非効率的です。必要なパッドの数は、メッセージを自由に交換するユーザー数の二乗に比例して増加します。2人間の通信やスター型ネットワークトポロジーの場合は、この問題はそれほど深刻ではありません。
鍵マテリアルは使用後に安全に廃棄されなければならず、鍵マテリアルが再利用されないこと、および送信されたメッセージが保護されることを保証する必要があります。[ 2 ]鍵マテリアルはエンドポイント間で転送され、メッセージが送信または受信されるまで存続する必要があるため、保護対象の一時的な平文よりもフォレンジック復元に対して脆弱になる可能性があります(データの残留の可能性のため)。
従来使用されてきたワンタイムパッドはメッセージ認証を提供しないため、実際のシステムではセキュリティ上の脅威となる可能性があります。たとえば、メッセージに「明日午後3時30分にジェーンと会おう」という内容が含まれていることを知っている攻撃者は、既知の2つの要素(暗号化されたテキストと既知の平文)からパッドの対応するコードを直接導き出すことができます。攻撃者は、そのテキストを「午後3時30分の会議はキャンセルされました。家にいてください」など、まったく同じ長さの別のテキストに置き換えることができます。攻撃者がワンタイムパッドについて知っている情報は、このバイト長に限定されており、メッセージの他の内容が有効であるためには、このバイト長を維持する必要があります。これは、平文が必ずしも既知ではない可塑性[ 21 ]とは異なります。攻撃者は、メッセージを知らなくても、ワンタイムパッドで送信されたメッセージのビットを反転させることができ、受信者はそれを検出できません。類似点があるため、ワンタイムパッドに対する攻撃は、ストリーム暗号に対する攻撃と似ています。[ 22 ]
このような攻撃を防ぐための標準的な手法として、メッセージ認証コードの使用などが挙げられますが、これらはワンタイムパッドシステムと併用することで、可変長パディングやロシアンコピュレーションといった古典的な手法と同様に、OTP自体が持つような完全なセキュリティは持ち合わせていません。ユニバーサルハッシュは、任意のセキュリティ境界までメッセージを認証する方法を提供します(つまり、任意のp > 0に対して、十分に大きなハッシュ値を用いることで、計算能力に制限のない攻撃者であっても、偽造に成功する確率はp未満になります)。しかし、この方法ではパッドから追加のランダムデータを使用する必要があり、また、これらの手法の中には、コンピュータなしでシステムを実装する可能性を排除するものもあります。
実装が比較的容易であること、そして完全な秘密保持が期待できることから、ワンタイムパッドは暗号学を学ぶ学生の間で非常に人気が高い。特に、コースで最初に紹介され実装されるアルゴリズムであることが多いためだ。しかし、このような「最初の」実装では、情報理論的セキュリティの要件が1つ以上の点で満たされないことが多い。
問題点はあるものの、ワンタイムパッドには実用的な魅力が残っている。架空のスパイ活動のような状況では、ワンタイムパッドは鉛筆と紙だけで暗号化と復号化を手作業で計算できるため、有用となる可能性がある。他のほとんどの高品質暗号は、コンピュータなしでは全く実用的ではない。しかし、現代社会では、コンピュータ(携帯電話に組み込まれているものなど)が非常に普及しているため、従来の暗号化を実行できるコンピュータ(例えば、隠蔽された暗号化ソフトウェアを実行できる携帯電話)を所有していても、通常は疑われることはないだろう。
量子暗号におけるワンタイムパッドの一般的な用途は、量子鍵配送(QKD)との組み合わせです。QKDは、長い共有秘密鍵を安全かつ効率的に配布する方法を提供するため、通常ワンタイムパッドと関連付けられます(実用的な量子ネットワークハードウェアが存在することを前提としています)。QKDアルゴリズムは、量子力学システムの特性を利用して、2者が共有の一様ランダムな文字列に合意できるようにします。BB84などのQKDアルゴリズムは、敵対者が鍵情報を傍受しようとしたかどうかを判断することもでき、比較的少ないメッセージ交換と比較的低い計算オーバーヘッドで共有秘密鍵に合意することを可能にします。大まかに言うと、これらの方式は、量子状態が破壊的に測定される方法を利用して秘密を交換し、改ざんを検出することで機能します。オリジナルのBB84論文では、QKDを介して配布される鍵を用いたワンタイムパッドは、完全に安全な暗号化方式であることが証明されました。[ 25 ]ただし、この結果は、QKD スキームが実際に正しく実装されていることを前提としています。実際の QKD システムに対する攻撃は存在します。たとえば、多くのシステムは、実際的な制約のために、鍵のビットごとに単一の光子 (または目的の量子状態にある他のオブジェクト) を送信しません。攻撃者は、メッセージに関連付けられた光子の一部を傍受して測定し、鍵に関する情報 (つまり、パッドに関する情報の漏洩) を取得すると同時に、同じ鍵のビットに対応する未測定の光子を転送することができます。[ 26 ] QKD とワンタイムパッドを組み合わせることで、鍵の再利用の要件を緩和することもできます。1982 年に、BennettとBrassard は、QKD プロトコルが、攻撃者が交換された鍵を傍受しようとしていることを検出しない場合、完全な秘密性を維持しながら鍵を安全に再利用できることを示しました。[ 27 ]
ワンタイムパッドはポスト量子暗号の一例である。なぜなら、完全な秘匿性とは、攻撃者の計算能力に依存しないセキュリティの定義だからである。したがって、量子コンピュータを持つ攻撃者であっても、ワンタイムパッドで暗号化されたメッセージについて、従来のコンピュータを持つ攻撃者よりも多くの情報を得ることはできない。
ワンタイムパッドは、1900 年代初頭から特別な状況で使用されてきました。1923 年に、ドイツの外交機関によって外交通信に使用されました。[ 28 ]ワイマール共和国の外交局は、1920 年頃からこの方法を使用し始めました。1920 年代に 2 件の政治的な理由でメッセージを公開したイギリスによるソ連の貧弱な暗号の解読( ARCOS 事件) により、ソ連は 1930 年頃までに何らかの目的でワンタイムパッドを採用するようになったようです。KGBのスパイも、最近では鉛筆と紙のワンタイムパッドを使用していたことが知られています。例としては、 1950 年代にニューヨーク市で逮捕され有罪判決を受けたルドルフ・アベル大佐や、1960 年代初頭にイギリスでスパイとして逮捕され有罪判決を受けた「クローガー夫妻」(つまり、モリスとロナ・コーエン) が挙げられます。どちらも物理的なワンタイムパッドを所持していました。
多くの国が機密性の高い通信にワンタイムパッドシステムを使用してきた。レオ・マークスは、イギリス特殊作戦執行部が第二次世界大戦中に事務所間の通信を暗号化するためにワンタイムパッドを使用していたと報告している。海外のエージェントとの通信に使用するワンタイムパッドは戦争末期に導入された。[ 12 ]イギリスのワンタイムテープ暗号機には、RockexやNoreenなどがある。ドイツのシュタージ・シュプラッハ・マシンもワンタイムテープを使用することができ、東ドイツ、ロシア、さらにはキューバも暗号化されたメッセージをエージェントに送信するために使用していた。[ 29 ]
第二次世界大戦中の音声スクランブラーSIGSALYも、一種のワンタイムシステムでした。信号の一端でノイズを加え、もう一端でノイズを除去しました。ノイズは、独自のペアで製造された大型シェラックレコードの形でチャネルの両端に分配されました。開始同期と長期的な位相ドリフトの両方の問題が発生し、システムが使用される前に解決する必要がありました。[ 30 ]
1962年のキューバ危機後に1963年に開設されたモスクワとワシントンDC間のホットラインは、商用ワンタイムテープシステムで保護されたテレプリンターを使用していた。各国はメッセージを暗号化するために使用するキーイングテープを用意し、相手国の大使館を経由して送信した。この場合のOTPのユニークな利点は、どちらの国もより機密性の高い暗号化方法を相手国に開示する必要がなかったことである。[ 31 ]
アメリカ陸軍特殊部隊はベトナムでワンタイムパッドを使用した。ワンタイムパッドと連続波無線伝送(モールス信号の搬送波)を用いたモールス信号により、秘密性と信頼性の高い通信の両方を実現した。[ 32 ]
1988年から、アフリカ民族会議(ANC)は、南アフリカ国外のANC指導者と国内の工作員との間の安全な通信システムの一部として、ディスクベースのワンタイムパッドを使用していた。これは、南アフリカ国内に抵抗ネットワークを構築することに成功した作戦「Vula」 [ 33 ]の一環であった。ディスク上の乱数は使用後に消去された。ベルギー人客室乗務員が運び屋としてパッドディスクを運んだ。ディスクはかなり早く使い切られたため、新しいディスクを定期的に補充する必要があった。このシステムの問題点の1つは、安全なデータストレージには使用できなかったことである。後にVulaは、この問題を解決するためにブックコードで鍵付けされたストリーム暗号を追加した。[ 34 ]
関連する概念として、ワンタイムコードがあります。これは一度だけ使用される信号で、例えば「任務完了」を表す「アルファ」、「任務失敗」を表す「ブラボー」、あるいは「フランス領北アフリカへの連合軍の侵攻」を表す「トーチ」 [ 35 ]などは、いかなる意味でも「解読」することはできません。メッセージを理解するには、多くの場合、繰り返しの「深さ」やトラフィック分析といった追加情報が必要になります。しかし、このような戦略は(実際の工作員や野球のコーチによってよく使われますが)[ 36 ]、重要な意味では暗号化ワンタイムパッドではありません。
少なくとも1970年代まで、米国国家安全保障局(NSA)は、汎用および特殊用途の両方のさまざまな手動ワンタイムパッドを製造しており、1972会計年度には86,000枚のワンタイムパッドが製造された。特殊用途パッドは、NSAが「プロフォーマ」システムと呼ぶもの向けに製造されたもので、「すべてのメッセージテキストの基本的な枠組み、形式、またはフォーマットは同一またはほぼ同じであり、メッセージごとに同じ種類の情報が同じ順序で提示され、数値などの特定の値のみが各メッセージで変化する」システムである。例としては、核ミサイル発射メッセージや無線方向探知報告(COMUS)などが挙げられる。[ 37 ]: pp.16-18
汎用パッドは、ランダムな文字の単純なリスト(DIANA)や数字のみのリスト(CALYPSO)、秘密工作員向けの小型パッド(MICKEY MOUSE)、そして密度は低いものの短いメッセージをより迅速に暗号化できるように設計されたパッドなど、いくつかの形式で製造されました。例えば、ORIONは、片面に50行の平文アルファベット、もう片面に対応するランダムな暗号文の文字が並んでいました。カーボン紙の上にシートを置き、カーボン面を上にすると、片面の各行の文字を丸で囲むことができ、カーボン紙によってもう片面の対応する文字が丸で囲まれます。このように、ORIONシート1枚で最大50文字のメッセージを迅速に暗号化または復号化することができました。ORIONパッドの製造には両面を正確に位置合わせして印刷する必要があり、これは困難な作業であったため、NSAは25行のアルファベットとランダムな文字がペアになった別のパッド形式であるMEDEAに切り替えました。(図については、Commons:Category:NSA one-time padsを参照してください。)
NSAはまた、「CIAと特殊部隊の中央本部が、現場の個々のパッド保持者との間でやり取りされる多数の個別のワンタイムパッドメッセージを効率的に処理できるように」自動化システムを構築した。[ 37 ]: pp.21-26
第二次世界大戦中から1950年代にかけて、米国はワンタイムテープシステムを広く利用した。ワンタイムテープで保護された回線は、機密性を提供するだけでなく、トラフィックがないときでも継続的に動作し、トラフィック分析から保護した。1955年、NSAは約166万ロールのワンタイムテープを製造した。各ロールは直径8インチ、10万文字、166分間持続し、製造コストは4.55ドルだった。1972年までに製造されたロールはわずか5万5000ロールで、ワンタイムテープはSIGTOTなどのローターマシン、そして後にシフトレジスタに基づく電子機器に置き換えられた。[ 37 ]: pp.39-44 NSAは、 1957年に電子暗号ベースのKW-26が導入されるまで、 5-UCOやSIGTOTなどのワンタイムテープシステムが諜報トラフィックに使用されていたと説明している。 [ 38 ]
ワンタイムパッドは、正しく生成および使用すれば完全な機密性を提供するが、小さなミスでも暗号解読に成功してしまう可能性がある。
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク) PACS 番号: 01.10.Fv、03.67.Dd、89.70.+c 、そして公然とロシア語でКвантовая криптография и теоремы В.А。 Котельникова об одноразовых ключах и об отсчетах。 УФНソ連のKGB暗号資料製造センターは、どうやらワンタイムパッドのページの一部を再利用していたようだ。これが
アーリントンホール
に突破口を与えた。
アーリントンホールのヴェノナメッセージの解読能力は、基となるコード、キーの変更、およびボリュームの不足によって、ばらつきがあった。KGBニューヨーク事務所からモスクワへのメッセージトラフィックのうち、1944年のメッセージの49パーセントと1943年のメッセージの15パーセントは解読可能であったが、1942年のメッセージではわずか1.8パーセントであった。1945年のKGBワシントン事務所からモスクワへのメッセージでは、解読可能だったのはわずか1.5パーセントであった。 1943年のGRU(ロシア連邦軍参謀本部情報総局)と海軍の間でワシントンからモスクワ、またはモスクワからワシントンに送られたメッセージの約50%が読まれたが、他の年のメッセージは全く読まれなかった。
私たちのシステムはワンタイムパッドに基づいていましたが、紙のパッドの代わりに乱数はディスクに保存されていました。