MD5 【Message Digest 5】

概要

MD5(Message Digest 5)とは、任意の長さの原文を元に128ビットの値を生成するハッシュ関数(要約関数)の一つ。生成された値はハッシュ値(MD5ハッシュ)と呼ばれる。

ハッシュ関数は入力データを元に規則性のない固定長のデータを算出する関数で、同じ入力値からは必ず同じ値が得られる一方、わずかでも入力値が異なるとまったく違う出力値になる。逆算不能な一方向関数を含み、ハッシュ値から入力値を割り出したり、同じハッシュ値となる別の入力値を生成することは困難となっている。

データの伝送や複製を行なう際、入力側と出力側でハッシュ値を求めて照合すれば同一性を簡単に確認でき、途中でデータの改竄や欠落、破損などが起こっていないことが分かる。暗号認証デジタル署名などの要素技術として様々な場面で利用されている。

MD5は1991年に考案されたアルゴリズムで、128ビット(16バイト)固定長のハッシュ値を算出する。テキスト(文字)として記載する際は「7f138a09169b250e9dcb378140907378」といったように4ビットずつ16進数の「0」から「f」に対応付け、32桁の英数字で表す記法がよく用いられる。

IETFによってRFC 1321として標準化され、古くからソフトウェアの配布などで利用者が受け取ったファイルが配布されているものに相違ないかを確かめるのによく利用された。LinuxなどのUNIX系OSでは「md5sum」あるいは「md5」というコマンドで指定したファイルのMD5ハッシュを算出することができる。

インターネットの普及期には暗号通信などにも広く応用されてきたが、近年ではコンピュータの性能向上や攻撃手法の研究の進展などで、同一のMD5ハッシュを持つ異なる原文のペアを効率よく探索する手法などが考案されている。セキュリティ用途で使用するのは十分安全とは言えなくなっており、SHA-2など後発のより安全なハッシュ関数に置き換えることが推奨されている。

(2022.9.7更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。