MD5
Information on how to protect your privacy and cryptography in Japanese. Dedicated to Bananafish.

Home | Tin-foil hat | Encryption | Cryptography | Miscellaneous | Site Map | Email & PGP Key

free web page counters

MD5 (Message-Digest Algorithm 5)

1. Summary

 The MD5 algorithm は様々な長さのメッセージを 128-bit のメッセージの "fingerprint" or "message digest" として出力する。

2. 用語

ここでは "word" を 32-bit そして "byte" を eight-bit とする。

3. MD5 Algorithm について

まず b-bit のメッセージを input として考える。
b は任意の自然数; b は 0 かもしれないが, 8 の倍数である必要はない。

m_0 m_1 ... m_{b-1}

3.1 Step 1. メッセージの拡張

メッセージは 512 で割った余りが 448 になるように拡張される。
メッセージの拡張はたとえ最初から 512 で割った余りが 448 でも必ず行われる。

拡張は以下のように行われる。
まず、"1" bit がメッセージに追加される。
そして、"0" bits が 512 で割った余りが 448 になるように追加される。
少なくとも one bit そして最大で 512 bits が追加される。

3.2 Step 2. Length の追加


A 64-bit の b (拡張が行われる前のビット長) が前のステップの結果に追加
される。
もし、b が 264 がより大きい時は, b の下 64 bits だけが使われる。 (これらの bits は後々の為に low-order word が先になるように2つの 32-bit words として足される)

この結果メッセージの長さは 512 bits の倍数になる。
そしてそれは、16 (32-bit) words の倍数である。

そのメッセージを M[0 ... N-1] で表すと N は 16 の倍数になる。

MAY BE CONTINUED