 |
Aug. 23 1997
MD5 って何 ?
MD5 (Message Digest #5) は 1 方向ハッシュ関数です。MD4 がある暗号学者に破られた後に1991 年に
MIT の Ron Rivest 教授らによって開発されました。
方向ハッシュ関数って何?
- 方向ハッシュ関数とは以下の 2 つの特性を持ちます。
- 出力値から入力値を導き出せません。
y = MD5(x)
x から y は簡単に求められますが, y から x は求められません。
- 2 つのことなる入力値が同じ出力値を生成する確率は殆んどゼロです。

なぜ1方向ハッシュ関数が必要か?
例えば、仮に一般的によく使われる表計算ソフトウエアがあります。この表計算ソフトと同じファイルサイズですがロジックボムやウィルスを埋め込んだ見かけ上同じ別の改竄された表計算ソフトを作ることが可能なのです。つまり、オリジナルの表計算ソフトだと思い込んでこのロジックボム付の改竄された表計算ソフトを使ってしまうと大変です。そこで
MD5 に代表されるような1方向ハッシュ関数が役にたちます。この本当の表計算ソフトのハッシュ値とこれから使おうとする表計算ソフトのハッシュ値を比較すれば、この二つの表計算ソフトが同じものなのかが確認できるというわけです。
MD5 特徴は?
- 方向ハッシュ関数である MD5 には以下のような特徴があります。
- 任意の長さのメッセージに対して、128 bits のハッシュ値を作り出します。
- 安全性, シンプル, 速さ (MD4 よりは遅い) をポイントに開発されました。
既に一部 MD5 の弱点は見つかっていますが、アルゴリズム全体の安全性に影響が無いので、今でもインターネット上でよく使われています。例えば、頻繁に更新されている
sendmail、bind 等のデータの正当性確認や PGP、PEM での利用です。例えば、サイボウズ株式会社 の『サイボウズ
AG』や『サイボウズ Office 4 』、そして『サイボウズ
デヂエ』も MD5 を利用し、商品のハッシュ値をホームページに記載し改竄の有無を確認して頂くことができるように安全性を高めています。
|
|
|
 |