MD5
読み:エムディーファイヴ
外語:MD5: Message Digest 5
一方向
ハッシュ関数
の一つ。原文の長さに関係なく、128ビットの固定長
データ列
(
ハッシュ値
)を生成する。現在は非推奨の古い技術である。
目次
概要
特徴
規格
MD4との違い
弱点
用例
概要
1991(平成3)年にRSA暗号のRon Rivestにより開発された。
同一性確認(
改竄
されてないことの確認)や
認証
などに利用されていた。
このハッシュ値には、次のような性質がある。
ハッシュ値
から原文を得ることはできない
異なる原文から同一のハッシュ値が得られる可能性は非常に低い
僅かな原文の差でも、出力されるハッシュ値は大きく異なったものになる
特徴
規格
この関数の具体的なアルゴリズムは
RFC 1321
で規定されている。
MD4との違い
MD5は、
MD4
と比較して次のような特徴がある(RFC 1321 第5章)。
4番目のラウンドが追加された。
現在の各ステップはユニークな付加的定数を持っている。
ラウンド2の機能gは、gをあまり均整がとれた状態にしないように、(XY ∨ XZ ∨ YZ) から (XZ ∨ Y not(Z)) に変更された。
現在の各ステップに、前のステップの結果を加える。これは、更に速い「なだれ効果」を促進する。
ラウンド2と3でアクセスされるオーダは、これらのパターンが相互に少なくなるように、変更された。
更に速い「なだれ効果」をもたらすために、各ラウンドにおけるシフト量は、かなり最適化された。シフト量はラウンドごとに異なる。
弱点
同一性確認(
改竄
されてないことの確認)や
認証
などの標準として広く利用されることになるが、1992(平成4)年に弱点が発見された。
その後はNSA主導で開発された
SHA-1
、そしてその更に後継へと主役の座を明け渡している。
用例
主な用例として、次のようなものがある。
APOP
CHAP
EAP
(PPP拡張可能証プロトコル)
SMTP AUTH
(
CRAM-MD5
やDIGEST-MD5など)
PGP
の
指紋
(fingerprint)
Winny
のハッシュ
再検索