MD2とは? わかりやすく解説

MD2

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/24 15:01 UTC 版)

ナビゲーションに移動 検索に移動
MD2
一般
設計者 ロナルド・リベスト
初版発行日 1989年8月[1]
シリーズ MD2, MD4, MD5, MD6
詳細
ダイジェスト長 128 bits
ラウンド数 18

MD2(Message Digest Algorithm 2)とは、1989年ロナルド・リベストが開発した暗号学的ハッシュ関数[1][2]。このアルゴリズムは8ビットコンピュータ向けに最適化されている。MD2 の仕様は RFC 1319 で示されている。MD2は既に安全でないことが示されているが、 2014年現在もRSA暗号と共に公開鍵証明書を発行する公開鍵基盤として使われ続けている。

概要

任意のメッセージのハッシュ値が、コンピュータ上のブロック長(128ビット/16バイト)の倍数になるようパディングされ、16バイトのチェックサムを追加した状態で計算される。実際の計算では、48バイトの補助ブロックと円周率の小数部分の数列から間接的に生成された256バイトのSテーブルを使用する。そのアルゴリズムは、処理される16個の入力バイトそれぞれについて、補助ブロックの各バイトを18回並べ替えるループを使用する。パディングされたメッセージの全ブロックの処理が終わると、補助ブロックの最初の不完全ブロックがそのメッセージのハッシュ値になる。

Sテーブルの値を16進数で表すと次のようになる。

0x29, 0x2E, 0x43, 0xC9, 0xA2, 0xD8, 0x7C, 0x01, 0x3D, 0x36, 0x54, 0xA1, 0xEC, 0xF0, 0x06, 0x13, 
0x62, 0xA7, 0x05, 0xF3, 0xC0, 0xC7, 0x73, 0x8C, 0x98, 0x93, 0x2B, 0xD9, 0xBC, 0x4C, 0x82, 0xCA, 
0x1E, 0x9B, 0x57, 0x3C, 0xFD, 0xD4, 0xE0, 0x16, 0x67, 0x42, 0x6F, 0x18, 0x8A, 0x17, 0xE5, 0x12, 
0xBE, 0x4E, 0xC4, 0xD6, 0xDA, 0x9E, 0xDE, 0x49, 0xA0, 0xFB, 0xF5, 0x8E, 0xBB, 0x2F, 0xEE, 0x7A, 
0xA9, 0x68, 0x79, 0x91, 0x15, 0xB2, 0x07, 0x3F, 0x94, 0xC2, 0x10, 0x89, 0x0B, 0x22, 0x5F, 0x21,
0x80, 0x7F, 0x5D, 0x9A, 0x5A, 0x90, 0x32, 0x27, 0x35, 0x3E, 0xCC, 0xE7, 0xBF, 0xF7, 0x97, 0x03, 
0xFF, 0x19, 0x30, 0xB3, 0x48, 0xA5, 0xB5, 0xD1, 0xD7, 0x5E, 0x92, 0x2A, 0xAC, 0x56, 0xAA, 0xC6, 
0x4F, 0xB8, 0x38, 0xD2, 0x96, 0xA4, 0x7D, 0xB6, 0x76, 0xFC, 0x6B, 0xE2, 0x9C, 0x74, 0x04, 0xF1, 
0x45, 0x9D, 0x70, 0x59, 0x64, 0x71, 0x87, 0x20, 0x86, 0x5B, 0xCF, 0x65, 0xE6, 0x2D, 0xA8, 0x02, 
0x1B, 0x60, 0x25, 0xAD, 0xAE, 0xB0, 0xB9, 0xF6, 0x1C, 0x46, 0x61, 0x69, 0x34, 0x40, 0x7E, 0x0F, 
0x55, 0x47, 0xA3, 0x23, 0xDD, 0x51, 0xAF, 0x3A, 0xC3, 0x5C, 0xF9, 0xCE, 0xBA, 0xC5, 0xEA, 0x26, 
0x2C, 0x53, 0x0D, 0x6E, 0x85, 0x28, 0x84, 0x09, 0xD3, 0xDF, 0xCD, 0xF4, 0x41, 0x81, 0x4D, 0x52, 
0x6A, 0xDC, 0x37, 0xC8, 0x6C, 0xC1, 0xAB, 0xFA, 0x24, 0xE1, 0x7B, 0x08, 0x0C, 0xBD, 0xB1, 0x4A, 
0x78, 0x88, 0x95, 0x8B, 0xE3, 0x63, 0xE8, 0x6D, 0xE9, 0xCB, 0xD5, 0xFE, 0x3B, 0x00, 0x1D, 0x39, 
0xF2, 0xEF, 0xB7, 0x0E, 0x66, 0x58, 0xD0, 0xE4, 0xA6, 0x77, 0x72, 0xF8, 0xEB, 0x75, 0x4B, 0x0A, 
0x31, 0x44, 0x50, 0xB4, 0x8F, 0xED, 0x1F, 0x1A, 0xDB, 0x99, 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14

MD2 ハッシュ値

128ビット(16バイト)の MD2 のハッシュ値(これを message digests とも呼ぶ)は、通常32桁の16進数で表される。以下に 43バイトの ASCIIを入力として MD2 のハッシュ値を得る様子を示す。

 MD2("The quick brown fox jumps over the lazy dog")
  = 03d85a0d629d2c442e987525319fc471

メッセージに微妙な修正を施した場合でも、完全に異なるハッシュ値が生成される。ここでは、dogcog に修正されている。

 MD2("The quick brown fox jumps over the lazy cog")
  = 6b890c9292668cdbbfda00a4ebf31f05

長さ 0 のメッセージのハッシュ値は次のようになる。

 MD2("") = 8350e5a3e24c153df2275c9f80692773

セキュリティ

Rogier と Chauvaud (1997年) は MD2 の圧縮関数でのコリジョンを見出した。ただし、彼らも MD2 全体への攻撃には成功しなかった。

2004年、2104 の圧縮関数評価と等価な時間複雑性原像攻撃で MD2 の脆弱性が明らかとなった(Muller、2004年)。「MD2 はもはや安全な単方向のハッシュ関数とは言えない」

2008年、273 の圧縮関数評価と等価な時間複雑性および 273 のメッセージブロックのメモリ容量による原像攻撃が示された[3]

2009年、263.3 の圧縮関数評価と等価な時間複雑性および 252 のハッシュ値のメモリ容量による衝突攻撃で MD2 の脆弱性が示された。これは265.5の圧縮関数評価が必要と見積もられている誕生日攻撃よりも若干よい値である[4]

2009年、OpenSSLGnuTLSNetwork Security Services においてMD2を使用不可にするセキュリティアップデートが発行された[5]

参考文献

  • Burt Kaliski, RFC 1319 - MD2 Message Digest Algorithm, April 1992.
  • N. Rogier, Pascal Chauvaud, The compression function of MD2 is not collision free, Selected Areas in Cryptography - SAC'95 Ottawa, Canada, May 18–19, 1995 (workshop record).
  • N. Rogier, Pascal Chauvaud, MD2 is not Secure without the Checksum Byte, Designs, Codes and Cryptography, 12(3), pp245–251, 1997.
  • Frédéric Muller, The MD2 Hash Function is Not One-Way, ASIACRYPT 2004, pp214–229.
  • Lars R. Knudsen and John Erik Mathiassen, Preimage and Collision Attacks on MD2. FSE 2005.

脚注

  1. ^ a b John Linn, RFC 1115 - Privacy Enhancement for Internet Electronic Mail: Part III—Algorithms, Modes, and Identifiers, Section 4.2, August 1989, Source by Ron L. Rivest October, 1988.
  2. ^ What are MD2, MD4, and MD5?”. Public-Key Cryptography Standards (PKCS): PKCS #7: Cryptographic Message Syntax Standard: 3.6 Other Cryptographic Techniques: 3.6.6 What are MD2, MD4, and MD5?. RSA Laboratories. 2011年4月29日閲覧。
  3. ^ Søren S. Thomsen (2008). An improved preimage attack on MD2. http://eprint.iacr.org/2008/089.pdf. 
  4. ^ http://www.springerlink.com/content/qn746388035614r1/
  5. ^ CVE-2009-2409

関連項目

外部リンク

  • RFC 1319, The MD2 Message-Digest Algorithm
  • RFC 6149, MD2 to Historic Status
  • Online MD2 Calculator over HTTPS
  • Serversniff.net 文字列の MD2 などのハッシュ値を計算するオンラインツール
  • テキスト、16進、2進、Base64などの相互変換と同時にMD2その他のハッシュ値を計算するオンラインツール [1]

MD2

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/06 04:53 UTC 版)

三菱重工業MD形台車」の記事における「MD2」の解説

MD1とは異なり枕ばね機構試験目的設計され当時国TR37台車などで一般に使用されるようになり始めていた、ペデスタル摺動により軸箱案内を行うウィングばね式軸箱支持機構備える。 平・斜めコイルばねによる揺れ枕支持という非常に独創的な機構備えるが、この機構継承した台車製作されず、本形式一代終了となった

※この「MD2」の解説は、「三菱重工業MD形台車」の解説の一部です。
「MD2」を含む「三菱重工業MD形台車」の記事については、「三菱重工業MD形台車」の概要を参照ください。

ウィキペディア小見出し辞書の「MD2」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MD2」の関連用語

MD2のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MD2のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのMD2 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの三菱重工業MD形台車 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS