
暗号解読(ギリシャ語のkryptós(隠された)とanalýein(分析する)に由来)は、情報システムを分析してシステムの隠された側面を理解するプロセスを指します。[ 1 ]暗号解読は、暗号鍵が不明な場合でも、暗号セキュリティシステムを突破して暗号化されたメッセージの内容にアクセスするために使用されます。
暗号アルゴリズムの数学的分析に加えて、暗号解析には、暗号アルゴリズム自体の弱点を狙うのではなく、その実装の弱点を悪用する サイドチャネル攻撃の研究も含まれます。
暗号解読の目的は同じであるにもかかわらず、暗号の歴史を通して、暗号解読の方法と技術は劇的に変化してきました。暗号の複雑さの増大に適応し、過去の紙とペンによる方法から、第二次世界大戦中のブレッチリー・パークにあったイギリスのボンブやコロッサスといった機械、そして現代の数学的に高度なコンピュータ化された方式まで、その変化は多岐にわたります。現代の暗号システムを解読する方法は、純粋数学において綿密に構築された問題を解くことを伴うことが多く、最もよく知られているのは因数分解です。
暗号化では、機密情報(「平文」と呼ばれる)は、まず送信者が暗号化アルゴリズムを使用して判読できない形式( 「暗号文」)に変換することで、受信者に安全に送信されます。暗号文は安全でないチャネルを介して受信者に送信されます。受信者は、逆復号化アルゴリズムを適用して暗号文を復号化し、平文を復元します。暗号文を復号化するには、受信者は送信者からの秘密の知識(通常は暗号鍵と呼ばれる文字、数字、またはビットの文字列)を必要とします。この概念は、権限のない人が送信中に暗号文にアクセスしたとしても、秘密鍵がなければそれを平文に戻すことができないというものです。
暗号化は歴史を通じて、軍事、外交、商業の重要なメッセージを送信するために使用されてきました。今日では、電子メールやインターネット通信を保護するためにコンピュータ ネットワークで広く使用されています。
暗号解読の目的は、第三者である暗号解読者が、元の( 「平文」 )について可能な限り多くの情報を入手し、暗号を「解読」して暗号文を読み取り、秘密鍵を入手して将来のメッセージを復号・解読できるようにすることです。[ 1 ]これを実現するための数学的手法は暗号攻撃と呼ばれます。暗号攻撃は、いくつかの方法で特徴付けることができます。
暗号解読攻撃は、攻撃者がどのような種類の情報を持っているかによって分類できる。基本的な出発点として、解析の目的上、一般的なアルゴリズムは既知であると仮定するのが一般的である。これはシャノンの格言「敵はシステムを知っている」[ 2 ]であり、これはケルクホフスの原理に相当する。[ 3 ]これは実際には妥当な仮定である。歴史上、スパイ活動、裏切り、リバースエンジニアリングなどを通じて、秘密のアルゴリズムが広く知られるようになった例は無数にある。(また、純粋な推論によって暗号が解読された例もある。例えば、ドイツのローレンツ暗号、日本のパープル暗号、そして様々な古典的な暗号など)。[ 4 ]
攻撃は、必要なリソースによっても特徴付けられます。これらのリソースには以下が含まれます。[ 5 ]
これらの数値を正確に予測することは、特に攻撃を実際にテストするために実装することが現実的でない場合は難しい場合があります。しかし、学術的な暗号解読者は、攻撃の難易度の少なくとも推定値を提示する傾向があり、例えば「SHA-1の衝突は現在2 52です」などと述べています。[ 6 ]
ブルース・シュナイアーは、計算上不可能な攻撃であっても、暗号解読とみなされる可能性があると指摘している。「暗号解読とは、総当たり攻撃よりも少ない複雑さで悪用できる暗号の弱点を見つけることに過ぎません。総当たり攻撃には2,128回の暗号化が必要になるかもしれませんが、 2,110回の暗号化を必要とする攻撃は暗号解読とみなされます。簡単に言えば、暗号解読は認証上の弱点、つまり暗号が宣伝どおりに機能していないという証拠となるのです。」[ 7 ]
暗号解読の結果の有用性も様々です。暗号学者のラース・クヌーセン(1998)は、発見された秘密情報の量と質に応じて、 ブロック暗号に対する様々な種類の攻撃を分類しました。
学術的な攻撃は、多くの場合、暗号システムの弱体化バージョン、例えばラウンド数を減らしたブロック暗号やハッシュ関数などに対して行われます。多くの攻撃は、ラウンド数を増やすにつれて実行が指数関数的に困難になりますが、全てではありません。 [ 8 ]そのため、ラウンド数を減らしたバージョンが弱くても、暗号システム全体が強力である可能性があります。しかしながら、元の暗号システムの破綻に近づくような部分的な解読は、完全な解読につながる可能性があります。DES 、MD5、SHA-1への成功した攻撃はすべて、弱体化バージョンへの攻撃が先行していました。
学術的な暗号学では、ある方式の弱点や突破口は通常、かなり保守的に定義される。つまり、非現実的な時間、メモリ、あるいは既知の平文が必要となるかもしれない。また、攻撃者が現実世界の多くの攻撃者が実行できないようなことを実行できる必要がある場合もある。例えば、攻撃者は暗号化する特定の平文を選択したり、秘密鍵に関連する複数の鍵を使って平文を暗号化するよう要求したりする必要があるかもしれない。さらに、それによって明らかになる情報はごくわずかで、暗号システムが不完全であることを証明するには十分だが、現実世界の攻撃者にとって有用となるには少なすぎるかもしれない。最後に、ある攻撃は、システム全体を破るためのステップとして、ラウンド数を減らしたブロック暗号のような、暗号ツールの弱体化バージョンにのみ適用されるかもしれない。[ 7 ]
暗号解読は暗号技術と共に進化を遂げてきました。暗号技術の歴史を通して、その競争の軌跡を辿ることができます。古い解読不能な設計を置き換えるために新しい暗号が設計され、改良された暗号を解読するために新しい暗号解読技術が発明されたのです。実際には、これらはコインの表裏のように捉えられています。安全な暗号技術には、暗号解読の可能性に対する設計が必要です。

「暗号解読」という言葉自体は比較的新しい(1920年にウィリアム・フリードマンによって造語された)が、暗号や暗号文を解読する方法ははるかに古い。デイヴィッド・カーンは著書『暗号解読者』の中で、暗号解読方法を体系的に記録した最初の人物はアラブの学者であったと述べている。[ 9 ]
暗号解読法に関する最初の記録は、 9世紀のアラブの博学者アル・キンディー(801年頃-873年、ヨーロッパでは「アルキンドゥス」としても知られる)[ 10 ] [ 11 ]によるもので、彼は『暗号解読に関する写本』の中で、頻度分析法について初めて記述している。[ 12 ]そのため、アル・キンディーは史上初の暗号解読者とみなされている。[ 13 ]彼の画期的な研究は、アル・ハリール(717年-786年)の影響を受けており、彼は『暗号解読書』を著した。この書には、母音の有無にかかわらず、すべてのアラビア語単語を列挙するために、順列と組み合わせを初めて用いた。[ 14 ]
頻度分析は、ほとんどの古典暗号を解読するための基本的なツールです。自然言語では、アルファベットの特定の文字が他の文字よりも頻繁に出現します。例えば、英語では「E 」が平文サンプルの中で最も頻繁に出現する文字である可能性が高いです。同様に、二重音字「TH」は英語で最も出現頻度の高い文字ペアです。頻度分析は、暗号がこれらの統計を隠蔽できないことを前提としています。例えば、単純な置換暗号(各文字を別の文字に置き換えるだけの暗号)では、暗号文の中で最も頻繁に出現する文字は「E」の候補となる可能性が高いでしょう。したがって、暗号文が十分に長く、そこに含まれるアルファベットの文字数を適度に代表する数を示すことができれば、このような暗号の頻度分析は比較的容易です。[ 15 ]
アル=キンディーによる、単一アルファベット換字式暗号を解読するための頻度分析技術の発明[ 16 ] [ 17 ]は、第二次世界大戦までの暗号解読における最も重要な進歩であった。アル=キンディーの『ムアンマの書』には、多アルファベット暗号、暗号の分類、アラビア語の音声学と構文を含む最初の暗号解読技術が記述されており、最も重要なのは、頻度分析に関する最初の記述である。[ 18 ]彼はまた、暗号化の方法、特定の暗号化の暗号解読、アラビア語の文字と文字の組み合わせの統計分析についても取り上げている。[ 19 ] [ 12 ]イブン・アドラン(1187–1268)の重要な貢献は、頻度分析を使用するためのサンプルサイズに関するものであった。[ 14 ]
ヨーロッパでは、イタリアの学者ジャンバティスタ デッラ ポルタ(1535 ~ 1615 年) が、暗号解読に関する独創的な著作『 De Furtivis Literarum Notis』の著者でした。[ 20 ]
暗号解読の成功は間違いなく歴史に影響を与えてきました。他者の秘密とされる考えや計画を読み取る能力は、決定的な強みとなり得ます。例えば、1587年のイングランドでは、スコットランド女王メアリーがエリザベス1世暗殺を企てた3つの陰謀に関与したとして、反逆罪で裁判にかけられ処刑されました。陰謀の計画が明るみに出たきっかけは、メアリーと共謀者たちの間で交わされた暗号化された書簡がトーマス・フェリプスによって解読されたことでした。
15世紀から16世紀のヨーロッパでは、フランスの外交官ブレーズ・ド・ヴィジュネル(1523–1596)をはじめとする研究者によって、多文字換字式暗号のアイデアが考案されました。 [ 21 ]約3世紀の間、繰り返し鍵を用いて異なる暗号文字を順番に選択するヴィジュネル暗号は、完全に安全であると考えられていました( le chiffre indéchiffrable、「解読不可能な暗号」)。しかし、チャールズ・バベッジ(1791–1871)と、後には独立してフリードリヒ・カシスキ(1805–1881)がこの暗号を解読することに成功しました。[ 22 ]第一次世界大戦中、いくつかの国の発明家は、ヴィジュネル暗号を解読するために利用されていた繰り返しを最小限に抑える試みとして、アーサー・シェルビウスのエニグマのような回転式暗号機を開発しました。[ 23 ]

第一次世界大戦では、ツィンメルマン電報の解読がアメリカ合衆国の参戦を決定づける大きな要因となった。第二次世界大戦では、連合国はドイツの暗号(エニグマ暗号やローレンツ暗号など)と日本の暗号(特に「パープル暗号」とJN-25暗号)の共同解読に成功し、多大な利益を得た。「ウルトラ」諜報活動は、ヨーロッパ戦争の終結を最大2年早めることや、最終的な帰結を決定づけることなど、あらゆる面で功績を残したとされている。太平洋戦争においても同様に「マジック」諜報活動が貢献した。[ 24 ]
敵のメッセージの暗号解読は、第二次世界大戦における連合国の勝利に重要な役割を果たした。FWウィンターボサムは、終戦時に連合国最高司令官ドワイト・D・アイゼンハワーがウルトラ諜報活動が連合国の勝利に「決定的」であったと述べたことを引用している。[ 25 ]第二次世界大戦における英国情報部の公式歴史家、ハリー・ヒンズリー卿も同様の評価を下し、ウルトラ諜報活動は戦争を「少なくとも2年、おそらく4年」短縮したと述べている。さらに、ウルトラ諜報活動がなければ、戦争がどのように終結したかは不明であると彼は述べている。[ 26 ]
実際には、頻度分析は統計学と同様に言語的知識にも大きく依存していますが、暗号がより複雑になるにつれて、暗号解読において数学の重要性が増しました。この変化は特に第二次世界大戦前と戦時中に顕著で、枢軸国の暗号解読には新たなレベルの数学的洗練が求められました。さらに、暗号解読における自動化は、ポーランドのボンバ暗号、イギリスのボンベ暗号、パンチカード装置、そしてプログラム制御された最初の電子デジタルコンピュータであるコロッサスコンピュータによって初めて実現されました。[ 27 ] [ 28 ]
第二次世界大戦中にナチス・ドイツが使用したローレンツ暗号やエニグマ暗号のような相互機械暗号では、各メッセージには独自の鍵が与えられていた。通常、送信側のオペレータは、暗号化されたメッセージの前に平文または暗号文を送信することで、受信側のオペレータにこのメッセージ鍵を知らせていた。これは受信側のオペレータに、メッセージを解読するための機械の設定方法を示すため、 「インジケータ」と呼ばれる。 [ 29 ]
設計・実装が不十分だった指標システムにより、まずポーランドの暗号学者[ 30 ]、次いでブレッチリー・パークのイギリスの暗号学者[ 31 ]がエニグマ暗号を解読することができた。同様に不十分だった指標システムにより、イギリスはローレンツSZ40/42暗号の解読に繋がる深度を特定し、暗号解読者が暗号機を見ることなくそのメッセージを徹底的に解読することができた。[ 32 ]
同じ鍵で2つ以上のメッセージを送信することは安全ではない。暗号解読者にとって、これらのメッセージは「詳細」であると言える。[ 33 ] [ 34 ]これは、送信オペレータが受信オペレータにメッセージの鍵生成器の初期設定を通知する際に使用するインジケータが、メッセージに共通していることで検出される可能性がある。[ 35 ]
一般的に、暗号解読者は、一連のメッセージ間で同一の暗号化操作を並べることで利益を得ることができます。例えば、バーナム暗号は、「排他的論理和」演算子(「モジュロ2加算」(⊕で表記)とも呼ばれる)を用いて、平文と長い鍵をビットごとに組み合わせることで暗号化を行います。
解読では、同じキービットを暗号文と組み合わせて平文を再構築します。
(モジュロ 2 の演算では、加算は減算と同じです。) このような 2 つの暗号文が深さ方向に揃えられている場合、それらを組み合わせると共通キーが削除され、2 つの平文の組み合わせだけが残ります。
個々の平文は、さまざまな場所で「cribs」とも呼ばれる可能性のある単語(またはフレーズ)を試すことによって言語的に解明できます。正しい推測は、マージされた平文ストリームと組み合わせると、他の平文コンポーネントから理解可能なテキストを生成します。
復元された2番目の平文の断片は、多くの場合、片方向または両方向に拡張することができ、追加された文字は結合された平文ストリームと結合されて1番目の平文を拡張することができます。2つの平文を行き来し、理解可能性基準を用いて推測を検証することで、解析者は元の平文の大部分またはすべてを復元できる可能性があります。(平文が2つしかない場合、解析者はどの平文がどの暗号文に対応しているかを判断できない可能性がありますが、実際には大きな問題にはなりません。)復元された平文をその暗号文と結合すると、鍵が明らかになります。
鍵の知識があれば、解析者は同じ鍵で暗号化された他のメッセージを読むことができ、関連する鍵のセットの知識があれば、暗号解読者はそれらの構築に使用されたシステムを診断できる可能性がある。[ 32 ]
政府は軍事と外交の両方の諜報活動における暗号解読の潜在的利点を長い間認識しており、GCHQやNSAなど、他国のコードや暗号を解読することに特化した組織を設立しており、これらの組織は現在でも非常に活発に活動しています。

第二次世界大戦中、ローレンツ暗号をはじめとする暗号解読において計算機が大きな効果を発揮したにもかかわらず、計算機はそれ以前には考えられないほど複雑な暗号技術の発展を可能にしました。全体として見ると、現代の暗号は過去の紙とペンによる暗号解読よりもはるかに難解になり、純粋な暗号解読に対して優位に立っているように見えます。歴史家デイヴィッド・カーンは次のように述べています。 [ 36 ]
今日、数百もの商用ベンダーが提供する暗号システムの多くは、既知のいかなる解読法でも解読できません。実際、そのようなシステムでは、選択された平文とその暗号文を照合する選択平文攻撃でさえ、他のメッセージを解読する鍵を得ることができません。つまり、ある意味では、暗号解読は死んだと言えるでしょう。しかし、これで話は終わりではありません。暗号解読は死んだかもしれませんが、たとえ比喩を混ぜて言えば、「猫の皮を剥ぐ」方法は一つではないのです。
カーン氏はさらに、従来の暗号解読手段に代わる傍受、盗聴、サイドチャネル攻撃、そして量子コンピュータの利用機会の増加についても言及している。2010年、元NSA技術ディレクターのブライアン・スノー氏は、学術界と政府機関の暗号研究者は「成熟した分野において、非常にゆっくりと前進している」と述べた。[ 37 ]
しかし、暗号解読の事後検証は時期尚早かもしれない。諜報機関が用いる暗号解読手法の有効性は未だ不明であるものの、現代のコンピュータ暗号技術においては、学術的および実用的な暗号プリミティブに対する深刻な攻撃が数多く公開されている。[ 38 ]
したがって、現代の最高の暗号はエニグマよりもはるかに解読に耐性があるかもしれないが、暗号解読と情報セキュリティのより広い分野は依然として非常に活発である。[ 39 ]
非対称暗号(または公開鍵暗号)は、数学的に関連する2つの鍵(秘密鍵と公開鍵)を用いる暗号です。このような暗号は、その安全性の根拠として必ず「難しい」数学的問題に依存しているため、その問題を解く方法を開発することが明白な攻撃対象となります。2鍵暗号の安全性は、単一鍵暗号では一般的に見られないような数学的問題に依存しており、逆に暗号解読をより広範な数学研究と新たな形で結びつけています。[ 40 ]
非対称暗号方式は、様々な数学的問題を解くことの(推測された)困難さに基づいて設計されています。もし、その問題を解決するための改良アルゴリズムが見つかれば、システムは弱体化します。例えば、Diffie-Hellman鍵交換方式のセキュリティは、離散対数の計算の難しさに依存しています。1983年、ドン・コッパースミスは(特定のグループにおける)離散対数を求めるより高速な方法を発見し、暗号学者はより大きなグループ(または異なるタイプのグループ)を使用する必要が生じました。RSAのセキュリティは(部分的に)因数分解の難しさに依存しており、因数分解におけるブレークスルーはRSAのセキュリティに影響を与えるでしょう。[ 41 ]
1980 年には、50 桁の難しい数を因数分解するのに 10 の12 乗の基本的なコンピュータ演算が必要でした。1984 年までには、因数分解アルゴリズムの最先端技術は進歩し、75 桁の数を 10 の12乗の演算で因数分解できるようになりました。コンピューティング技術の進歩によって、演算の実行速度も大幅に向上しました。ムーアの法則では、コンピュータの速度は今後も向上し続けると予測されています。因数分解の手法も引き続き進歩する可能性がありますが、それはおそらく数学的な洞察力と創造性に依存することになり、どちらもこれまで正確に予測することはできませんでした。かつて RSA で使用されていたような 150 桁の数は、因数分解されています。その労力は上記よりも大きくなりましたが、現代の高速コンピュータでは不合理なものではありません。21 世紀初頭までに、150 桁の数はRSA の鍵サイズとしてはもはや十分ではないと見なされるようになりました。 2005 年には、数百桁の数字を因数分解するのはまだ難しいと考えられていましたが、おそらく時間の経過とともに方法は改善され、それに追いつくにはキーのサイズが必要になったり、楕円曲線暗号などの他の方法を使用したりする必要が生じたりします。
非対称方式のもう一つの特徴は、対称暗号システムへの攻撃とは異なり、あらゆる暗号解読において公開鍵から得られた知識を利用できることである。[ 42 ]
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2012年4月) |
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2012年4月) |
まだ研究の初期段階にある量子コンピュータは、暗号解読への応用が期待されています。例えば、ショアのアルゴリズムは、大きな数を多項式時間で因数分解することができ、実質的には、一般的に使用されている公開鍵暗号の一部を解読することができます。[ 43 ]
グローバーのアルゴリズムを量子コンピュータに適用することで、総当たり鍵探索を2乗倍に高速化できます。ただし、鍵長を2倍にすることで、この速度は抑制されます。[ 44 ]
アル=キンディーは最初の暗号解読者とみなされている