| 一般的な | |
|---|---|
| デザイナー | ロナルド・リベスト |
| 初版 | 1990年10月[ 1 ] |
| シリーズ | MD2、MD4、MD5、MD6 |
| 暗号の詳細 | |
| ダイジェストサイズ | 128ビット |
| ブロックサイズ | 512ビット |
| ラウンド | 3 |
| 最高の公開暗号解読 | |
| 2007年に公開された衝突攻撃は、2回のハッシュ操作未満で完全なMD4の衝突を見つけることができます。[ 2 ] | |
MD4メッセージダイジェストアルゴリズムは、 1990年にロナルド・リベストによって開発された暗号ハッシュ関数です。[ 3 ]ダイジェスト長は128ビットです。このアルゴリズムは、 MD5、SHA-1、RIPEMDアルゴリズムといった後継の設計に影響を与えました。「MD」という頭文字は「Message Digest(メッセージダイジェスト)」の略です。

MD4のセキュリティは深刻な脆弱性を抱えています。MD4に対する最初の完全な衝突攻撃は1995年に公開され、それ以来、いくつかの新しい攻撃が発表されています。2007年現在、攻撃は2回のMD4ハッシュ演算未満で衝突を発生させることができます。[ 2 ]理論的な原像攻撃も存在します。
MD4のバリアントは、ed2k URIスキームで使用され、一般的なeDonkey2000 / eMule P2Pネットワークでファイルに一意の識別子を提供します。MD4は、rsyncプロトコル(バージョン3.0.0より前)でも使用されていました。
MD4は、Microsoft Windows NT、XP、Vista、7、8、10、11でNTLMパスワード派生キーダイジェストを計算するために使用されます。[ 4 ]
安全
[編集]MD4の脆弱性は、1991年に発表された論文でデン・ボアとボッセラーズによって実証されました。[ 5 ] MD4の全ラウンド衝突攻撃は、1995年にハンス・ドッベルティンによって初めて発見されました。当時、この攻撃の実行にはわずか数秒しかかかりませんでした。[ 6 ] 2004年8月、ワンらは、MD4/MD5/SHA-1/RIPEMDファミリーにおける後続のハッシュ関数設計に対する攻撃と並んで、非常に効率的な衝突攻撃を発見しました。この結果は後にササキらによって改良され、衝突を生成するコストは、衝突を検証するコストと同じくらい安価になりました(数マイクロ秒)。[ 2 ]
2008年には、 MD4の原像計算耐性もガエタン・ルランによって2 102攻撃で破られた。[ 7 ] 2010年には郭らが2 99.7攻撃を発表した。[ 8 ]
2011 年、RFC 6150 では、RFC 1320 (MD4) は歴史的(廃止) であると述べられました。
MD4ハッシュ
[編集]128ビット(16バイト)のMD4ハッシュ(メッセージダイジェストとも呼ばれます)は、通常32桁の16進数で表されます。以下は、43バイトのASCII入力とそれに対応するMD4ハッシュを示しています。
MD4(「素早い茶色のキツネが怠け者の犬を飛び越える」)= 1bee69a46ba811185c194762abaeae90メッセージに小さな変更を加えただけでも(非常に高い確率で)完全に異なるハッシュが生成されます。たとえば、d次のように変更されますc。
MD4(「素早い茶色のキツネが怠け者の歯車を飛び越える」)= b86e130ce7028da59e672d56ad0113df長さゼロの文字列のハッシュは次のとおりです。
MD4("") = 31d6cfe0d16ae931b73c59d7e0c089c0MD4テストベクトル
[編集]以下のテストベクトルはRFC 1320(MD4メッセージダイジェストアルゴリズム)で定義されています。
MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729dMD4(「メッセージダイジェスト」) = d9130a8164549fe818874806e1c7014bMD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536MD4衝突の例
[編集]させて:
k1 = 839c7a4d7a92cb 5 678a5d5 b 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318ed d 45e51fe39708bf9427e9c3e8b9 k2 = 839c7a4d7a92cb d 678a5d5 2 9eea5a7573c8a74deb366c3dc20a083b69f5d2a3bb3719dc69891e9f95e809fd7e8b23ba6318ed c 45e51fe39708bf9427e9c3e8b9
MD4(k1) = MD4(k2) = 4d7e6a1defa93d2dde05b45d864c429b
k1 と k2 の 2 つの 16 進数は、長さが 64 バイトである入力文字列の 1 バイトを定義することに注意してください。
参照
[編集]参考文献
[編集]- バート・デン・ブール、アントゥーン・ボッセラーズ:「MD4の最後の2ラウンドへの攻撃」Crypto 1991: 194–203
- ハンス・ドッベルティン:MD4の暗号解読.高速ソフトウェア暗号化 1996:53–69
- ハンス・ドッベルティン, 1998. MD4の暗号解読. J. Cryptology 11(4): 253–271
- Xiaoyun Wang、Xuejia Lai、Denggu Feng、Hui Chen、Xiuyuan Yu: ハッシュ関数 MD4 および RIPEMD の暗号解析。ユーロクリプト 2005: 1–18
- 佐々木 優、王 磊、太田 和夫、國弘 昇:MD4のための新しいメッセージ差分.高速ソフトウェア暗号化2007:329–348
- ^ Rivest, Ronald L. (1990年10月). 「MD4 メッセージダイジェストアルゴリズム」 . ネットワークワーキンググループ. 2011年4月29日閲覧。
- ^ a b c 佐々木優他 (2007). 「MD4の新しいメッセージ差分」(PDF) .
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ 「MD2、MD4、MD5とは何ですか?」公開鍵暗号標準(PKCS):PKCS #7:暗号メッセージ構文標準:3.6 その他の暗号化技術:3.6.6 MD2、MD4、MD5とは何ですか? RSA Laboratories。 2011年9月1日時点のオリジナルよりアーカイブ。 2011年4月29日閲覧。
- ^ 「5.1 実装者のためのセキュリティに関する考慮事項」 。 2011年7月21日閲覧。
パスワードから鍵を導出する方法は、[RFC1320]および[FIPS46-2]で規定されている。
- ^ Bert den Boer, Antoon Bosselaers (1991). 「MD4の最後の2ラウンドに対する攻撃」(PDF) . 2003年5月23日時点のオリジナル(PDF)からアーカイブ。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ Hans Dobbertin (1995年10月23日). 「MD4の暗号解読」 . Journal of Cryptology . 11 (4): 253– 271. doi : 10.1007/s001459900047 . S2CID 7462235 .
- ^ ガエタン・ルーラン (2008-02-10)。「MD4 は一方向ではありません」(PDF)。高速ソフトウェア暗号化。コンピューターサイエンスの講義ノート。 Vol. 5086.スプリンガー。 pp. 412–428。土井: 10.1007/978-3-540-71039-4_26。ISBN 978-3-540-71038-7. 2011年6月11日時点のオリジナル (PDF)からアーカイブ。
{{cite book}}:|journal=無視されました (ヘルプ) - ^ Guo, Jian; Ling, San; Rechberger, Christian; Wang, Huaxiong (2010). 「高度なMeet-in-the-Middle Preimage Attacks: First Results on Full Tiger, and Improved Results on MD4 and SHA-2」 . Advances in Cryptology - ASIACRYPT 2010. Lecture Notes in Computer Science. Vol. 6477. pp. 56– 75. doi : 10.1007/978-3-642-17373-8_4 . hdl : 10356/94168 . ISBN 978-3-642-17372-1。
外部リンク
[編集]- RFC 1320 - Ron RivestによるMD4の説明
- RFC 6150 - MD4 の歴史的ステータス
- Rivest, Ronald (1991). 「MD4メッセージダイジェストアルゴリズム」. Advances in Cryptology-CRYPT0' 90 . Lecture Notes in Computer Science. Vol. 537. Springer Berlin / Heidelberg. pp. 303– 311. doi : 10.1007/3-540-38424-3_22 . ISBN 978-3-540-54508-8。