サイドチャネル攻撃用標準評価ボードSASEBOSHA-3ハードウェアSHA-3のFPGA・ASIC実装

SHA-3のFPGA実装

SHA-3候補のハードウェア実装性能評価をSASEBO-GII上で行っています. ハッシュ関数のハードウェアマクロは電気通信大学 太田・崎山研究室が開発したもので,研究目的に限って自由に利用することができます.使用に際しては「使用条件および制限」を必ず参照してください.

制御ソフトウェア

制御FPGA(Spartan-3A xc3s50a)

参考文献

暗号FPGA(Virtex-5 xc5vlx30)

アルゴリズム コード ブロック
サイズ
[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


SHA-3のASIC実装

暗号ASIC(STMicro 90-nm Standard Cell Library)

アルゴリズム コード 論理合成
モジュール
ブロック
サイズ
[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 implementation results
SHA-3候補のASIC実装結果