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が必要です。こちらからダウンロードできます。 | |
|
|

