MD5
読み:エムディーファイヴ
外語:MD5: Message Digest 5

 一方向ハッシュ関数の一つ。原文の長さに関係なく、128ビットの固定長データ列(ハッシュ値)を生成する。現在は非推奨の古い技術である。
目次

概要
 1991(平成3)年にRSA暗号のRon Rivestにより開発された。
 同一性確認(改竄されてないことの確認)や認証などに利用されていた。
 このハッシュ値には、次のような性質がある。

特徴

規格
 この関数の具体的なアルゴリズムはRFC 1321で規定されている。

MD4との違い
 MD5は、MD4と比較して次のような特徴がある(RFC 1321 第5章)。
  1. 4番目のラウンドが追加された。
  2. 現在の各ステップはユニークな付加的定数を持っている。
  3. ラウンド2の機能gは、gをあまり均整がとれた状態にしないように、(XY ∨ XZ ∨ YZ) から (XZ ∨ Y not(Z)) に変更された。
  4. 現在の各ステップに、前のステップの結果を加える。これは、更に速い「なだれ効果」を促進する。
  5. ラウンド2と3でアクセスされるオーダは、これらのパターンが相互に少なくなるように、変更された。
  6. 更に速い「なだれ効果」をもたらすために、各ラウンドにおけるシフト量は、かなり最適化された。シフト量はラウンドごとに異なる。

弱点
 同一性確認(改竄されてないことの確認)や認証などの標準として広く利用されることになるが、1992(平成4)年に弱点が発見された。
 その後はNSA主導で開発されたSHA-1、そしてその更に後継へと主役の座を明け渡している。

用例
 主な用例として、次のようなものがある。

再検索