SHA-3候補のハードウェア実装性能評価をSASEBO-GII上で行っています. ハッシュ関数のハードウェアマクロは電気通信大学 太田・崎山研究室が開発したもので,研究目的に限って自由に利用することができます.使用に際しては「使用条件および制限」を必ず参照してください.
アルゴリズム | コード | ブロック サイズ [bit] |
動作速度 | 回路規模 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
動作 周波数 [MHz] |
Clock Cycles | Throughput [Mbps] (Long Msg) |
Latency [us] (Short Msg) 1024bit |
Slices | Registers | LUTs | ||||||
Core | Core +I/F |
Core | Core +I/F |
Core | Core +I/F |
|||||||
SHA-256 | source / binary | 512 | 260 | 68 | 148 | 1,958 | 899 | 0.785 | 1.89 | 609 | 1,224 | 2,045 |
BLAKE | source / binary | 512 | 115 | 22 | 121 | 2,676 | 487 | 0.574 | 3.57 | 1,660 | 1,393 | 5,154 |
BMW | source / binary | 512 | 34 | 2 | 98 | 8,704 | 178 | 0.235 | 10.12 | 4,530 | 1,317 | 15,012 |
CubeHash | source / binary | 256 | 185 | 16 | 64 | 2,960 | 740 | 1.297 | 2.85 | 590 | 1,316 | 2,182 |
ECHO | source / binary | 1,536 | 149 | 99 | 407 | 2,312 | 562 | 0.664 | 3.05 | 2,827 | 4,198 | 9,885 |
Fugue | source / binary | 32 | 78 | 2 | 8 | 1,248 | 312 | 1.321 | 4.47 | 4013 | 1,043 | 13,255 |
Grøstl | source / binary | 512 | 154 | 10 | 106 | 7,885 | 744 | 0.260 | 2.44 | 2,616 | 1,570 | 10,088 |
Hamsi | source / binary | 32 | 210 | 4 | 10 | 1,680 | 672 | 0.690 | 1.92 | 718 | 841 | 2,499 |
JH | source / binary | 512 | 201 | 39 | 135 | 2,639 | 762 | 0.582 | 2.25 | 2,661 | 1612 | 8,392 |
Keccak | source / binary | 1,024 | 205 | 25 | 217 | 8,397 | 967 | 0.244 | 2.35 | 1,433 | 2,666 | 4,806 |
Luffa | source / binary | 256 | 261 | 9 | 57 | 7,424 | 1,172 | 0.207 | 1.31 | 1,048 | 1,446 | 3,754 |
Shabal | source / binary | 512 | 228 | 50 | 143 | 2,335 | 816 | 1.316 | 2.75 | 1,251 | 2,061 | 4,219 |
SHAvite-3 | source / binary | 512 | 251 | 38 | 143 | 3,382 | 959 | 0.454 | 1.79 | 1,063 | 1,363 | 3,564 |
SIMD | source / binary | 512 | 75 | 46 | 142 | 835 | 270 | 1.840 | 6.32 | 3,987 | 6,693 | 13,908 |
Skein | source / binary | 256 | 115 | 21 | 75 | 1,402 | 393 | 0.904 | 3.20 | 854 | 929 | 2,864 |
アルゴリズム | コード | 論理合成 モジュール |
ブロック サイズ [bit] |
動作速度 | 回路規模 [Gates] |
回路効率 [Kbps/gate] |
||
---|---|---|---|---|---|---|---|---|
動作周波数 [MHz] |
Clock Cycles |
Throughput [Mbps] |
||||||
SHA-256 | source | SHA256_CORE | 512 | 735.3 355.9 116.6 |
68 | 5,536 2,680 878 |
18,677 13,199 11,332 |
290.6 203.0 77.4 |
BLAKE | source | BLAKE_CORE | 512 | 286.5 260.4 146.6 |
22 | 6,668 6,061 3,412 |
36,994 30,292 23,214 |
180.5 200.1 147.0 |
BMW | source | bmw256 | 512 | 101.3 84.4 67.4 |
2 | 25,937 21,603 17,262 |
128,655 115,001 105,566 |
201.6 187.9 163.5 |
CubeHash | source | CubeHash_CORE | 256 | 515.5 352.1 171.8 |
16 | 8,247 5,834 2,749 |
35,548 21,336 16,320 |
232.0 264.1 168.5 |
ECHO | source | ECHO_CORE | 1,536 | 362.3 260.4 146.8 |
99 | 5,621 4,040 2,278 |
101,068 67,803 57,834 |
55.6 59.6 39.4 |
Fugue | source | fugue256 | 32 | 170.1 113.0 77.8 |
2 | 2,721 1,808 1,245 |
56,734 45,553 46,683 |
48.0 37.9 26.7 |
Grøstl | source | GROESTL_CORE | 512 | 337.8 257.7 127.9 |
10 | 17,297 13,196 6,547 |
139,113 86,191 56,665 |
124.3 153.1 115.5 |
Hamsi | source | HAMSHI_CORE | 32 | 970.9 543.5 352.1 |
4 | 7,767 4,348 2,817 |
67,582 36,981 32,116 |
114.9 117.6 87.7 |
JH | source | crypto_fpga | 512 | 763.4 694.4 353.4 |
39 | 10,022 9.117 4,639 |
54,594 42,775 31,864 |
183.6 213.1 145.6 |
Keccak | source | keccak | 1,024 | 781.3 540.5 354.6 |
24 | 33,333 23,063 15,130 |
50,675 33,664 29,548 |
657.8 685.1 512.0 |
Luffa | source | LUFFA_CORE | 256 | 1,010.1 537.6 262.5 |
9 | 28,732 15,293 7,466 |
39,642 19,797 19,359 |
724.8 772.5 385.6 |
Shabal | source | SHABAL_CORE | 512 | 591.7 543.5 350.9 |
50 | 6,059 5,565 3,593 |
34,642 30,328 27,752 |
174.9 183.5 129.5 |
SHAvite-3 | source | Shavite_top | 512 | 625.0 492.6 206.6 |
38 | 8,421 6,637 2,784 |
59,390 42,036 33,875 |
141.8 157.9 82.2 |
SIMD | source | simd256 | 512 | 284.9 261.1 113.1 |
46 | 3,171 2,06 1,259 |
138,980 122,118 88,947 |
22.8 23.8 14.2 |
Skein | source | SKEIN_CORE | 256 | 270.3 207.0 146.2 |
21 | 3,295 2,524 1,782 |
43,132 28,782 22,562 |
76.4 87.7 79.0 |
SHA-3候補のASIC実装結果