This is the top of the page.
Displaying present location in the site.
Main content starts here.

超軽量ブロック暗号 Twine

共通鍵暗号の研究開発

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

ページの先頭へ戻る