CyberGlossary

暗号

MD5

別称: Message Digest 5

定義

Ron Rivest が 1992 年に設計した 128 ビットの暗号学的ハッシュ関数。実用的な衝突が容易に作れる「破られた」アルゴリズムであり、セキュリティ用途では使用してはならない。

MD5(Message Digest 5)は RFC 1321 で規定された Merkle–Damgård 構造のハッシュ関数で、128 ビットのダイジェストを生成します。1990 年代から 2000 年代にかけてデジタル署名、証明書、パスワード保存、完全性チェックに広く用いられました。2004 年に Wang らが初の実用的衝突を発表し、その後はチョーズン・プレフィックス衝突が数分で計算可能となり、Flame マルウェア(2012)が偽の認証局を作り出した事件などが有名です。MD5 は衝突耐性を完全に失い、原像耐性も弱く、NIST、PCI DSS、CA/Browser Forum、TLS でいずれも禁止されています。署名・証明書・パスワード保存(Argon2/scrypt/bcrypt を使う)・新規設計のいずれにも使うべきではありません。現代の代替は SHA-256、SHA-3、BLAKE2/BLAKE3 で、MD5 はセキュリティを目的としないチェックサムやレガシー互換にのみ残ります。

  • 悪意ある改ざんではなく偶発的破損のみを検出する用途では、ダウンロードの MD5 チェックサムが今も使われている。
  • Flame マルウェア(2012)は MD5 のチョーズン・プレフィックス衝突を悪用して Microsoft のコード署名証明書を偽造した。

関連用語