| Japanese | English |

IP Cores / IP-MD5 MD5 Hash Function


IP-MD5: MD5 Hash Function

MD5 (Message Digest Algorithm 5) は、 1991年にMIT教授ロナルド・リベストによって、 電子署名を必要とするアプリケーション向けに開発されたハッシュ関数です。MD5は, 通信システムなどにおいて、 通信途中でデータが改ざんされていないかを検出するのに広く使われており、RFC 1321としてIETFで標準化されています。

IP-MD5は, RFC 1321に完全準拠する MD5 IP コアで、 32-bit ずつ入力されるデータストリームに対して、4$#215;32 = 128-bit のハッシュ値を出力します。

アーキテクチャ

IP-MD5では、 部分的に並列&パイプライン処理を行うことによって、スピード・ファクタ1.87を達成しています。

MD5_ENGINE (Engine部分)

IP-MD5

ピンアウト

ベンチマーク

IP-MD5 は, 例えば, Xilinx FPGA においては, 次のような性能を達成します.

ターゲットデバイス
スライス数 ブロックRAM数 動作速度
XC2V 3000-6 935 1 114 MHz
XC4V LX15-12 883 0 198 MHz
XC5V LX30-3 531 0 250 MHz

また、Altera FPGA においては、次のような性能を達成します。

ターゲットデバイス
ALUT数 Memory(bits) 動作速度
EP1S10-C5 (Stratix) 1,988 512 90 MHz

IP-MD5 は、16クロックのデータ入力ごとに、T=257 クロックの処理時間を必要とします。 このため、十分に長いデータ系列に対するデータ速度は、次のようになります。

[データ速度Mbps] = [動作速度MHz]×{32×16}÷{T+16} = 1.87×[動作速度MHz]

ただし, データ系列の末尾のデータ入力に対しては、T=257 クロックではなく、処理される末尾のデータの長さに依存して、2T+1クロック以上2T+16 クロック以下の処理時間が必要です。

データシート

IP-MD5 データシート
IP-MD5 のデータシートはこちらからダウンロードできます。詳細については、データシートをご覧ください。
Adobe Acrobat Reader のダウンロード
PDFファイルを開くためにはAcrobatReaderが必要です。こちらからダウンロードできます。

IP Core Products / IP-MD5 MD5 Hash Function