プログラム

MD5(Message Digest 5)とは

2020年4月29日

MD5(Message Digest 5)

MD5とは

MD5(エムディーファイブ)とは、Message Digest 5の略でハッシュ関数の一つです。128ビット(16進数では32桁)のハッシュ値を生成します。

1991年にロナルド・リベストによって開発されたハッシュ関数で、前規格であるMD4の安全性を向上させた規格です。

MD5でハッシュ値を生成

上記図はMD5を利用してハッシュ値を生成する例です。ハッシュ関数により得られたデータのことを「ハッシュ値」と呼びます。

MD5の脆弱性

ハッシュ関数は、入力データが同じであれば、必ず同じハッシュ値を出力し、入力データが少しでも異なればまったく異なるハッシュ値が出力されます。

MD5イメージ例

そして、ハッシュ値への変換は簡単に計算できるが、元に戻すことは非常に困難である「一方向性関数」の特性があります。

しかし、MD5は生成されたハッシュ値から理論的に元のデータを求めることができたという報告があるなどいくつかの脆弱性が発見されているため、ハッシュ関数の政府推奨暗号リストにはMD5は含まれておらず、SHA-256 (SHA-2のバリエーション)以上が推奨されています。

helpful