
暗号化または暗号学[ 1 ]は、敵対的行為がある場合でも安全な通信を行う技術の実践と研究です。 [ 2 ]より一般的には、暗号化とは、第三者や一般の人がプライベートなメッセージを読むことを防ぐプロトコルの構築と分析です。 [ 3 ]現代の暗号化は、数学、コンピュータサイエンス、情報セキュリティ、電気工学、デジタル信号処理、物理学などの分野の交差点に存在します。 [ 4 ]情報セキュリティに関する中核概念(データの機密性、データの整合性、認証、否認不可) も暗号化の中心です。[ 5 ]暗号化の実際のアプリケーションには、電子商取引、チップベースの支払いカード、デジタル通貨、コンピュータパスワード、軍事通信などがあります。
近代以前の暗号技術は、暗号化と実質的に同義であり、判読可能な情報(平文)を意味不明なテキスト(暗号文)に変換するものでした。暗号文は、逆の手順(復号化)によってのみ解読可能です。暗号化(コード化)されたメッセージの送信者は、敵対者によるアクセスを防ぐために、復号化(デコード)技術を意図した受信者とのみ共有します。暗号に関する文献では、送信者を「アリス」(または「A」)、意図した受信者を「ボブ」(または「B」)、盗聴する敵対者を「イブ」(または「E」)と呼ぶことがよくあります。[ 6 ]第一次世界大戦におけるローター暗号機の開発と第二次世界大戦におけるコンピュータの出現以来、暗号技術はますます複雑になり、その応用範囲は多様化しています。
現代の暗号は、数学理論とコンピュータサイエンスの実践に大きく基づいています。暗号アルゴリズムは計算困難性仮定に基づいて設計されており、実際にはいかなる敵対者によっても解読が困難です。適切に設計されたシステムへの解読は理論的には可能ですが、実際には実行不可能です。したがって、そのような方式は、適切に設計されていれば「計算的に安全」と呼ばれます。理論的な進歩(例えば、因数分解アルゴリズムの改良)と高速コンピューティング技術により、これらの設計は継続的に再評価され、必要に応じて適応される必要があります。ワンタイムパッドのように、無制限の計算能力をもってしても解読不可能であることが証明できる情報理論的に安全な方式は、理論的には解読可能だが計算的に安全な最良の方式よりも、実際に使用するのがはるかに困難です。
暗号技術の発展は、情報化時代において多くの法的問題を引き起こしている。暗号はスパイ活動や扇動活動の道具として利用される可能性があるため、多くの政府は暗号を兵器と分類し、その使用や輸出を制限、あるいは禁止している。[ 7 ]暗号の使用が合法である一部の法域では、捜査官が捜査に関連する文書の暗号鍵の開示を強制することを法律で認めている。 [ 8 ] [ 9 ]暗号はまた、デジタルメディアに関するデジタル著作権管理や著作権侵害紛争においても重要な役割を果たしている。[ 10 ]

「暗号グラフ」(「暗号文」とは対照的)という用語の最初の使用は19世紀に遡り、エドガー・アラン・ポーの物語『黄金虫』に由来する。[ 11 ] [ 12 ]
近代まで、暗号学はほぼ専ら「暗号化」を指していました。これは、通常の情報(平文と呼ばれる)を解読不可能な形式(暗号文と呼ばれる)に変換するプロセスです。[ 13 ]復号はその逆、つまり解読不可能な暗号文を平文に戻すことです。暗号(またはサイファー)とは、暗号化と逆の復号化を実行する一対のアルゴリズムです。暗号の詳細な動作は、アルゴリズムと、それぞれの場合に「鍵」によって制御されます。鍵は秘密であり(理想的には通信相手だけが知っている)、通常は文字列(理想的にはユーザーが覚えやすいように短い文字列)で、暗号文を復号するために必要なものです。正式な数学用語で言えば、「暗号システム」とは、有限の可能な平文、有限の可能な暗号文、有限の可能な鍵、そしてそれぞれの鍵に対応する暗号化アルゴリズムと復号アルゴリズムの要素の順序付きリストです。鍵は形式的にも実用的にも重要です。可変鍵を持たない暗号は、使用されている暗号の知識さえあれば容易に解読できるため、ほとんどの用途では役に立たない(あるいは逆効果になる)からです。歴史的には、暗号は認証や整合性チェックなどの追加手続きを経ることなく、暗号化または復号に直接使用されることが多かったのです。
暗号システムには、対称暗号と非対称暗号の2つの主要な種類があります。1970年代まで唯一知られていた対称暗号システムでは、同じ秘密鍵がメッセージの暗号化と復号化に使用されます。対称暗号システムにおけるデータ操作は、非対称暗号システムよりも大幅に高速です。非対称暗号システムでは、メッセージの暗号化に「公開鍵」を使用し、復号化には関連する「秘密鍵」を使用します。非対称暗号システムの利点は、公開鍵を自由に公開できるため、関係者は秘密鍵を共有することなく安全な通信を確立できることです。実際には、非対称暗号システムはまず秘密鍵を交換し、その後、その鍵を用いてより効率的な対称暗号システムを介して安全な通信を行います。[ 14 ]非対称暗号システムの例としては、ディフィー・ヘルマン鍵交換、RSA(リベスト・シャミール・アドルマン)、ECC(楕円曲線暗号)、耐量子暗号などがあります。安全な対称アルゴリズムには、従来のDES(データ暗号化標準)に取って代わった、一般的に使用されているAES(高度暗号化標準)が含まれます。[ 15 ]安全でない対称アルゴリズムには、ピッグ・ラテン語やその他の隠語などの子供向けの言語絡み合いスキームや、20世紀初頭のワンタイムパッドの発明以前の、どんなに真剣に意図されていたとしても、すべての歴史的な暗号化スキームが含まれます。
日常会話において、「コード」という用語は、暗号化や意味の秘匿化といった手法を指すことが多い。しかし、暗号学においては、コードはより具体的な意味を持つ。つまり、平文(意味のある単語やフレーズ)をコードワードに置き換えること(例えば、「夜明けの攻撃」を「ワラビー」に置き換えること)である。一方、暗号とは、そのようなレベル以下の要素(文字、音節、文字のペアなど)を変更または置換することで暗号文を作成する手法である。
暗号解読とは、通常必要となる鍵にアクセスすることなく、暗号化された情報の意味を取得する方法を研究するために使用される用語です。つまり、暗号化アルゴリズムまたはその実装を「解読」する方法を研究することを意味します。
英語では「cryptography(暗号学)」と「cryptology(暗号学)」という用語を互換的に使用する人もいます[ 16 ]。一方、(一般的に米軍の軍事実践を含む)「cryptography(暗号学)」は暗号技術の使用と実践を指し、「cryptology(暗号学)」は暗号学と暗号解読を組み合わせた研究を指す場合もあります[ 17 ] 。 [ 18 ]英語は、暗号学者が行う「cryptology(暗号学)」が常に上記の2番目の意味で使用されている他の言語よりも柔軟性があります。RFC 2828では、 ステガノグラフィーがcryptologyに含まれる場合があると推奨されています[ 19 ]。
暗号学や暗号学に応用される言語の特性(例えば、頻度データ、文字の組み合わせ、普遍的なパターンなど)を研究する学問は、暗号言語学と呼ばれます。暗号言語学は、特に軍事情報分野で外国との通信を解読するために使用されます。[ 20 ] [ 21 ]
近代以前、暗号学はメッセージの機密性(すなわち暗号化)に重点を置いていました。つまり、メッセージを理解可能な形式から理解不可能な形式へ変換し、相手側で再び理解不可能な形式に戻すことで、秘密情報(つまり、そのメッセージを解読するために必要な鍵)を持たない傍受者や盗聴者による解読を不可能にする技術です。暗号化は、スパイ、軍の指導者、外交官などの通信における機密性を確保するために試みられました。近年、この分野は機密性への関心を超えて、メッセージの整合性チェック、送信者/受信者のID認証、デジタル署名、対話型証明、セキュアコンピューティングなどの技術を含むように拡大しています。

主要な古典的暗号の種類は、メッセージ内の文字の順序を入れ替える転置暗号(例えば、「hello world」はごく単純な入れ替えで「ehlol owrdl」になる)、および文字または文字グループを他の文字または文字グループに体系的に置き換える換字暗号(例えば、「fly at once」はラテンアルファベットで各文字を次の文字に置き換えることで「gmz bu podf」になる)である。[ 22 ]どちらの暗号も単純なバージョンでは、野心的な敵から十分な機密性を確保できなかった。初期の換字暗号はシーザー暗号で、平文の各文字がアルファベットの3つ下の文字に置き換えられた。[ 23 ]スエトニウスは、ユリウス・カエサルが将軍との通信に3つずらしたこの暗号を使用したと報告している。アトバシュは初期のヘブライ暗号の例である。暗号の使用として知られている最も古い例は、エジプトの石に刻まれた暗号文(紀元前 1900年頃)ですが、これは情報を隠すためというよりは、読み書きのできる観察者を楽しませるために行われたものと考えられます。
古典時代のギリシャ人は暗号を知っていたと言われている(例えば、スパルタ軍が使用したとされるスキュタレー転置暗号)。[ 24 ]ステガノグラフィー(つまり、メッセージの存在さえも秘密にすること)も古代に初めて開発された。ヘロドトスの初期の例では、奴隷の剃った頭にメッセージが入れ墨され、再生した髪の下に隠されていた。[ 13 ]その他のステガノグラフィーの手法には、音楽暗号を使用して暗号化されたメッセージを通常の楽譜の中に隠すなど、「明白な視界に隠す」ことが含まれる。より現代的なステガノグラフィーの例には、目に見えないインク、マイクロドット、デジタル透かしを使用して情報を隠すこと が含まれる。
インドでは、2000年前に書かれたカーマ・スートラ(ヴァーツヤーヤナ)において、カウティリヤムとムラヴェディヤと呼ばれる2種類の暗号が言及されています。カウティリヤムでは、母音が子音になるなど、音韻関係に基づいて暗号の文字が置き換えられます。ムラヴェディヤでは、暗号のアルファベットは文字を対にして、その逆の文字を用いることで構成されます。[ 13 ]
イスラム教の著述家イブン・アル=ナディムによれば、ササン朝ペルシアには2つの秘密文字があった。公式文書に使われたシャー・ダビーリーヤ(文字通り「王の文字」)と、他国との秘密のメッセージを伝達するために使われたラーズ・サハリーヤである。 [ 25 ]
デイヴィッド・カーンは『暗号解読者』の中で、現代の暗号学はアラブ人によって発祥し、彼らは暗号解読法を体系的に文書化した最初の人々であると述べている。[ 26 ]アル・ハリール(717-786)は『暗号文集』を著した。そこには、母音の有無にかかわらず、すべての可能なアラビア語の単語をリストするために順列と組み合わせが初めて使用された内容が含まれている。[ 27 ]

古典暗号(および一部の現代暗号)によって生成された暗号文は、平文に関する統計情報を明らかにし、その情報を用いて暗号を解読できる場合が多い。頻度分析の発見以降、ほぼすべてのそのような暗号は、情報に通じた攻撃者によって解読可能となった。[ 28 ]このような古典暗号は今日でも人気を博しているが、そのほとんどはパズルとしてである(暗号文を参照)。アラブの数学者で博学者のアル=キンディーは、暗号解読に関する著書『Risalah fi Istikhraj al-Mu'amma(暗号文解読のための手稿)』を著し、その中で頻度分析暗号解読技術が初めて使用されたことが知られている。[ 29 ] [ 30 ]


言語文字の頻度は、頻度分布を平坦化する傾向のあるホモフォニック暗号などの一部の拡張された歴史的暗号化技術にはほとんど役に立たない可能性があります。これらの暗号では、言語文字グループ(またはnグラム)の頻度が攻撃の糸口となる可能性があります。
基本的にすべての暗号は、1467 年頃にレオン・バッティスタ・アルベルティによって多アルファベット暗号が開発されるまで、頻度分析技術を使用した暗号解読に対して脆弱なままでしたが、アル・キンディーがそれを既に知っていたことを示す兆候もあります。 [ 30 ]アルベルティの革新は、メッセージのさまざまな部分(おそらく限界の連続する平文の各文字)に異なる暗号(つまり、置換アルファベット)を使用することでした。彼はまた、おそらく最初の自動暗号装置、つまり自身の発明の部分的な実現を実装したホイールを発明しました。多アルファベット暗号であるヴィジュネル暗号では、暗号化にキーワードを使用し、キーワードのどの文字が使用されているかに応じて文字の置換を制御します。19 世紀半ば、チャールズ・バベッジはヴィジュネル暗号がカシスキの検査に対して脆弱であることを示しましたが、これが最初に公表されたのは約 10 年後のフリードリヒ・カシスキでした。[ 31 ]
頻度分析は多くの暗号に対する強力かつ汎用的な手法ですが、暗号解読者の多くがこの手法を知らなかったため、暗号化は実際には依然として効果的であることが多かったのです。頻度分析を使用せずにメッセージを解読するには、基本的に使用されている暗号と、場合によっては関連する鍵についての知識が必要となり、暗号解読の知識のない者にとっては、スパイ活動、賄賂、窃盗、亡命などがより魅力的な手段となりました。19世紀になってようやく、暗号アルゴリズムの秘密はメッセージのセキュリティを守る現実的かつ実用的な手段ではないことが明確に認識されました。実際、たとえ敵が暗号アルゴリズム自体を完全に理解していたとしても、適切な暗号化方式(暗号を含む)は安全であるべきであることがさらに認識されました。使用される鍵のセキュリティのみで、優れた暗号が攻撃を受けても機密性を維持するのに十分なはずです。この基本原理は、1883 年にオーギュスト・ケルクホフスによって初めて明示的に述べられ、一般にケルクホフスの原理と呼ばれています。あるいは、より率直に言えば、情報理論と理論的暗号の基礎を発明したクロード・シャノンによって、 「敵はシステムを知っている」という シャノンの格言として言い直されました。
暗号の補助として、様々な物理的な装置や補助手段が使われてきた。最も初期のものの一つは、古代ギリシャのスキュタレであろう。これはスパルタ人が転置暗号の補助手段として使ったとされる棒である。中世には、暗号グリルなどの補助手段が発明され、これは一種のステガノグラフィーにも使われた。多アルファベット暗号の発明とともに、アルベルティ独自の暗号ディスク、ヨハネス・トリテミウスのタブラ・レクタ方式、トーマス・ジェファーソンのホイール暗号(公表されておらず、 1900年頃にバゼリーズが独自に再発明した)など、より洗練された補助手段が登場した。20世紀初頭には多くの機械式暗号化/復号化装置が発明され、いくつかは特許を取得している。その中には、ローター式暗号があり、有名なものとしては、1920年代後半から第二次世界大戦中にかけてドイツ政府と軍が使用したエニグマ暗号がある。[ 32 ]これらの機械設計のより高品質な例によって実装された暗号は、第一次世界大戦後の暗号解読の難易度を大幅に向上させました。[ 33 ]
新しい機械式暗号装置の解読は困難で骨の折れる作業であることが判明した。イギリスでは、第二次世界大戦中のブレッチリー・パークにおける暗号解読の取り組みが、軍事暗号解読(復号化)といった反復的な作業をより効率的に行う手段の開発を促した。これは、世界初の完全電子式デジタル・プログラマブル・コンピュータであるコロッサスの開発に繋がり、ドイツ軍のローレンツSZ40/42暗号機によって生成された暗号の解読に役立った。
暗号に関する広範な公開学術研究は比較的最近、1970年代半ばに始まりました。1970年代初頭、IBMの社員がデータ暗号化標準(DES)アルゴリズムを設計し、これが米国初の連邦政府暗号標準となりました。[ 34 ] 1976年、ホイットフィールド・ディフィーとマーティン・ヘルマンはディフィー・ヘルマン鍵交換アルゴリズムを発表しました。[ 35 ] 1977年、RSAアルゴリズムはマーティン・ガードナーのScientific American誌のコラムに掲載されました。[ 36 ]それ以来、暗号は通信、コンピュータネットワーク、そしてコンピュータセキュリティ全般において広く利用されるツールとなっています。
現代の暗号技術の中には、整数の因数分解や離散対数問題など、特定の数学的問題が解決不可能な場合にのみ鍵を秘密に保つことができるものがあり、抽象数学と深いつながりがあります。無条件に安全であることが証明されている暗号システムは非常に少ないです。ワンタイム パッドはその 1 つで、クロード シャノンによって証明されました。特定の仮定の下で安全であることが証明されている重要なアルゴリズムがいくつかあります。たとえば、非常に大きな整数の因数分解が不可能であることが、RSA や他のいくつかのシステムが安全であると信じる根拠となっていますが、それでも、根底にある数学的問題が未解決のままであるため、解読不可能性の証明は入手できません。実際には、これらのシステムは広く使用されており、ほとんどの有能な観察者によって実際には解読不可能であると信じられています。マイケル O. ラビンによるシステムなど、RSA に似たシステムがあり、 n = pq の因数分解が不可能であれば安全であることが証明されていますが、実際にはまったく使用できません。離散対数問題は、他の暗号システムが安全であると信じる根拠となるが、離散対数問題の解決可能性や解決不可能性に関連して、証明可能に安全である、実用性は低いが関連するシステムも存在する。[ 37 ]
暗号アルゴリズムおよびシステムの設計者は、暗号の歴史を熟知するだけでなく、設計を進める際に将来の発展の可能性についても賢明に考慮する必要がある。例えば、コンピュータ処理能力の継続的な向上により、ブルートフォース攻撃の範囲が拡大しており、鍵長を指定する際に必要な鍵長も同様に進化している。[ 38 ]量子コンピューティングの潜在的な影響は、耐量子暗号を開発している一部の暗号システム設計者によって既に考慮されている。これらのマシンの小規模実装が間近に迫っていることは、単なる憶測ではなく、予防的な注意の必要性を浮き彫りにしている可能性がある。[ 5 ]
クロード・シャノンの2つの論文、 1948年の情報理論に関する論文と、特に1949年の暗号に関する論文は、現代暗号の基礎を築き、将来の暗号の数学的基盤を提供しました。[ 39 ] [ 40 ] 1949年の論文は、「暗号と暗号解読のための確固たる理論的基盤」を提供したとされ、[ 41 ]暗号を「芸術から科学へ」変えたとされています。[ 42 ]彼の貢献と業績の結果、彼は「現代暗号の創始者」と呼ばれています。[ 43 ]
20世紀初頭以前、暗号学は主に言語的および辞書的パターンを対象としていました。それ以降、暗号学は対象範囲を広げ、現在では情報理論、計算複雑性、統計学、組合せ論、抽象代数、数論、有限数学といった数学の分野を広く利用しています。[ 44 ]暗号学は工学の一分野でもありますが、能動的、知的、そして悪意のある抵抗を扱うという点で異例な分野です。一方、他の工学分野(例えば土木工学や化学工学)は、中立的な自然力のみを扱います。暗号学の問題と量子物理学の関係を研究する研究も活発に行われています。
デジタルコンピュータと電子機器の発達は暗号解読に役立ったのと同様に、はるかに複雑な暗号も可能にした。さらに、コンピュータでは、書き言葉のテキストのみを暗号化した古典的な暗号とは異なり、バイナリ形式で表現できるあらゆる種類のデータの暗号化が可能になった。これは新しく重要なことだった。こうして、コンピュータの使用は、暗号の設計と暗号解読の両方において、言語暗号に取って代わった。多くのコンピュータ暗号は、一般に従来の文字(文字と数字)を直接操作する古典的および機械的な方式とは異なり、バイナリビットシーケンス(場合によってはグループまたはブロック)を操作するという特徴がある。ただし、コンピュータは暗号解読にも役立っており、暗号の複雑さの増大をある程度補っている。とはいえ、優れた現代の暗号は暗号解読を上回っている。通常、高品質の暗号の使用は非常に効率的 (つまり、高速で、メモリや CPU 能力などのリソースをほとんど必要としない) ですが、それを解読するには、従来の暗号に必要な労力よりも桁違いに大きい労力が必要になるため、暗号解読は非常に非効率的かつ非実用的になり、事実上不可能になります。
実用的な量子コンピュータはRSA、ディフィー・ヘルマン、ECCといった広く普及している公開鍵暗号を破ってしまうため、耐量子暗号(PQC)の研究が活発化している。2017年にNature誌に掲載されたレビューでは、主要なPQCファミリー(格子ベース、コードベース、多変数二次方程式、ハッシュベース)を概説し、大規模な量子コンピュータが利用可能になるずっと前に標準化と展開を進める必要があることを強調している。[ 45 ]

対称鍵暗号とは、送信者と受信者が同じ鍵を共有する(あるいは、あまり一般的ではないが、それぞれの鍵は異なるが、容易に計算できる方法で関連している)暗号化方式を指す。これは1976年6月まで公に知られていた唯一の暗号化方式であった。[ 35 ]

対称鍵暗号は、ブロック暗号またはストリーム暗号のいずれかとして実装されます。ブロック暗号は、ストリーム暗号で使用される個々の文字ではなく、平文のブロック単位で入力を暗号化します。
データ暗号化標準(DES)と高度暗号化標準(AES)は、米国政府によって暗号標準に指定されたブロック暗号設計です(ただし、DESの指定はAESの採用後に最終的に取り消されました)。 [ 46 ]公式標準としては廃止されたにもかかわらず、DES(特に現在も承認されており、はるかに安全なトリプルDES )は依然として非常に人気があり、ATM暗号化[ 47 ]から電子メールのプライバシー[ 48 ]、安全なリモートアクセスまで、幅広いアプリケーションで使用されています。[ 49 ]他にも多くのブロック暗号が設計・リリースされていますが、品質にはかなりのばらつきがあります。FEALのように、有能な専門家によって設計されたものでさえ、完全に解読されたものが多くあります。[ 5 ] [ 50 ]
ストリーム暗号は、「ブロック」型とは対照的に、任意の長さの鍵素材のストリームを作成し、それを平文とビットごとまたは文字ごとに組み合わせる。これはワンタイムパッドに似ている。ストリーム暗号では、暗号の動作に応じて変化する隠された内部状態に基づいて出力ストリームが作成される。その内部状態は、秘密鍵素材を使用して最初に設定される。RC4は広く使用されているストリーム暗号である。[ 5 ]ブロック暗号は、(擬似乱数生成器の代わりに)鍵ストリームのブロックを生成し、平文の各ビットと鍵ストリームの各ビットのXOR演算を適用することで、ストリーム暗号として使用することができる。[ 51 ]
メッセージ認証コード(MAC)は暗号化ハッシュ関数によく似ていますが、受信時にハッシュ値を認証するために秘密鍵を使用できる点が異なります。[ 5 ] [ 45 ]この追加の複雑さにより、単純なダイジェスト アルゴリズムに対する攻撃スキームがブロックされるため、取り組む価値があると考えられてきました。 暗号化ハッシュ関数は、3 番目の種類の暗号化アルゴリズムです。任意の長さのメッセージを入力として受け取り、短い固定長のハッシュを出力します。このハッシュは、デジタル署名などに使用できます。優れたハッシュ関数であれば、攻撃者は同じハッシュを生成する 2 つのメッセージを見つけることができません。MD4 は、長く使用されていたハッシュ関数ですが、現在は破られています。MD4を強化したMD5も広く使用されていますが、実際には破られています。米国国家安全保障局は、 MD5 に似たハッシュ関数のセキュア ハッシュ アルゴリズム シリーズを開発しました。SHA-0 は欠陥のあるアルゴリズムであったため、国家安全保障局は撤回しました。SHA-1は広く導入されており、MD5よりも安全ですが、暗号解読者はそれに対する攻撃を特定しています。SHA -2ファミリーはSHA-1を改良したものですが、2011年時点で衝突に対して脆弱です。そして、米国標準化機関は、セキュリティの観点から「NISTのハッシュアルゴリズムツールキット全体の堅牢性を大幅に向上させる」新しい標準を開発することが「賢明」だと考えました。[ 52 ]そのため、ハッシュ関数設計コンペティションは、2012年までにSHA-3と呼ばれる新しい米国国家標準を選択することを目的としていました。このコンペティションは、NISTがKeccakを新しいSHA-3ハッシュアルゴリズムにすると発表した2012年10月2日に終了しました。 [ 53 ]可逆なブロック暗号やストリーム暗号とは異なり、暗号ハッシュ関数は、元の入力データを取得するために使用できないハッシュ出力を生成します。暗号化ハッシュ関数は、信頼できないソースから取得したデータの信頼性を検証したり、セキュリティ層を追加したりするために使用されます。

対称鍵暗号システムでは、メッセージの暗号化と復号に同じ鍵を使用しますが、メッセージまたはメッセージグループはそれぞれ異なる鍵を持つことができます。対称暗号の大きな欠点は、安全に使用するためには鍵管理が必要となることです。理想的には、通信を行う各当事者はそれぞれ異なる鍵を共有しなければならず、交換される暗号文ごとに異なる鍵を共有する必要がある場合もあります。必要な鍵の数はネットワークメンバー数の2乗に比例して増加するため、すべての鍵の一貫性と機密性を維持するためには、すぐに複雑な鍵管理スキームが必要になります。

1976年の画期的な論文で、ホイットフィールド・ディフィーとマーティン・ヘルマンは、公開鍵暗号(より一般的には非対称鍵暗号とも呼ばれる)の概念を提唱しました。この暗号では、公開鍵と秘密鍵という、異なるものの数学的に関連する2つの鍵が使用されます。[ 54 ]公開鍵暗号システムは、2つの鍵(「秘密鍵」)が必然的に関連しているにもかかわらず、一方の鍵(「公開鍵」)をもう一方の鍵(「公開鍵」)から計算することは計算上不可能であるように構築されています。代わりに、両方の鍵は相互に関連するペアとして秘密裏に生成されます。[ 55 ]歴史家のデイビッド・カーンは、公開鍵暗号を「ルネサンス期に多アルファベット置換が登場して以来、この分野における最も革新的な新概念」と評しました。[ 56 ]
公開鍵暗号システムでは、公開鍵は自由に配布できますが、対となる秘密鍵は秘密に保持する必要があります。公開鍵は暗号化に使用され、秘密鍵(秘密鍵)は復号化に使用されます。ディフィーとヘルマンはそのようなシステムを見つけることはできませんでしたが、ディフィー・ヘルマン鍵交換プロトコルを提示することで、公開鍵暗号が実際に可能であることを示しました。このプロトコルは現在、安全な通信において、二者間で秘密裏に共有暗号鍵に合意することを可能にするために広く使用されています。[ 35 ] X.509 標準は、公開鍵証明書の最も一般的に使用される形式を定義しています。[ 57 ]
ディフィーとヘルマンの論文発表は、実用的な公開鍵暗号システムを見つけるための広範な学術的取り組みを巻き起こしました。この競争は最終的に1978年にロナルド・リベスト、アディ・シャミール、レン・エイドルマンによって勝利し、彼らの解は後にRSAアルゴリズムとして知られるようになりました。[ 58 ]
ディフィー・ヘルマンアルゴリズムとRSAアルゴリズムは、高品質の公開鍵アルゴリズムとして初めて公に知られるようになっただけでなく、最も広く使用されているアルゴリズムの一つです。その他の非対称鍵アルゴリズムには、クラマー・ショウプ暗号、エルガマル暗号、そして様々な楕円曲線暗号技術などがあります。
英国の諜報機関である政府通信本部( GCHQ )が1997年に公開した文書によると、GCHQの暗号学者たちはいくつかの学術的発展を予測していたことが明らかになった。[ 59 ]伝えられるところによると、1970年頃、ジェームズ・H・エリスは非対称鍵暗号の原理を考案した。1973年には、クリフォード・コックスはRSAと設計原理が非常によく似た解決策を発明した。[ 59 ] [ 60 ] 1974年には、マルコム・J・ウィリアムソンがディフィー・ヘルマン鍵交換を開発したとされている。[ 61 ]

公開鍵暗号は、デジタル署名方式の実装にも用いられます。デジタル署名は通常の署名に似ており、どちらもユーザーが作成するのは容易ですが、偽造するのは困難であるという特徴があります。また、デジタル署名は署名対象のメッセージの内容に永続的に結び付けられるため、ある文書から別の文書に「移動」することはできません。なぜなら、いかなる試みも検出されるからです。デジタル署名方式には、2つのアルゴリズムがあります。1つは署名アルゴリズムで、秘密鍵を用いてメッセージ(またはメッセージのハッシュ、あるいはその両方)を処理します。もう1つは検証アルゴリズムで、一致する公開鍵をメッセージと共に用いて署名の有効性を確認します。RSAとDSAは、最も人気のある2つのデジタル署名方式です。デジタル署名は、公開鍵基盤や多くのネットワークセキュリティ方式(SSL/TLS、多くのVPNなど)の運用において中心的な役割を果たしています。 [ 50 ]
公開鍵アルゴリズムは、多くの場合、数論に由来する「難しい」問題の計算複雑性に基づいています。例えば、RSAの難しさは整数因数分解問題に関連し、Diffie-Hellman法とDSAは離散対数問題に関連しています。楕円曲線暗号の安全性は、楕円曲線を含む数論的問題に基づいています。根底にある問題の難しさから、ほとんどの公開鍵アルゴリズムは、特に一般的な鍵サイズでは、ほとんどのブロック暗号で使用される手法よりもはるかに計算コストの高い、剰余乗算やべき乗算などの演算を必要とします。その結果、公開鍵暗号システムは一般的にハイブリッド暗号システムであり、メッセージ自体には高速で高品質な対称鍵暗号化アルゴリズムが使用され、関連する対称鍵はメッセージと共に送信されますが、公開鍵アルゴリズムを使用して暗号化されます。同様に、ハイブリッド署名方式もよく使用され、暗号学的ハッシュ関数が計算され、その結果のハッシュのみがデジタル署名されます。[ 5 ]
暗号ハッシュ関数は、可変長の入力を受け取り、デジタル署名などに使用できる固定長の出力を返す関数です。ハッシュ関数が安全であるためには、ハッシュ結果が同じ値になる 2 つの入力を計算することが困難であること (衝突耐性)、およびハッシュ結果が特定の出力になる入力を計算することが困難であること (原像耐性) が必要です。MD4は長年使用されてきたハッシュ関数ですが、現在は破られています。MD4を強化したMD5も広く使用されていますが、実際には破られています。米国国家安全保障局は、 MD5 に似たハッシュ関数の Secure Hash Algorithm シリーズを開発しました。SHA-0 は欠陥のあるアルゴリズムであったため国家安全保障局は撤回しました。SHA -1は広く採用されており MD5 よりも安全ですが、暗号解析者によってこれに対する攻撃が特定されています。SHA -2ファミリーは SHA-1 を改良したものですが、2011 年の時点で衝突に対して脆弱です。そして米国標準化機関は、セキュリティの観点から「NISTのハッシュアルゴリズムツールキット全体の堅牢性を大幅に向上させる」新しい標準を開発することが「賢明」だと考えた。[ 52 ]そのため、ハッシュ関数設計コンペは、2012年までにSHA-3と呼ばれる新しい米国国家標準を選択することになっていた。コンペは2012年10月2日に終了し、NISTはKeccakを新しいSHA-3ハッシュアルゴリズムにすると発表した。[ 53 ]可逆なブロック暗号やストリーム暗号とは異なり、暗号ハッシュ関数は、元の入力データを取得するために使用できないハッシュ出力を生成する。暗号ハッシュ関数は、信頼できないソースから取得したデータの信頼性を検証したり、セキュリティレイヤーを追加したりするために使用される。

暗号解読の目的は、暗号方式の弱点や不安定性を見つけ、それによって暗号の破壊や回避を可能にすることです。
あらゆる暗号化方式は解読可能という誤解がよくあります。第二次世界大戦中のベル研究所での研究において、クロード・シャノンは、鍵素材が真にランダムで、再利用されることがなく、あらゆる攻撃者から秘密に保たれ、メッセージの長さと同じかそれ以上であれば、ワンタイムパッド暗号は解読不可能であることを証明しました。[ 62 ]ワンタイムパッドを除くほとんどの暗号は、十分な計算量があれば総当たり攻撃によって解読可能ですが、必要な労力は、暗号を利用するために必要な労力と比較して、鍵のサイズに指数的に依存します。このような場合、必要な労力(シャノンの用語で言う「作業係数」)がいかなる敵対者の能力を超えていることが証明されれば、効果的なセキュリティを実現できます。これは、(時間のかかる総当たり攻撃とは対照的に)暗号を解読するための効率的な方法が見つからないことを示す必要があることを意味します。これまでそのような証明は見つかっていないため、ワンタイムパッドは理論上解読不可能な唯一の暗号です。適切に実装されたワンタイムパッド暗号は解読不可能ですが、トラフィック解析は依然として可能です。
暗号解読攻撃にはさまざまな種類があり、いくつかの方法に分類できます。一般的な区別は、イブ(攻撃者)が何を知っているか、どのような機能を利用できるかによって決まります。暗号文のみの攻撃では、イブは暗号文にのみアクセスできます(優れた最新の暗号システムは通常、暗号文のみの攻撃に対して実質的に耐性があります)。既知平文攻撃では、イブは暗号文とそれに対応する平文(またはそのようなペアの多く)にアクセスできます。選択平文攻撃では、イブは平文を選択し、それに対応する暗号文を(おそらく何度も)学習する場合があります。例としては、第二次世界大戦中にイギリスで使用されたガーデニングがあります。選択暗号文攻撃では、イブは暗号文を選択し、それに対応する平文を学習できる場合があります。[ 5 ]最後に、中間者攻撃では、イブはアリス(送信者)とボブ(受信者)の間に入り込み、トラフィックにアクセスして変更し、受信者に転送します。[ 63 ]また、間違い(一般的には、関係するプロトコルのいずれかの設計または使用における間違い)も非常に重要であり、圧倒的に重要です。
対称鍵暗号の解読では、通常、ブロック暗号またはストリーム暗号に対して、完全な暗号に対する攻撃よりも効率的な攻撃方法を探すことになります。例えば、DESに対する単純なブルートフォース攻撃では、既知の平文1つと2 55回の復号(可能な鍵の約半分を試す)が必要で、最終的に目的の鍵が見つかる可能性が2 55回以上になります。しかし、これでは十分な保証にならないかもしれません。DESに対する線形暗号解読攻撃では、2 43個の既知の平文(およびそれに対応する暗号文)と約2 43回のDES演算が必要になります。[ 64 ]これはブルートフォース攻撃に比べて大幅に改善されています。
公開鍵アルゴリズムは、さまざまな問題の計算困難さに基づいています。これらの最も有名な問題は、半素数の因数分解の難しさや離散対数の計算の難しさですが、どちらも古典的なチューリング完全なコンピュータのみを使用して多項式時間( P ) で解けることはまだ証明されていません。公開鍵暗号解読の多くは、これらの問題をPで解くことができるアルゴリズムを設計すること、または量子コンピュータなどの他の技術を使用することに関係しています。たとえば、楕円曲線ベースの離散対数を解く最もよく知られたアルゴリズムは、少なくともほぼ同程度のサイズの問題の場合は、因数分解の最もよく知られたアルゴリズムよりもはるかに時間がかかります。したがって、同等の暗号化強度を実現するために、RSA 暗号システムなどの大きな合成数の因数分解の難しさに依存する手法では、楕円曲線手法よりも大きな鍵が必要になります。このため、楕円曲線に基づく公開鍵暗号システムは、1990 年代半ばに発明されて以来、普及してきました。
純粋な暗号解読はアルゴリズム自体の弱点を利用するが、暗号システムに対するその他の攻撃は実際のデバイスでのアルゴリズムの実際の使用に基づいており、サイドチャネル攻撃と呼ばれている。暗号解読者が、たとえばデバイスが多数の平文を暗号化するのにかかった時間や、パスワードまたはPIN文字のエラーを報告する時間などにアクセスできれば、タイミング攻撃を使用して、通常は解析が困難な暗号を解読できる可能性がある。攻撃者はメッセージのパターンと長さを調査して貴重な情報を引き出すこともできる。これはトラフィック分析[ 65 ]と呼ばれ、油断できない敵対者には非常に役立つ可能性がある。暗号システムの管理が不十分で、たとえば短すぎる鍵を許可するなどの場合、他の長所に関係なく、どのシステムも脆弱になる。ソーシャルエンジニアリングや人間に対するその他の攻撃(賄賂、恐喝、脅迫、スパイ活動、ゴムホース暗号解読、拷問など)は、純粋な暗号解読に比べてコスト効率が高く、妥当な時間内に実行できるという理由で、通常採用されています。
暗号学における理論的研究の多くは、暗号プリミティブ(基本的な暗号特性を持つアルゴリズム)と、それらと他の暗号問題との関係に関するものです。より複雑な暗号ツールは、これらの基本プリミティブから構築されます。これらのプリミティブは、1 つ以上の高度なセキュリティ特性を保証する暗号システムまたは暗号プロトコルと呼ばれる、より複雑なツールの開発に使用される基本的な特性を提供します。ただし、暗号プリミティブと暗号システムの区別は非常に恣意的であることに注意してください。たとえば、RSA アルゴリズムは暗号システムと見なされることもあれば、プリミティブと見なされることもあります。暗号プリミティブの一般的な例としては、疑似乱数関数や一方向性関数など があります。
1 つ以上の暗号プリミティブは、多くの場合、暗号システムまたは暗号システムと呼ばれるより複雑なアルゴリズムの開発に使用されます。暗号システム (例: El-Gamal 暗号) は、特定の機能 (例: 公開鍵暗号化) を提供しながら、一定のセキュリティ プロパティ (例:ランダム オラクル モデルにおける選択平文攻撃 (CPA)セキュリティ) を保証するように設計されています。暗号システムは、基礎となる暗号プリミティブの特性を使用して、システムのセキュリティ プロパティをサポートします。プリミティブと暗号システムの区別はある程度恣意的であるため、高度な暗号システムは、より基本的な暗号システムをいくつか組み合わせることで派生できます。多くの場合、暗号システムの構造には、空間的 (安全なメッセージの送信者とその受信者の間など) または時間的 (暗号で保護されたバックアップデータなど) に 2 つ以上の当事者間での往復の通信が含まれます。このような暗号システムは、暗号プロトコルと呼ばれることもあります。
広く知られている暗号システムとしては、RSA、シュノア署名、エルガマル暗号、プリティ・グッド・プライバシー(PGP)などが挙げられます。より複雑な暗号システムとしては、電子現金[ 66 ]システム、署名暗号化システムなどがあります。より「理論的な」暗号システムとしては、対話型証明システム[ 67 ] (ゼロ知識証明など)[ 68 ]や秘密分散システム[ 69 ] [ 70 ]などがあります。
軽量暗号(LWC)は、厳しく制約された環境向けに開発された暗号アルゴリズムです。モノのインターネット(IoT)の成長に伴い、環境に適した軽量アルゴリズムの開発研究が急増しています。IoT環境では、消費電力、処理能力、セキュリティに関して厳しい制約が求められます。[ 71 ] PRESENT、 AES、SPECKなどのアルゴリズムは、米国国立標準技術研究所( NIST)が定めた標準を達成するために開発された多くのLWCアルゴリズムの例です。[ 72 ]
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2021年12月) |
暗号化は、ユーザーデータを保護し、盗聴を防ぐためにインターネット上で広く使用されています。送信中の機密性を確保するために、多くのシステムでは、送信される情報を保護するために秘密鍵暗号化を使用しています。公開鍵システムでは、マスターキーや多数のキーがなくても機密性を維持できます。[ 73 ]しかし、BitLockerやVeraCryptなどの一部のアルゴリズムは、一般的に秘密鍵-公開鍵暗号化ではありません。たとえば、Veracryptは、パスワードハッシュを使用して単一の秘密鍵を生成します。ただし、公開鍵-秘密鍵システムで実行するように構成できます。C ++オープンソース暗号化ライブラリOpenSSLは、無料のオープンソース暗号化ソフトウェアとツールを提供しています。最も一般的に使用される暗号化暗号スイートはAESです。[ 74 ] AES-NIを備えたすべてのx86ベースプロセッサでハードウェアアクセラレーションが可能なためです。近い候補としてはストリーム暗号であるChaCha20-Poly1305がありますが、これはAES-NI 命令セット拡張を備えていない ARMベースのモバイル デバイスでよく使用されます。
暗号技術は、通信を暗号化することで安全に通信を行うことができます。ウェブサイトはHTTPS経由の暗号化を使用しています。[ 75 ]送信者と受信者のみがメッセージを読むことができる「エンドツーエンド」暗号化は、Pretty Good Privacyの電子メールや、 WhatsApp、Signal、Telegramの一般的な安全なメッセージングに実装されています。[ 75 ]
オペレーティングシステムは、パスワードの機密性を保ち、システムの一部を隠蔽し、ソフトウェアアップデートがシステムメーカーからのものであることを保証するために暗号化を使用しています。[ 75 ]コンピュータシステムは、平文のパスワードを保存する代わりに、そのハッシュ値を保存します。ユーザーがログインすると、システムは与えられたパスワードを暗号ハッシュ関数に渡し、ファイルに保存されているハッシュ値と比較します。このようにして、システムも攻撃者も、いかなる時点でも平文のパスワードにアクセスすることはできません。[ 75 ]
暗号化は、ドライブ全体を暗号化するために使用されることがあります。例えば、ロンドン大学ユニバーシティ・カレッジは、ユーザーがログインしなくてもドライブのデータを暗号化できるBitLocker (Microsoftのプログラム)を導入しています。[ 75 ]
暗号技術は、分散型台帳技術(例:ブロックチェーン)などの暗号通貨技術を可能にし、分散型金融(DeFi)などの暗号経済アプリケーションに資金を提供します。暗号通貨と暗号経済を可能にする主要な暗号技術には、暗号鍵、暗号ハッシュ関数、非対称(公開鍵)暗号化、多要素認証(MFA)、エンドツーエンド暗号化(E2EE)、ゼロ知識証明(ZKP)などがありますが、これらに限定されません。
推定によると、量子コンピュータは、今日の最強のRSA鍵や楕円曲線鍵を解読するのに必要な労力を数千年からわずか数秒に短縮し、現在のプロトコル(これらの鍵に依存するTLSのバージョンなど)を安全でないものにする可能性がある。[ 76 ]
この「量子脅威」を軽減するために、研究者たちは、古典コンピュータと量子コンピュータの両方にとって依然として困難であると考えられる問題に基づいてセキュリティを確保する、量子耐性アルゴリズムを開発している。 [ 77 ]
暗号技術は、情報収集機関や法執行機関にとって長年の関心事であった。[ 9 ]秘密通信は犯罪、あるいは反逆罪に問われる可能性もある。また、暗号技術はプライバシーの保護を容易にする一方で、その禁止に伴うプライバシーの侵害も懸念されるため、公民権擁護者にとっても大きな関心事となっている。そのため、特に安価なコンピュータの登場により高品質な暗号技術への広範なアクセスが可能になって以来、暗号技術をめぐる法的論議は、これまでも議論の的となってきた。
一部の国では、暗号技術の国内使用さえも制限されているか、あるいは制限されていた。フランスは1999年まで国内での暗号技術の使用を大幅に制限していたが、その後多くの規制を緩和した。中国とイランでは、暗号技術の使用には依然としてライセンスが必要である。[ 7 ]多くの国では暗号技術の使用に厳しい規制が設けられており、ベラルーシ、カザフスタン、モンゴル、パキスタン、シンガポール、チュニジア、ベトナムでは特に規制が厳しい。[ 78 ]
米国では、暗号は国内での使用は合法であるが、暗号に関連する法的問題をめぐっては多くの紛争があった。[ 9 ]特に重要な問題の1つは、暗号および暗号ソフトウェアとハードウェアの輸出である。おそらく、第二次世界大戦における暗号解読の重要性と、暗号が国家安全保障上重要であり続けるとの見通しから、多くの西側諸国政府は、ある時点で暗号の輸出を厳しく規制した。第二次世界大戦後、米国では暗号技術を海外に販売または配布することは違法であり、実際、暗号は軍事補助装備に指定され、米国軍需品リストに掲載された。[ 79 ]パーソナルコンピュータ、非対称鍵アルゴリズム(すなわち、公開鍵技術)、およびインターネットが開発されるまでは、これは特に問題にはならなかった。しかし、インターネットが成長し、コンピュータがより広く利用できるようになったため、高品質の暗号技術が世界中でよく知られるようになった。
1990年代には、米国の暗号輸出規制に対していくつかの異議が唱えられた。 1991年6月にフィリップ・ジマーマンのPretty Good Privacy (PGP)暗号化プログラムのソースコードがインターネット上に流出した後、RSA Security(当時RSA Data Security, Inc.)の苦情により、米国税関とFBIはジマーマンに対して長期にわたる刑事捜査を行ったが、起訴には至らなかった。[ 80 ] [ 81 ]当時カリフォルニア大学バークレー校の大学院生だったダニエル・J・バーンスタインは、言論の自由を理由に、米国政府を相手取って規制の一部に異議を唱える訴訟を起こした。1995年のバーンスタイン対アメリカ合衆国訴訟は、最終的に1999年に、暗号アルゴリズムおよびシステムの印刷されたソースコードは米国憲法によって言論の自由として保護されるとの判決に至った。 [ 82 ]
1996年、39カ国がワッセナー・アレンジメントに署名しました。これは、武器および暗号技術などの「軍民両用」技術の輸出を扱う軍備管理条約です。この条約では、短い鍵長(対称暗号の場合は56ビット、RSAの場合は512ビット)の暗号技術の使用は、もはや輸出規制の対象外と規定されました。[ 83 ] 2000年の大幅な規制緩和の結果、米国からの暗号技術の輸出は規制が緩和され、[ 84 ]米国から輸出される大衆市場向けソフトウェアの鍵長に関する規制はもはやほとんどなくなりました。米国の輸出規制のこの緩和と、インターネットに接続されているほとんどのパーソナルコンピュータにFirefoxやInternet Explorerなどの米国製のウェブブラウザが搭載されていることから、世界中のほぼすべてのインターネットユーザーは、ブラウザ(例:トランスポート層セキュリティ経由)を介して高品質の暗号技術にアクセスできる可能性があります。 Mozilla ThunderbirdやMicrosoft Outlookといった電子メールクライアントプログラムも同様に、TLS経由で電子メールを送受信でき、S/MIMEで暗号化された電子メールを送受信できます。多くのインターネットユーザーは、自分の基本的なアプリケーションソフトウェアにこれほど高度な暗号システムが搭載されていることに気づいていません。これらのブラウザや電子メールプログラムは非常に普及しているため、暗号の民間利用を規制しようとする政府でさえ、このレベルの暗号の流通や使用を規制することは現実的ではないと考えている場合が多く、そのため、たとえそのような法律が施行されたとしても、実際の執行は事実上不可能であることが多いのです。

アメリカ合衆国の暗号技術に関連してもう一つの論争の的となっている問題は、国家安全保障局が暗号技術の開発と政策に及ぼす影響である。[ 9 ] NSAは、IBMでDESが開発されていたとき、そして米国標準規格局が暗号技術の連邦標準の可能性として検討していたときに、DESの設計に関わっていた。 [ 85 ] DESは差分解読法に耐えられるように設計された。[ 86 ]差分解読法はNSAとIBMが知っていた強力かつ汎用的な解読技術であるが、1980年代後半に再発見されて初めて公に知られるようになった。[ 87 ]スティーブン・レヴィによると、IBMは差分解読法を発見したが[ 81 ]、NSAの要請でその技術は秘密にしていた。その技術が公に知られるようになったのは、数年後にビハムとシャミールが再発見し発表したときだった。この事件全体は、攻撃者が実際にどのようなリソースと知識を持っているかを判断することの難しさを示している。
NSAの関与を示すもう一つの例は、1993年のクリッパーチップ事件である。これは、キャップストーン暗号管理イニシアチブの一環として意図された暗号化マイクロチップである。クリッパーは、2つの理由で暗号学者から広く批判された。暗号アルゴリズム(スキップジャックと呼ばれる)は当時機密扱いされていた(クリッパー・イニシアチブが失効してからかなり後の1998年に機密解除された)。機密扱いされた暗号は、NSAが諜報活動を支援するために意図的に暗号を脆弱にしたのではないかという懸念を引き起こした。また、このイニシアチブ全体は、政府が法執行機関(つまり盗聴)で使用するために保管する特別なエスクロー鍵を含んでいたため、カークホフスの原則に違反しているとして批判された。[ 81 ]
暗号化はデジタル著作権管理(DRM)の中心であり、著作物の使用を技術的に制御する一連の技術であり、一部の著作権者の要請により広く実装および展開されています。1998年、米国大統領ビル・クリントンはデジタルミレニアム著作権法(DMCA)に署名しました。この法律は、特定の暗号解読技術とテクノロジー(現在既知または後に発見されたもの)のすべての作成、頒布、および使用を犯罪としました。具体的には、DRMの技術的スキームを回避するために使用できるものです。[ 88 ]これは暗号解読研究がDMCAに違反しているという議論ができるため、暗号研究コミュニティに顕著な影響を与えました。その後、EU著作権指令での実施を含め、同様の法律がいくつかの国と地域で制定されました。世界知的所有権機関の加盟国 が署名した条約でも同様の制限が求められています。
米国司法省とFBIは、一部の人が懸念していたほど厳格にDMCAを執行していないが、それでもこの法律は物議を醸し続けている。暗号研究者として高く評価されているニールス・ファーガソンは、 DMCAによる訴追を恐れて、インテルのセキュリティ設計に関する研究の一部を公開しないと公言している。 [ 89 ]暗号学者ブルース・シュナイアーは、DMCAはベンダーロックインを助長し、サイバーセキュリティに向けた実際の対策を妨げていると主張している。[ 90 ]アラン・コックス(長年のLinuxカーネル開発者)とエドワード・フェルテン(およびプリンストン大学の彼の学生数名)の2人は、この法律に関連する問題に遭遇している。ドミトリー・スクリャーロフは、ロシアから米国を訪問中に逮捕され、ロシアで行った研究に起因するDMCA違反の疑いで、裁判を待つ間5ヶ月間投獄された。この研究はロシアでは合法であった。 2007年、ブルーレイとHD DVDのコンテンツのスクランブル化に使用されていた暗号鍵が発見され、インターネット上に公開されました。どちらの事件でも、アメリカ映画協会(MPAA)は多数のDMCA削除通知を発令し、こうした通知がフェアユースと言論の自由に影響を与えるとの認識から、インターネット上で大規模な反発[ 10 ]が起こりました。
英国では、捜査権限規制法により、英国警察は容疑者に対し、ファイルの復号や暗号鍵を保護するパスワードの引き渡しを強制する権限を与えられている。これに従わない場合はそれ自体が犯罪であり、有罪判決を受けた場合、懲役2年、国家安全保障に関わる事件では最長5年が科せられる。[ 8 ]この法律に基づく起訴は成功しており、2009年に行われた最初の起訴では[ 91 ] 13ヶ月の懲役刑が言い渡された。[ 92 ]オーストラリア、フィンランド、フランス、インドでも同様の強制開示法が制定されており、捜査対象の個々の容疑者に対し、刑事捜査中に暗号鍵やパスワードの引き渡しを強制している。
アメリカ合衆国では、連邦刑事事件「合衆国対フリコス事件」において、捜索令状によって暗号化パスフレーズやパスワードの開示を強制できるかどうかが争点となった。[ 93 ]電子フロンティア財団(EFF)は、これは憲法修正第五条で保障された自己負罪拒否の権利に違反すると主張した。[ 94 ] 2012年、裁判所は全令状法に基づき、被告は暗号化されていないハードドライブを裁判所に提出する必要があると判決を下した。[ 95 ]
多くの法域では、強制開示の法的地位は依然として不明確です。
2016 年のFBI と Apple の暗号化紛争は、米国の裁判所が、暗号化されて保護されたコンテンツを持つ携帯電話のロック解除にメーカーの協力を強制できるかどうかに関係しています。
強制開示に対する潜在的な対抗手段として、一部の暗号化ソフトウェアは、暗号化されたデータが未使用のランダム データ(たとえば、安全に消去されたドライブのデータなど)と区別できない、もっともらしい否認可能性をサポートしています。