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

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

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

古典暗号(および一部の現代暗号)によって生成された暗号文は、平文に関する統計情報を明らかにし、その情報はしばしば暗号を解読するために使用できます。頻度分析の発見後、そのような暗号のほぼすべてが、知識のある攻撃者によって解読されるようになりました。[ 28 ]このような古典暗号は、現在でも人気がありますが、主にパズルとしてです(暗号文を参照)。アラブの数学者で博学者のアル・キンディは、『Risalah fi Istikhraj al-Mu'amma 』 (暗号メッセージの解読のための手稿)という暗号に関する本を著し、その中で、頻度分析暗号解読技術の最初の既知の使用例を記述しました。[ 29 ] [ 30 ]


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

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

対称鍵暗号は、ブロック暗号またはストリーム暗号のいずれかとして実装されます。ブロック暗号は、ストリーム暗号で使用される入力形式である個々の文字ではなく、平文のブロック単位で入力を暗号化します。
データ暗号化標準(DES) と高度暗号化標準(AES) は、米国政府によって暗号化標準として指定されているブロック暗号設計です (ただし、AES が採用された後、DES の指定は最終的に取り消されました)。 [ 46 ]公式標準としての廃止にもかかわらず、DES (特に、現在も承認されているはるかに安全なトリプル DESバリアント) は依然として非常に人気があり、ATM 暗号化[ 47 ]から電子メールのプライバシー[ 48 ]や安全なリモート アクセス[ 49 ]まで、幅広いアプリケーションで使用されています。他にも多くのブロック暗号が設計され、リリースされていますが、品質にはかなりのばらつきがあります。FEALのように、有能な専門家によって設計されたものでさえ、完全に解読されたものも多くあります。[ 5 ] [ 50 ]
ストリーム暗号は、「ブロック」型とは対照的に、任意の長さの鍵素材のストリームを作成し、それを平文とビット単位または文字単位で組み合わせます。これは、ワンタイムパッドに似ています。ストリーム暗号では、出力ストリームは、暗号の動作中に変化する隠された内部状態に基づいて作成されます。その内部状態は、最初に秘密鍵素材を使用して設定されます。RC4は広く使用されているストリーム暗号です。[ 5 ]ブロック暗号は、キーストリームのブロックを生成し(擬似乱数生成器の代わりに)、平文の各ビットとキーストリームの各ビットにXOR演算を適用することで、ストリーム暗号として使用できます。[ 51 ]
メッセージ認証コード(MAC) は暗号学的ハッシュ関数によく似ていますが、受信時に秘密鍵を使用してハッシュ値を認証できる点が異なります。[ 5 ] [ 45 ]この追加の複雑さにより、単純なダイジェストアルゴリズムに対する攻撃スキームがブロックされるため、労力をかける価値があると考えられています。暗号学的ハッシュ関数は、3 番目のタイプの暗号アルゴリズムです。任意の長さのメッセージを入力として受け取り、短い固定長のハッシュを出力します。これは、たとえばデジタル署名に使用できます。優れたハッシュ関数の場合、攻撃者は同じハッシュを生成する 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 ]ブロック暗号やストリーム暗号のように可逆なものとは異なり、暗号ハッシュ関数は元の入力データを取得するために使用できないハッシュ出力を生成します。暗号学的ハッシュ関数は、信頼できない情報源から取得したデータの真正性を検証したり、セキュリティ層を追加したりするために使用されます。

対称鍵暗号方式では、メッセージの暗号化と復号に同じ鍵を使用しますが、メッセージまたはメッセージ群ごとに異なる鍵を持つことができます。対称暗号の大きな欠点は、安全に利用するために必要な鍵管理です。通信を行う各当事者は、理想的には異なる鍵を共有する必要があり、場合によっては交換される暗号文ごとに異なる鍵を使用する必要もあります。必要な鍵の数はネットワーク参加者数の二乗に比例して増加するため、すべての鍵の一貫性と秘密性を維持するには、複雑な鍵管理方式がすぐに必要になります。

1976年の画期的な論文で、ホイットフィールド・ディフィーとマーティン・ヘルマンは、公開鍵暗号(より一般的には非対称鍵暗号とも呼ばれる)の概念を提唱した。これは、公開鍵と秘密鍵という、異なるが数学的に関連する2つの鍵を使用するものである。[ 54 ]公開鍵システムは、一方の鍵(「秘密鍵」)が他方の鍵(「公開鍵」)から計算不可能になるように構築されている。両者は必然的に関連しているにもかかわらず、両方の鍵は相互に関連するペアとして秘密裏に生成される。[ 55 ]歴史家のデイビッド・カーンは、公開鍵暗号を「ルネサンス期に多表換字暗号が登場して以来、この分野で最も革命的な新しい概念」と評した。[ 56 ]
公開鍵暗号システムでは、公開鍵は自由に配布できますが、そのペアとなる秘密鍵は秘密にしておく必要があります。公開鍵は暗号化に使用され、秘密鍵は復号に使用されます。ディフィーとヘルマンはそのようなシステムを見つけることができませんでしたが、ディフィー・ヘルマン鍵交換プロトコルを提示することで、公開鍵暗号が実際に可能であることを示しました。このプロトコルは現在、安全な通信で広く使用されており、2者が秘密裏に共有暗号鍵に合意することを可能にします。[ 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つです。[ 62 ]デジタル署名は、公開鍵インフラストラクチャや多くのネットワークセキュリティスキーム(SSL/TLS、多くのVPNなど)の運用の中核をなしています。 [ 50 ]
公開鍵暗号アルゴリズムは、多くの場合、数論における「難しい」問題の計算複雑性に基づいています。例えば、RSAの難しさは整数因数分解問題に関連しており、Diffie-HellmanとDSAは離散対数問題に関連しています。楕円曲線暗号の安全性は、楕円曲線に関する数論的問題に基づいています。基礎となる問題の難しさから、ほとんどの公開鍵暗号アルゴリズムは、モジュラ乗算やべき乗などの演算を伴いますが、これらは、特に一般的な鍵サイズの場合、ほとんどのブロック暗号で使用される手法よりも計算コストがはるかに高くなります。その結果、公開鍵暗号システムは一般的にハイブリッド暗号システムであり、メッセージ自体には高速で高品質な共通鍵暗号アルゴリズムが使用され、関連する共通鍵はメッセージとともに送信されますが、公開鍵暗号アルゴリズムを使用して暗号化されます。同様に、ハイブリッド署名方式もよく使用され、暗号学的ハッシュ関数が計算され、結果として得られたハッシュ値のみがデジタル署名されます。[ 5 ]
暗号学的ハッシュ関数は、可変長の入力を受け取り、固定長の出力を返す関数であり、たとえばデジタル署名に使用できます。ハッシュ関数が安全であるためには、同じ値にハッシュされる 2 つの入力を計算することが困難であること (衝突耐性)、および特定の出力にハッシュされる入力を計算することが困難であること (原像耐性) が必要です。MD4は、長年使用されてきたハッシュ関数ですが、現在は破られています。MD4の強化版であるMD5も広く使用されていますが、実際には破られています。米国国家安全保障局 ( NSA) は、 MD5 に似たハッシュ関数の Secure Hash Algorithm シリーズを開発しました。SHA-0 は欠陥のあるアルゴリズムで、NSA は撤回しました。SHA -1は広く展開されており、MD5 よりも安全ですが、暗号解読者はこれに対する攻撃を特定しています。SHA -2ファミリーは SHA-1 を改良したものですが、2011 年現在、衝突に対して脆弱です。そして、米国標準化機関は、セキュリティの観点から「NISTのハッシュアルゴリズムツールキット全体の堅牢性を大幅に向上させる」新しい標準を開発することが「賢明」だと考えた。[ 52 ]そのため、ハッシュ関数設計コンペは、 2012年までにSHA-3と呼ばれる新しい米国国家標準を選択することを目的としていた。コンペは2012年10月2日に終了し、NISTはKeccakが新しいSHA-3ハッシュアルゴリズムになると発表した。[ 53 ]ブロック暗号やストリーム暗号のように可逆なものとは異なり、暗号学的ハッシュ関数は、元の入力データを取得するために使用できないハッシュ出力を生成する。暗号学的ハッシュ関数は、信頼できないソースから取得したデータの真正性を検証したり、セキュリティ層を追加したりするために使用される。

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

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