| |

|
IP-SHA2-32: SHA-2 Hash Function (32bit)SHA-2
は, 米国標準技術局 (NIST) が規格化した米国政府標準ハッシュ関数(FIPS 180-2)です. これは, SHA-1 の上位規格であり, SHA-1
に加えて, ハッシュ関数 SHA-256, SHA-384, SHA-512 が新たに規格化されています. IP-SHA2-32は,
FIPS 180-2のSHA-1とSHA-256に完全準拠する SHA-2 IP コアで, 32-bit ずつ入力されるデータストリームに対して, 5×32
= 160-bit あるいは 8×32 = 256-bitのハッシュ値を出力します. |
アーキテクチャ IP-SHA2-32では,
部分的に並列&パイプライン処理を行うことによって, スピード・ファクタ2.89 (SHA-1), 3.53(SHA-256)を達成しています. データ幅などの違いを除いて, 基本構造は,
IP-SHA1 とほぼ同様です.
|
|
ベンチマークIP-SHA2-32
は, 例えば, Xilinx FPGA においては, 次のような性能を達成します. |
ターゲットデバイス | スライス数
| ブロックRAM数
| 動作速度 |
| XC4V LX15-12 | 1495 | 0 | 189
MHz | | XC5V
LX30-3 | 651 | 0 | 243
MHz | IP-SHA2-32は, 16クロックのデータ入力ごとに,
T=161 (MODE=0), T=129(MODE=1) クロックの処理時間を必要とします.
このため, 十分に長いデータ系列に対するデータ速度は, 次のようになります. [データ速度Mbps]
= [動作速度MHz]×{32×16}÷{T+16} = 2.89×[動作速度MHz] (MODE=0) [データ速度Mbps]
= [動作速度MHz]×{32×16}÷{T+16} = 3.53×[動作速度MHz] (MODE=1) ただし,
データ系列の末尾のデータ入力に対しては, T クロックではなく, 処理される末尾のデータの長さに依存して, 2T+1クロック以上2T+16
クロック以下の処理時間が必要です. |  |