DESのFeistel関数(F関数) | |
| 一般的な | |
|---|---|
| デザイナー | IBM |
| 初版 | 1975年(連邦官報)(1977年1月に標準化) |
| 由来 | ルシファー |
| 後継者 | トリプルDES、G-DES、DES-X、LOKI89、ICE |
| 暗号の詳細 | |
| キーサイズ | 56ビット |
| ブロックサイズ | 64ビット |
| 構造 | バランス型Feistel ネットワーク |
| ラウンド | 16 |
| 最高の公開暗号解読 | |
| DESは、ブルートフォース攻撃の実行可能性のため、当初から安全ではないと考えられてきました。[1]こうした攻撃は実際に実証されており(EFF DESクラッカーを参照)、現在ではサービスとして市場で利用可能です。2008年現在、最良の解析的攻撃は線形暗号解読であり、これには2 43 の既知の平文が必要で、時間計算量は2 39~43です(Junod、2001)。 | |
データ暗号化規格( DES / ˌ d iː ˌ iː ˈ ɛ s , d ɛ z / ) は、デジタル データを暗号化するための対称鍵アルゴリズムです。 鍵の長さが 56 ビットと短いため、現代のアプリケーションには安全性が低すぎますが、暗号技術の進歩に大きな影響を与えてきました。
このアルゴリズムは、1970年代初頭にIBMで開発され、ホルスト・ファイステルによる以前の設計に基づいていましたが、機密扱いではない電子政府データの保護のための候補を提案するよう米国標準局(NBS)から要請を受け、同局に提出されました。1976年、国家安全保障局(NSA)との協議の結果、NBSは若干修正したバージョン(差分暗号解析に対しては強化されましたが、ブルートフォース攻撃に対しては弱められました)を選択し、 1977年に米国の公式連邦情報処理標準(FIPS)として公開されました。 [2]
NSA承認の暗号化標準の公開により、その暗号化はすぐに国際的に採用され、学術的にも広く精査されることになった。機密扱いの設計要素、対称鍵ブロック暗号設計の比較的短い鍵長、およびNSAの関与から論争が起こり、バックドアの疑いが浮上した。これらの疑惑を引き起こしたSボックスは、NSAが秘密裏に知っていた脆弱性(差分解読)に対処するために設計されたものだった。しかし、NSAは、ブルートフォース攻撃で暗号を破れるように鍵サイズを大幅に削減することも確実にしていた。[2] [検証失敗]アルゴリズムは時間の経過とともに厳しい学術的精査を受け、ブロック暗号とその解読に関する現代的な理解につながった。
DES は、比較的短い56 ビットのキー サイズのため安全ではありません。1999 年 1 月、distributed.netとElectronic Frontier Foundationが協力して、22 時間 15 分で DES キーを公開的に破りました (§ 年表を参照)。また、この暗号の理論的な弱点を示す分析結果もいくつかありますが、実際には実行不可能です。このアルゴリズムは、理論上の攻撃はあるものの、トリプル DESの形式では実質的に安全であると考えられています。この暗号は、 Advanced Encryption Standard (AES)に置き換えられました。DES は、米国国立標準技術研究所によって標準として廃止されました。[3]
一部のドキュメントでは、DES 標準とそのアルゴリズムを区別し、アルゴリズムをDEA (データ暗号化アルゴリズム) と呼んでいます。
歴史
DESの起源は1972年にさかのぼります。当時、米国政府のコンピュータセキュリティに関する国立標準局の調査により、機密扱いではない機密情報を暗号化するための政府全体の標準が必要であることが判明しました。[4]
同じ頃、エンジニアのモハメド・アタラは1972年にアタラ社を設立し、1973年に商品化された最初のハードウェアセキュリティモジュール(HSM)である「アタラボックス」を開発しました。これは安全なPIN生成キーでオフラインデバイスを保護し、商業的に成功しました。銀行やクレジットカード会社はアタラが市場を独占することを恐れ、国際的な暗号化標準の開発に拍車をかけました。[3]アタラは銀行市場におけるIBMの初期の競合企業であり、DES標準に取り組んだIBMの従業員によって影響を受けたと言われています。[5] IBM 3624は後に、以前のアタラシステムと同様のPIN検証システムを採用しました。[6]
1973年5月15日、NSAと協議した後、NBSは厳格な設計基準を満たす暗号の提案を募集した。提案された案はどれも適切ではなかった。2度目の要請は1974年8月27日に出された。このとき、IBMは、以前のアルゴリズムであるHorst FeistelのLucifer暗号に基づいて1973年から1974年の間に開発された暗号である、許容できると判断された候補を提出した。暗号の設計と分析に関わったIBMのチームには、Feistel、Walter Tuchman、Don Coppersmith、Alan Konheim、Carl Meyer、Mike Matyas、Roy Adler、Edna Grossman、Bill Notz、Lynn Smith、およびBryant Tuckermanがいた。
NSAの設計への関与
1975 年 3 月 17 日、DES の提案が連邦官報に掲載されました。一般からのコメントが求められ、翌年には提案された標準について議論する公開ワークショップが 2 回開催されました。公開鍵暗号の先駆者であるマーティン ヘルマン氏とホイットフィールド ディフィー氏[1]からは、短縮された鍵長と謎の「S ボックス」が NSA による不正な干渉の証拠であるとの批判が寄せられました。諜報機関によってアルゴリズムがひそかに弱体化され、他の誰にも暗号化されたメッセージを簡単に読み取れないようにされたのではないかという疑いがありました。[7]アラン コンハイム氏 (DES の設計者の 1 人) は、「S ボックスをワシントンに送りました。戻ってきたものはすべて異なっていました」とコメントしています。 [8]米国上院情報特別委員会は、 NSA の行動を検証し、不正な関与があったかどうかを判断しました。1978 年に公開された非機密の調査結果の概要で、委員会は次のように書いています。
DESの開発において、NSAはIBMに鍵のサイズを小さくすれば十分であると納得させ、間接的にSボックス構造の開発を支援し、最終的なDESアルゴリズムにはNSAの知る限り統計的または数学的な弱点がないことを認定した。[9]
しかし、
NSAはアルゴリズムの設計に一切手を加えなかった。IBMはアルゴリズムを発明・設計し、それに関するすべての適切な決定を下し、合意された鍵サイズがDESが意図するすべての商用アプリケーションに十分すぎるほどであることに同意した。[10]
DESチームの別のメンバーであるウォルター・タックマンは、「我々はIBM社内でIBM社員を使ってDESアルゴリズムを完全に開発した。NSAは1本の配線も指示しなかった!」と述べた。 [11] 対照的に、暗号の歴史に関するNSAの機密解除された本には次のように書かれている。
1973年、NBSは民間企業にデータ暗号化標準(DES)の策定を要請した。最初の提案は期待外れだったため、NSAは独自のアルゴリズムの開発に着手した。その後、研究・エンジニアリング担当副局長のハワード・ローゼンブラムは、IBMのウォルター・タックマンがルシファーの一般利用に向けた改良に取り組んでいることを発見した。NSAはタックマンに許可を与え、NSAと共同でルシファーの改良に取り組むよう依頼した。" [12]
そして
NSAはIBMと緊密に協力し、ブルートフォース攻撃以外のあらゆる攻撃に対するアルゴリズムを強化し、Sボックスと呼ばれる置換テーブルを強化した。逆にNSAはIBMにキーの長さを64ビットから48ビットに減らすよう説得しようとした。最終的にIBMは56ビットのキーで妥協した。[13] [14]
S ボックスの隠れた弱点に関する疑惑の一部は、1990 年にEli BihamとAdi Shamirがブロック暗号を解読する一般的な方法である差分暗号解読法を独自に発見し、公開したことで和らぎました。DES の S ボックスは、ランダムに選択された場合よりも攻撃に対してはるかに耐性があり、IBM が 1970 年代にこの手法を知っていたことを強く示唆しています。これは事実であり、1994 年に Don Coppersmith が S ボックスの元の設計基準の一部を公開しました。[15] Steven Levyによると、IBM Watson の研究者は 1974 年に差分暗号解読攻撃を発見し、NSA からこの手法を秘密にしておくように求められました。[16] Coppersmith は、IBM が秘密にしていた理由について、「[差分暗号解読法] は非常に強力なツールであり、多くのスキームに対して使用される可能性があり、このような情報が公開ドメインにあると国家安全保障に悪影響を与える可能性があるという懸念があったためです」と説明しています。レヴィはウォルター・タックマンの言葉を引用している。「彼らは我々にすべての文書に機密スタンプを押すように要求した。我々は実際に各文書に番号を付け、金庫に保管した。なぜならそれらは米国政府の機密文書とみなされたからだ。彼らはそうするようにと言った。だから私はそうしたのだ」[16]ブルース・シュナイアーは「NSAの『微調整』がDESのセキュリティを実際に向上させたことを学界が理解するのに20年かかった」と述べている[17]。
標準としてのアルゴリズム
批判にもかかわらず、DES は 1976 年 11 月に連邦標準として承認され、1977 年 1 月 15 日にFIPS PUB 46 として公開され、すべての非機密データでの使用が認可されました。その後、1983 年、1988 年 (FIPS-46-1 として改訂)、1993 年 (FIPS-46-2)、1999 年 (FIPS-46-3) に標準として再確認され、後者は「トリプル DES 」を規定しました (下記参照)。2002 年 5 月 26 日、DES は最終的に、公開コンペの結果、Advanced Encryption Standard (AES) に置き換えられました。2005 年 5 月 19 日、FIPS 46-3 は正式に撤回されましたが、NIST は2030 年まで政府の機密情報にトリプル DES を使用することを承認しました。 [18]
このアルゴリズムは、ANSI X3.92(現在、X3はINCITS、ANSI X3.92はANSI INCITS 92として知られています)[19] 、 NIST SP 800-67 [18]、およびISO/IEC 18033-3 [20] ( TDEAのコンポーネントとして)でも指定されています。
もう一つの理論的な攻撃法である線形暗号解読法は 1994 年に発表されました。しかし、DES が実用的に攻撃可能であることが実証され、代替アルゴリズムの必要性が浮き彫りになったのは、1998 年に電子フロンティア財団がDES クラッカーを発表した時でした。これらの方法とその他の暗号解読法については、この記事の後半で詳しく説明します。
DESの導入は、暗号学、特にブロック暗号を解読する方法の学術研究のきっかけとなったと考えられています。DESに関するNISTの回顧録によると、
- DES は、非軍事分野の暗号化アルゴリズムの研究と開発を「活性化」させたと言えます。1970 年代には、軍事組織や諜報機関の職員を除いて暗号学者はほとんどおらず、暗号に関する学術研究もほとんどありませんでした。現在では、多くの学術的な暗号学者、暗号に関する強力なプログラムを持つ数学部門、商業情報セキュリティ企業やコンサルタントが活躍しています。暗号解読者の世代は、DES アルゴリズムの分析 (つまり「解読」) で経験を積んできました。暗号解読者のブルース・シュナイアーの言葉によれば、[21]「DES は、他の何よりも暗号解読の分野を活性化させました。今や、研究すべきアルゴリズムができたのです。」1970 年代と 1980 年代の暗号に関する公開文献の驚くほど多くの部分が DES を扱っており、DES はそれ以降のすべての対称鍵アルゴリズムが比較される基準となっています。[22]
年表
説明

DES は典型的なブロック暗号です。これは、固定長の平文ビット列を受け取り、一連の複雑な操作によってそれを同じ長さの別の暗号文ビット列に変換するアルゴリズムです。DES の場合、ブロック サイズは 64 ビットです。DES では、変換をカスタマイズするためにキーも使用するため、暗号化に使用された特定のキーを知っている人だけが復号化を実行できるはずです。キーは表面上は 64 ビットで構成されていますが、アルゴリズムによって実際に使用されるのはそのうち 56 ビットだけです。8 ビットはパリティチェックのみに使用され、その後は破棄されます。したがって、有効なキーの長さは56 ビットです。
キーは通常、それぞれが奇数パリティを持つ 8バイトとして保存または送信されます。ANSI X3.92-1981 (現在は ANSI INCITS 92–1981 として知られています) のセクション 3.5 によると、次のようになります。
キーの各 8 ビット バイトの 1 ビットは、キーの生成、配布、および保存におけるエラー検出に使用できます。ビット 8、16、...、64 は、各バイトが奇数パリティであることを確認するために使用されます。
他のブロック暗号と同様に、DES自体は安全な暗号化手段ではなく、特定の動作モードで使用する必要があります。FIPS-81では、DESで使用するためのいくつかのモードが指定されています。[27] DESの使用に関する詳細なコメントは、FIPS-74に記載されています。[28]
復号化では暗号化と同じ構造が使用されますが、キーは逆の順序で使用されます。(これには、同じハードウェアまたはソフトウェアを両方向に使用できるという利点があります。)
全体構造
アルゴリズムの全体的な構造は図 1 に示されています。ラウンドと呼ばれる 16 の同一の処理段階があります。また、 IPとFP と呼ばれる初期および最終の順列があり、これらは逆です(IP は FP の動作を「元に戻し」、逆も同様です)。IP と FP には暗号上の重要性はありませんが、1970 年代半ばの 8 ビット ベースのハードウェアへのブロックの読み込みと読み出しを容易にするために含まれていました。[29]
メインラウンドの前に、ブロックは 32 ビットの半分に 2 つに分割され、交互に処理されます。この交差はFeistel 方式として知られています。Feistel 構造により、復号化と暗号化は非常によく似たプロセスになります。唯一の違いは、復号化時にサブキーが逆の順序で適用されることです。アルゴリズムの残りの部分は同一です。これにより、暗号化アルゴリズムと復号化アルゴリズムを別々に用意する必要がないため、特にハードウェアでの実装が大幅に簡素化されます。
⊕ 記号は 排他的論理和(XOR) 演算を表します。F関数は、ブロックの半分をキーの一部と一緒にスクランブルします。次に、F 関数の出力はブロックの残りの半分と結合され、次のラウンドの前に半分が交換されます。最終ラウンドの後、半分が交換されます。これは、暗号化と復号化を同様のプロセスにする Feistel 構造の特徴です。
フェイステル(F)関数
図 2 に示す F 関数は、一度に半ブロック (32 ビット) を操作し、次の 4 つのステージで構成されます。

- 拡張: 32 ビットのハーフブロックは、図のEで示される拡張順列を使用して、ビットの半分を複製することにより 48 ビットに拡張されます。出力は 8 つの 6 ビット (8 × 6 = 48 ビット) の部分で構成され、各部分には対応する 4 つの入力ビットのコピーと、両側の各入力部分のすぐ隣のビットのコピーが含まれます。
- キーの混合: 結果は、 XOR 演算を使用してサブキーと結合されます。16 個の 48 ビット サブキー (各ラウンドに 1 つ) は、キー スケジュール(以下で説明)を使用してメイン キーから導出されます。
- 置換: サブキーを混ぜた後、ブロックはS ボックスまたは置換ボックスで処理される前に 8 つの 6 ビット部分に分割されます。8 つの S ボックスはそれぞれ、ルックアップ テーブルの形式で提供される非線形変換に従って、6 つの入力ビットを 4 つの出力ビットに置き換えます。S ボックスは DES のセキュリティの中核を提供します。S ボックスがなければ、暗号は線形になり、簡単に破られてしまいます。
- 順列: 最後に、S ボックスからの 32 個の出力は、固定順列である Pボックスに従って並べ替えられます。これは、順列の後、このラウンドの各 S ボックスの出力のビットが次のラウンドで 4 つの異なる S ボックスに分散されるように設計されています。
S ボックスからの置換の交互、および P ボックスと E 拡張からのビットの順列は、それぞれいわゆる「混乱と拡散」を提供します。これは、 1940 年代にクロード シャノンによって安全かつ実用的な暗号に必要な条件として特定された概念です。
主なスケジュール

図 3 は、暗号化のキー スケジュール(サブキーを生成するアルゴリズム) を示しています。最初に、キーの 56 ビットがPermuted Choice 1 ( PC-1 ) によって最初の 64 ビットから選択され、残りの 8 ビットは破棄されるか、パリティチェック ビットとして使用されます。次に、56 ビットが 2 つの 28 ビットの半分に分割され、各半分は別々に扱われます。次のラウンドでは、両方の半分が 1 ビットまたは 2 ビット (ラウンドごとに指定) だけ左に回転され、次にPermuted Choice 2 ( PC-2 ) によって 48 のサブキー ビットが選択されます (左半分から 24 ビット、右半分から 24 ビット)。回転 (図では "<<<" で示されています) は、各サブキーで異なるビット セットが使用されることを意味します。各ビットは、16 個のサブキーのうち約 14 個で使用されます。
復号化のキースケジュールも同様で、サブキーは暗号化とは逆の順序になります。その変更を除けば、プロセスは暗号化の場合と同じです。同じ 28 ビットがすべてのローテーション ボックスに渡されます。
擬似コード
DES アルゴリズムの 疑似コードは次のとおりです。
// すべての変数は符号なし64ビットです
// 前処理: バイト単位のサイズ差でパディングし、
長さが64ビットの倍数になるようにメッセージをパディングします。
var key // ユーザーが指定したキーvar keys [ 16 ] var left , right
// キーを生成する
// PC1 (64 ビットから 56 ビット)
key := permutation ( key , PC1 ) left := ( key rightshift 28 ) and 0xFFFFFFF right := key and 0xFFFFFFF
iが0から16の場合、右: =右左回転KEY_shift [ i ]左:=左左左回転KEY_shift [ i ] var concat := (左左シフト28 )または右// PC2 (56 ビットから 48 ビット)キー[ i ] : = permutation ( concat , PC2 )終了
// メッセージを復号するには、キーの順序を逆にします。
復号する場合はキーを逆にします。終了する場合は
//パディング
されたメッセージの64ビットチャンクごとに暗号化または復号化します。do var tmp
// IP
chunk := permutation ( chunk , IP ) left := chunk rightshift 32 right := chunk and 0xFFFFFFFF for i from 0 to 16 do tmp := right // E (32bits to 48bits) right := expand ( right , E ) right := right xor keys [ i ] // Substitution (48bits to 32bits) right := replacement ( right ) // P right := permutation ( right , P ) right := right xor left left := tmp end for // Concat right and left var cipher_chunk := ( right leftshift 32 ) or left // FP cipher_chunk := permutation ( cipher_chunk , FP ) end for
セキュリティと暗号解読
DES の暗号解読については他のどのブロック暗号よりも多くの情報が公開されていますが、現在までで最も実用的な攻撃は依然としてブルート フォース アプローチです。さまざまなマイナーな暗号解読特性が知られており、理論上の攻撃としては 3 つの方法があります。これらの攻撃は理論上はブルート フォース攻撃よりも複雑ではありませんが、実行には非現実的な数の既知または選択された平文が必要ですが、実際には問題にはなりません。
ブルートフォース攻撃
どのような暗号でも、最も基本的な攻撃方法はブルートフォース、つまり可能なすべてのキーを順番に試すことです。キーの長さによって可能なキーの数が決まり、したがってこのアプローチの実現可能性が決まります。DESの場合、標準として採用される前から、キーのサイズが適切かどうかという疑問が提起され、理論的な暗号解読ではなく、キーのサイズが小さいことが、代替アルゴリズムの必要性を決定づけました。NSAを含む外部コンサルタントとの議論の結果、キーのサイズは256ビットから56ビットに削減され、1つのチップに収まりました。[30]

学界では、DESを破るマシンの様々な提案が進められた。1977年、ディフィーとヘルマンは、1日でDES鍵を見つけることができる推定2000万ドルのマシンを提案した。[1] [31] 1993年までに、ウィーナーは7時間以内に鍵を見つける100万ドルの鍵検索マシンを提案した。しかし、これらの初期の提案はどれも実装されなかった、あるいは少なくとも実装が公に認められることはなかった。DESの脆弱性は1990年代後半に実質的に実証された。[32] 1997年、RSAセキュリティは一連のコンテストを後援し、コンテストでDESで暗号化されたメッセージを最初に解読したチームに1万ドルの賞金を提供した。このコンテストは、インターネット上の何千台ものコンピュータのアイドルサイクルを使用して、ロック・ヴァーサー、マット・カーティン、ジャスティン・ドルスケが率いるDESCHALLプロジェクトが優勝した。 DES を迅速にクラッキングできることは、1998 年にサイバースペースの公民権団体であるElectronic Frontier Foundation (EFF) が約 25 万ドルをかけてカスタム DES クラッカーを構築したときに実証されました ( EFF DES クラッカーを参照)。彼らの目的は、DES が理論だけでなく実際にも破られることを示すことでした。「自分の目で確かめるまでは真実を信じない人がたくさんいます。数日で DES をクラッキングできる物理的なマシンを彼らに見せることが、DES にセキュリティを信頼できないことを人々に納得させる唯一の方法です。」マシンは、2 日強の探索でキーをブルート フォース攻撃で解読しました。
次に確認されたDESクラッカーは、ドイツのボッフム大学とキール大学のチームによって2006年に構築されたCOPACOBANAマシンでした。EFFマシンとは異なり、COPACOBANAは市販の再構成可能な集積回路で構成されています。XILINX Spartan-3 1000タイプのこれらのフィールドプログラマブルゲートアレイ(FPGA)120個が並列に実行されます。これらは20個のDIMMモジュールにグループ化されており、各モジュールには6個のFPGAが含まれています。再構成可能なハードウェアを使用することで、このマシンは他のコード解読タスクにも適用できます。[33] COPACOBANAの興味深い点の1つは、そのコスト要因です。1台のマシンは約10,000ドルで構築できます。[34] EFFマシンに比べて約25分の1にコストが削減されたことは、デジタルハードウェアの継続的な改善の一例です(ムーアの法則を参照)。8年間のインフレ調整により、約30倍というさらに高い改善が得られます。 2007年以来、COPACOBANAの2つのプロジェクトパートナーからスピンオフした企業であるSciEngines GmbHは、COPACOBANAの後継機の強化と開発を行ってきました。2008年には、同社のCOPACOBANA RIVYERAが、128個のSpartan-3 5000を使用して、DESを破る時間を1日未満に短縮しました。SciEngines RIVYERAは、128個のSpartan-3 5000 FPGAを使用して、総当たり攻撃によるDESの破りの記録を保持していました。 [35]同社の256個のSpartan-6 LX150モデルは、この時間をさらに短縮しました。
2012年、デイビッド・ハルトンとモクシー・マーリンスパイクは、48個のザイリンクスVirtex-6 LX240T FPGAを搭載したシステムを発表しました。各FPGAには400MHzで動作する40個の完全パイプラインDESコアが含まれており、合計容量は768ギガキー/秒です。このシステムは、56ビットDESキー空間全体を約26時間で徹底的に検索することができ、このサービスはオンラインで有料で提供されています。[36] [37]
力ずくよりも速い攻撃
ブルートフォース検索よりも少ない複雑さでDESの16ラウンドすべてを破ることができる攻撃法として、差分暗号解読法(DC)[38] 、 線形暗号解読法(LC)[39] 、およびデイヴィス攻撃[40]の3つが知られています。ただし、これらの攻撃法は理論上のものであり、実際には実行不可能であると一般に考えられています。[41]これらのタイプの攻撃法は、認証上の弱点と呼ばれることもあります。
- 差分暗号解読法は、1980年代後半にイーライ・ビハムとアディ・シャミールによって再発見されました。これはIBMとNSAの両方に以前から知られていましたが、秘密にされていました。差分暗号解読法では、16ラウンドすべてを解読するために、247の選択 平文が必要です。[38] DESはDCに耐性があるように設計されました。[要出典]
- 線形解読法は松井充によって発見され、2 43 個 の既知の平文を必要とする(Matsui, 1993)。[39]この方法は実装され (Matsui, 1994)、DES の実験的解読法として初めて報告された。DES がこのタイプの攻撃に耐えられるように調整されたという証拠はない。LC の一般化である多重線形解読法は 1994 年に提案され (Kaliski と Robshaw)、Biryukov らによってさらに改良された。(2004) 彼らの分析によると、多重線形近似を使用すると、攻撃に必要なデータ量を少なくとも 4 分の 1 (つまり、 2 43ではなく2 41 ) 削減できることが示唆されている。[42]線形解読法の選択平文バリアントでも、同様のデータ複雑性削減を実現できる (Knudsen と Mathiassen, 2000)。[43]ジュノド(2001)は、線形暗号解読の実際の時間計算量を決定するためにいくつかの実験を行い、予想よりもやや速く、2 39 – 2 41回のDES評価に相当する時間が必要であると報告した。[44]
- 改良デイヴィス攻撃:線形暗号解読法と差分暗号解読法は一般的な手法であり、多くの方式に適用できるが、デイヴィス攻撃はDESに特化した手法であり、80年代にドナルド・デイヴィスによって最初に提案され、 [40]ビハムとビリュコフ(1997)によって改良された。[45]最も強力な攻撃方法では、2 50 個の 既知の平文が必要で、計算量は2 50で、成功率は51%である。
また、暗号のラウンド数を減らしたバージョン、つまり DES のラウンド数が 16 未満のバージョンに対する攻撃も提案されています。このような分析により、安全性を確保するために何ラウンド必要か、また完全バージョンでどの程度の「セキュリティ マージン」が維持されるかがわかります。
差分線形暗号解読法は1994年にラングフォードとヘルマンによって提案されたもので、差分暗号解読法と線形暗号解読法を1つの攻撃に組み合わせたものである。[46]この攻撃法の強化版では、2 15.8個の平文を選択して9段DESを解読することができ、計算時間は2 29.2である(ビハムら、2002年)。[47]
マイナーな暗号解読特性
DESは相補性の性質を持ち、
ここで、はのビット補数で、鍵による暗号化を表し、はそれぞれ平文と暗号文のブロックを表します。補数性は、選択平文の仮定の下で、ブルートフォース攻撃の作業量を 2 分の 1 (または 1 ビット) に削減できることを意味します。定義により、この特性は TDES 暗号にも適用されます。[48]
DES には、いわゆる弱い鍵が4 つあります。弱い鍵による暗号化 ( E ) と復号化 ( D ) は同じ効果を持ちます (反転を参照)。
- または同等に、
半弱鍵のペアも 6 組あります。半弱鍵のペアの 1 つを使用した暗号化は、もう 1 つの半弱鍵を使用した復号化と同じように動作します。
- または同等に、
実装において弱い鍵と半弱い鍵を避けるのは、明示的にテストするか、単に鍵をランダムに選択するだけで十分簡単です。偶然に弱い鍵や半弱い鍵が選ばれる可能性はごくわずかです。これらの鍵は攻撃に何の利点も与えないので、実際には他の鍵よりも弱いわけではありません。
DES は群ではないことも証明されている。より正確には、関数合成による集合(すべての可能なキー について)は群ではなく、群に「近い」ものでもない。[49]これは長い間未解決の問題であったが、もしそうであったなら、DES を破ることができただろうし、トリプル DESなどの複数の暗号化モードではセキュリティが強化されなかっただろう。なぜなら、異なるキーで暗号化 (および復号化) を繰り返すことは、別の単一のキーで暗号化することと同等になるからだ。[50]
簡易DES
簡易DES(SDES)は、学生が現代の暗号解読技術を学ぶのを助けるために、教育目的のみで設計されました。SDESはDESと同様の構造と特性を持っていますが、鉛筆と紙を使って手作業で暗号化と復号化をはるかに簡単に実行できるように簡素化されています。SDESを学ぶことで、DESや他のブロック暗号についての理解が深まり、それらに対するさまざまな暗号解読攻撃についての理解も深まると考える人もいます。[51] [52] [53] [54] [55] [56] [57] [58] [59]
置換アルゴリズム
セキュリティに関する懸念と、DES のソフトウェアでの動作が比較的遅いことから、研究者はさまざまな代替ブロック暗号設計を提案するようになり、1980 年代後半から 1990 年代前半にかけて、これらの設計が登場し始めました。例としては、 RC5、Blowfish、IDEA、NewDES、SAFER、CAST5、FEAL などがあります。これらの設計のほとんどは DES の 64 ビットブロック サイズを維持し、「ドロップイン」代替品として機能できましたが、通常は 64 ビットまたは 128 ビットのキーを使用しました。ソビエト連邦では、 64 ビット ブロック サイズと 256 ビット キーの GOST 28147-89 アルゴリズムが導入され、後にロシアでも使用されました。
DES 自体は、より安全な方式に適応させて再利用することができます。かつての DES ユーザーの多くは現在、DES の特許所有者の 1 人によって説明および分析されたTriple DES (TDES) を使用しています ( FIPS Pub 46–3 を参照)。これは、2 つ (2TDES) または 3 つ (3TDES) の異なるキーを使用して DES を 3 回適用するものです。TDES は十分に安全であると見なされていますが、非常に低速です。計算コストの低い代替手段はDES-Xで、これは DES の前後に追加のキー マテリアルを XOR することでキー サイズを増やします。GDESは暗号化を高速化する方法として提案された DES の変種ですが、差分暗号解読の影響を受けやすいことが示されました。
1997年1月2日、NISTはDESの後継を選定したいと発表しました。[60] 2001年、国際コンペの結果、NISTは新しい暗号であるAdvanced Encryption Standard (AES)をDESの後継として選定しました。[61] AESとして選定されたアルゴリズムは、設計者らがRijndaelという名前で提出したものです。NIST AESコンペの最終候補には、 RC6、Serpent、MARS、Twofishなどがありました。
参照
注記
- ^ abcd Diffie, Whitfield; Hellman, Martin E. (1977 年 6 月). 「NBS データ暗号化標準の徹底的な暗号解析」(PDF) . Computer . 10 (6): 74–84. doi :10.1109/CM.1977.217750. S2CID 2412454. 2014 年 2 月 26 日のオリジナル(PDF)からアーカイブ。
- ^ ab 「DES の遺産 - セキュリティに関するシュナイアー氏」www.schneier.com。2004 年 10 月 6 日。
- ^ ab Bátiz-Lazo, Bernardo (2018). キャッシュ・アンド・ダッシュ: ATMとコンピューターが銀行業務をどのように変えたか。オックスフォード大学出版局。pp. 284 & 311。ISBN 9780191085574。
- ^ Walter Tuchman (1997)。「データ暗号化標準の簡単な歴史」。インターネット包囲:サイバースペースの違法行為者への対抗。ACM Press/Addison-Wesley Publishing Co. ニューヨーク、ニューヨーク州、米国。pp. 275–280。
- ^ 「NIST のデータ暗号化標準 (DES) プログラムの経済的影響」(PDF)。米国国立標準技術研究所。米国商務省。2001 年 10 月。2017 年 8 月 30 日時点のオリジナル(PDF)からアーカイブ。2019年8 月 21 日に閲覧。
- ^ Konheim, Alan G. (2016年4月1日). 「自動現金自動預け払い機:その歴史と認証プロトコル」. Journal of Cryptographic Engineering . 6 (1): 1–29. doi :10.1007/s13389-015-0104-3. ISSN 2190-8516. S2CID 1706990. 2019年7月22日時点のオリジナルよりアーカイブ。 2019年8月28日閲覧。
- ^ RSA Laboratories. 「DES は破られたか?」。2016 年 5 月 17 日時点のオリジナルよりアーカイブ。2009 年 11 月 8 日閲覧。
- ^ シュナイアー『応用暗号』(第2版)280ページ。
- ^ Davies, DW; WL Price (1989).コンピュータネットワークのセキュリティ、第2版。John Wiley & Sons。
- ^ Robert Sugarman 編 (1979 年 7 月)。「コンピュータ犯罪の阻止について」IEEE Spectrum。
- ^ P. Kinnucan (1978 年 10 月)。「データ暗号化の達人: Tuchman と Meyer」。Cryptologia . 2 ( 4): 371. doi :10.1080/0161-117891853270。
- ^ Thomas R. Johnson (2009-12-18). 「冷戦期のアメリカの暗号学、1945-1989。第3巻:削減と改革、1972-1980、232ページ」(PDF)。国家安全保障局、DOCID 3417193(2009-12-18に公開されたファイル、nsa.govでホスト) 。2013-09-18にオリジナル(PDF)からアーカイブ。2014-07-10に取得。
- ^ Thomas R. Johnson (2009-12-18). 「冷戦期のアメリカの暗号学、1945-1989。第3巻:1972-1980年の削減と改革、232ページ」(PDF)。国家安全保障局。2015-04-25にオリジナルからアーカイブ(PDF)。2015-07-16に取得–国家安全保障アーカイブのFOIAリクエスト経由。このバージョンは、NSA Webサイトのバージョンとは編集方法が異なります。
- ^ Thomas R. Johnson (2009-12-18). 「冷戦期のアメリカの暗号学、1945-1989。第3巻:1972-1980年の削減と改革、232ページ」(PDF)。国家安全保障局。2015-04-25にオリジナルからアーカイブ(PDF)。2015-07-16に取得–国家安全保障アーカイブのFOIAリクエスト経由。このバージョンは、NSA Webサイトのバージョンとは編集方法が異なります。
- ^ Konheim.コンピュータセキュリティと暗号化. p. 301.
- ^ ab レヴィ『クリプト』55ページ
- ^ Schneier, Bruce (2004-09-27). 「データ暗号化の伝統に敬意を表す」CNet . 2015-07-22閲覧。
- ^ ab アメリカ国立標準技術研究所、NIST 特別出版物 800-67 トリプルデータ暗号化アルゴリズム (TDEA) ブロック暗号バージョン 1.1 に関する推奨事項
- ^ アメリカ規格協会、ANSI X3.92-1981(現在はANSI INCITS 92-1981として知られている)アメリカ国家規格、データ暗号化アルゴリズム
- ^ 「ISO/IEC 18033-3:2010 情報技術 - セキュリティ技術 - 暗号化アルゴリズム - パート 3: ブロック暗号」。Iso.org。2010 年 12 月 14 日。2011年 10 月 21 日に閲覧。
- ^ ブルース・シュナイアー著『応用暗号、プロトコル、アルゴリズム、C言語によるソースコード』第2版、ジョン・ワイリー・アンド・サンズ、ニューヨーク(1996年)267ページ
- ^ William E. Burr、「データ暗号化標準」、NIST のアンソロジー「計測、標準、技術における卓越性の世紀: 1901 年から 2000 年までの NBS/NIST 出版物の選集」より。HTML アーカイブ 2009-06-19 at the Wayback Machine PDF アーカイブ 2006-08-23 at the Wayback Machine
- ^ 「FR Doc 04-16894」。 Edocket.access.gpo.gov 。 2009年6月2日閲覧。
- ^ S. Kumar、C. Paar、J. Pelzl、G. Pfeiffer、A. Rupp、M. Schimmler、「8,980ユーロでDESを破る方法」。暗号化システム攻撃用特殊ハードウェアに関する第2回ワークショップ—SHARCS 2006、ドイツ、ケルン、2006年4月3日~4日。
- 8x1080Ti.md.日本語
- ^ 「Crack.sh | 世界最速の DES クラッカー」
- ^ 「FIPS 81 - Des 動作モード」 csrc.nist.gov 。 2009 年 6 月 2 日閲覧。
- ^ 「FIPS 74 - NBS データの実装と使用に関するガイドライン」。Itl.nist.gov。2014 年 1 月 3 日時点のオリジナルよりアーカイブ。2009 年 6 月 2 日閲覧。
- ^ シュナイアー『応用暗号』(第1版)271ページ。
- ^ Stallings, W.暗号化とネットワークセキュリティ:原則と実践Prentice Hall、2006年、p. 73
- ^ 「DES のブルーティング」。
- ^ van Oorschot, Paul C.; Wiener, Michael J. (1991)、Damgård, Ivan Bjerre (ed.)、「2 つのキーによる 3 重暗号化に対する既知平文攻撃」、Advances in Cryptology – EUROCRYPT '90、vol. 473、ベルリン、ハイデルベルク: Springer Berlin Heidelberg、pp. 318–325、doi : 10.1007/3-540-46877-3_29、ISBN 978-3-540-53587-4
- ^ 「COPACOBANA 入門 — コスト最適化並列コードブレーカー」(PDF)。2006 年 12 月 12 日。2012年3 月 6 日閲覧。
- ^ ラインハルト・ヴォブスト(2007年10月16日)。暗号学の解読。ジョン・ワイリー・アンド・サンズ。ISBN 9780470060643。
- ^ DES を 1 日もかからずに破る Archived 2017-08-28 at the Wayback Machine [企業のプレスリリース、2009 年のワークショップで実演]
- ^ 「世界最速のDESクラッカー」。
- ^ 複雑なパスワードはあなたを救ってくれると思いますか?、 David Hulton、Ian Foster、BSidesLV 2017
- ^ ab Biham, E. & Shamir, A (1993). データ暗号化標準の差分暗号解析。Shamir, Adi。ニューヨーク: Springer-Verlag。pp. 487–496。doi : 10.1007 / 978-1-4613-9314-6。ISBN 978-0387979304. OCLC 27173465. S2CID 6361693.
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク) - ^ ab 松井充 (1993-05-23). 「DES 暗号の線形暗号解読法」。暗号学の進歩 — EUROCRYPT '93 。コンピュータサイエンスの講義ノート。第 765 巻。Springer、ベルリン、ハイデルベルク。pp. 386–397。doi : 10.1007 / 3-540-48285-7_33。ISBN 978-3540482857。
- ^ ab Davies, DW (1987). 「DES アルゴリズムの潜在的な弱点の調査、プライベート通信」。プライベート通信。
- ^ Alanazi, Hamdan O.; et al . ( 2010). 「9 つの要素における DES、3DES、AES の新しい比較研究」。Journal of Computing。2 (3). arXiv : 1003.4085。Bibcode : 2010arXiv1003.4085A。
- ^ Biryukov, Alex; Cannière, Christophe De; Quisquater, Michaël (2004-08-15). 「多重線形近似について」。Advances in Cryptology – CRYPTO 2004。Lecture Notes in Computer Science。Vol. 3152。Springer、ベルリン、ハイデルベルク。pp. 1–22。doi : 10.1007/978-3-540-28628-8_1。ISBN 9783540226680。
- ^ Knudsen, Lars R.; Mathiassen, John Erik (2000-04-10)。「DES に対する選択平文線形攻撃」。高速ソフトウェア暗号化。コンピュータサイエンスの講義ノート。第 1978 巻。Springer、ベルリン、ハイデルベルク。pp. 262–272。doi : 10.1007 /3-540-44706-7_18。ISBN 978-3540447061。
- ^ Junod, Pascal (2001-08-16). 「Matsui の攻撃の複雑さについて」.暗号の選択分野. コンピュータサイエンスの講義ノート. 第 2259 巻. Springer, ベルリン, ハイデルベルク. pp. 199–211. doi :10.1007/3-540-45537-X_16. ISBN 978-3540455370。
- ^ Biham, Eli; Biryukov, Alex (1997-06-01). 「DES に対する Davies の攻撃の改良」. Journal of Cryptology . 10 (3): 195–205. doi : 10.1007/s001459900027 . ISSN 0933-2790. S2CID 4070446.
- ^ Langford, Susan K.; Hellman, Martin E. (1994-08-21). 「微分線形暗号解析」。暗号学の進歩 — CRYPTO '94。コンピュータサイエンスの講義ノート。第 839 巻。Springer、ベルリン、ハイデルベルク。pp. 17–25。doi : 10.1007 / 3-540-48658-5_3。ISBN 978-3540486589。
- ^ Biham, Eli; Dunkelman, Orr; Keller, Nathan (2002-12-01). 「差分線形暗号解析の強化」。暗号学の進歩 — ASIACRYPT 2002。 コンピュータサイエンスの講義ノート。 第 2501 巻。 Springer、ベルリン、ハイデルベルク。 pp. 254–266。doi :10.1007/3-540-36178-2_16。ISBN 978-3540361787。
- ^ Menezes, Alfred J.; van Oorschot, Paul C.; Vanstone, Scott A. (1996). Handbook of Applied Cryptography . CRC Press. p. 257. ISBN 978-0849385230。
- ^ キャンベルとウィーナー、1992年。1992年8月16日。pp.512–520。ISBN 9783540573401。
- ^ 「Double DES」(PDF) 。 2011年4月9日時点のオリジナルよりアーカイブ(PDF) 。
- ^ Sanjay Kumar、Sandeep Srivastava。「Simplified Data Encryption Standard (S-DES) を使用した画像暗号化」Wayback Machineに 2015 年 12 月 22 日にアーカイブ。2014 年。
- ^ Alasdair McAndrew. 「オープンソース ソフトウェアによる暗号化入門」。2012 年。セクション「8.8 簡易 DES: sDES」。p. 183 ~ 190。
- ^ William Stallings. 「付録 G: 簡易 DES」. 2010 年.
- ^ Nalini N; G Raghavendra Rao. 「最適化ヒューリスティックスによる簡易データ暗号化標準の暗号解析」 2006 年。
- ^ ミン・ヴァン・グエン。 「簡易DES」。 2009年。
- ^ マノジ・クマール博士。「暗号化とネットワーク セキュリティ」。セクション 3.4: DES の簡易バージョン (S-DES)。p. 96。
- ^ Edward F. Schaefer. 「簡略化されたデータ暗号化標準アルゴリズム」. doi :10.1080/0161-119691884799 1996.
- ^ Lavkush Sharma、Bhupendra Kumar Pathak、Nidhi Sharma。「バイナリ粒子群最適化を使用した簡易データ暗号化標準の破り」2012年。
- ^ 「暗号化研究: Advanced Encryption Standard のより良い教育および学習方法の考案」。
- ^ 「高度暗号化標準 FIPS の開発を発表 | CSRC」 2017 年 1 月 10 日。
- ^ http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf 2001年11月26日.
参考文献
- Biham, EliおよびShamir, Adi ( 1991)。「DES のような暗号システムの差分暗号解析」。Journal of Cryptology。4 ( 1 ): 3–72。doi :10.1007/BF00630563。S2CID 206783462。
{{cite journal}}: CS1 maint: 複数の名前: 著者リスト (リンク)(プレプリント) - Biham, EliおよびShamir, Adi、「データ暗号化標準の差分暗号分析」、Springer Verlag、1993 年。ISBN 0-387-97930-1、ISBN 3-540-97930-1。
- ビハム、エリ、アレックス・ビリュコフ:DESに対するデイヴィス攻撃の改良。J.暗号学10(3):195–206 (1997)
- ビハム、エリ、オー・ダンケルマン、ネイサン・ケラー:差分線形暗号解読の強化。ASIACRYPT 2002:pp254–266
- Biham, Eli : ソフトウェアにおける高速な新しい DES 実装
- DES の解読: 暗号化研究、盗聴政策、チップ設計の秘密、電子フロンティア財団
- Biryukov, A, C. De Canniere および M. Quisquater (2004) 。Franklin , Matt (編)。暗号学の進歩 - CRYPTO 2004。コンピュータサイエンスの講義ノート。第 3152 巻。pp. 1–22。doi : 10.1007/b99099。ISBN 978-3-540-22668-0. S2CID 27790868。
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)(プレプリント)。 - キャンベル、キース W.、マイケル J. ウィーナー: DES はグループではない。CRYPTO 1992: pp512–520
- コッパースミス、ドン. (1994). データ暗号化標準 (DES) とWayback Machineでの攻撃に対するその強度(2007 年 6 月 15 日アーカイブ). IBM Journal of Research and Development , 38 (3), 243–250.
- Diffie、Whitfield、Martin Hellman、「NBSデータ暗号化標準の徹底的な暗号解析」IEEE Computer 10(6)、1977年6月、pp74-84
- Ehrsam 他、データ セキュリティのための製品ブロック暗号システム、米国特許 3,962,539、1975年 2 月 24 日出願
- ギルモア、ジョン、「DES のクラッキング: 暗号化研究、盗聴政策、チップ設計の秘密」、1998 年、O'Reilly、ISBN 1-56592-520-3。
- パスカル・ジュノー「松井の攻撃の複雑さについて」暗号技術の選択領域、2001年、199~211ページ。
- カリスキ、バートン S.、マット ロブショー:多重近似法を用いた線形暗号解析。CRYPTO 1994:pp26–39
- Knudsen, Lars、John Erik Mathiassen: DES に対する選択平文線形攻撃。高速ソフトウェア暗号化- FSE 2000: pp262–272
- ラングフォード、スーザン K.、マーティン E. ヘルマン: 差分線形暗号解析。CRYPTO 1994: 17–25
- レヴィ、スティーブン、『暗号:コードの反逆者が政府に勝つ - デジタル時代のプライバシー保護』、2001 年、ISBN 0-14-024432-8。
- 松井充( 1994)。Helleseth, Tor (編)。暗号学の進歩 - EUROCRYPT '93。コンピュータサイエンスの講義ノート。第 765 巻。pp. 386–397。CiteSeerX 10.1.1.50.8472。doi : 10.1007 /3-540-48285-7。ISBN 978-3-540-57600-6. S2CID 21157010。
- 松井充 (1994)。「データ暗号化標準の最初の実験的暗号解析」。暗号学の進歩 - CRYPTO '94。コンピュータサイエンスの講義ノート。第 839 巻。pp. 1–11。doi : 10.1007/3-540-48658-5_1。ISBN 978-3-540-58333-2。
- 米国国立標準局、データ暗号化規格、FIPS-Pub.46。米国国立標準局、米国商務省、ワシントン DC、1977 年 1 月。
- Christof Paar、Jan Pelzl、「データ暗号化標準 (DES) とその代替手段」、『学生と実践者のための教科書、暗号化の理解』の第 3 章の無料オンライン講義。Springer、2009 年。
外部リンク
- FIPS 46-3: DES 標準を説明した公式文書 (PDF)
- COPACOBANA、ボッフム大学とキール大学による FPGA ベースの 10,000 ドルの DES クラッカー
- DES のステップバイステップの説明と信頼性の高いメッセージエンコードアプリケーション
- ソフトウェアにおける高速な新しい DES 実装 - Biham
- 多重線形近似について
- RFC4772 : データ暗号化標準 (DES) の使用によるセキュリティへの影響
- NIST SP 958 の DES 章を使用して実装された DES 暗号の Python コード
