Japan
サイト内の現在位置
データセキュリティ:超軽量ブロック暗号 Twine
テクノロジーグループ2019年11月28日
Twineは64-bitブロック、80-bit鍵/128-bit鍵のブロック暗号です。
Type-2一般化Feistel構造と呼ばれる古典的な暗号の構造を採用することで、ハード・ソフトの実装規模を小さく抑えることが可能です。一方、Type-2一般化Feistel構造の弱点として、低拡散性という性質が知られており、この弱点をカバーするために必要な処理の繰り返し回数(ラウンド数)が一般的に多くなります。
Twineは低拡散性を処理の増加なしに改善する独自手法(FSE 2010にて発表)を取り入れ、実装規模と速度を両立させています。ハードウェア実装においては、標準的なAESの10分の1程度の規模で暗号化が可能です。詳細な仕様および安全性評価、実装性能評価につきましてはこちらをご覧ください
Twineの実装結果(80-bit鍵、暗号化関数のみ)
ハードウェア(ASIC)
Throughput (Kbps at 100 KHz) | Area (Gate Equivalent) |
178 | 1,503 |
16.2 | 1,011 |
ソフトウェア実装(Atmel AVR Atmega163)
Type | ROM (Bytes) | RAM (Bytes) | Enc (cycle/byte) | Dec (cycle/byte) |
---|---|---|---|---|
Speed-first | 1,304 | 414 | 271 | 271 |
ROM-first | 728 | 335 | 2,349 | 2,337 |
RAM-first | 792 | 191 | 2,349 | 2,337 |
Double-block | 2,294 | 386 | 163 | 163 |
ソフトウェア実装(Intel CPU, SSE使用,2ブロック並行実行)
CPU | Enc (cycle/byte) | Dec (cycle/byte) |
---|---|---|
Core i7 2600S (Sandy Bridge) | 5.55 | 5.55 |
Core 2 Duo E6850 (Conroe) | 14.85 | 14.85 |
Core 2 Quad Q5550S (Yorkfield) | 7.93 | 7.95 |
Core i3 M330 (Arrandale) | 7.62 | 7.61 |
Core i5 U560 (Arrandale) | 4.77 | 4.77 |
お問い合わせ