Global Site
Breadcrumb navigation
TWINE
Ultra-lightweight block cipher Twine
Twine is a 64-bit block cipher having 80-bit or 128-bit key. It employs the Generalized Feistel Structure (GFS), a scheme enabling a small footprint in hardware and software.
A cipher based on GFS usually incurs a slow speed due to the slow diffusion property. However, Twine uses an improved variant of GFS which significantly make diffusion faster (which was proposed at FSE 2010) and realizes a small and fast block cipher.
For example, Twine can be implemented in hardware using around 1/10 gates of a standard AES implementation.
The details of Twine and its security evaluation, implementations are described here.
Implementation results of Twine (for 80-bit key, encryption-only)
Hardware (ASIC)
Throughput (Kbps at 100 KHz) | Area (Gate Equivalent) |
178 | 1,503 |
11.8 | 1,116 |
Software implementation(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 |
Software implementation (Intel CPU, SSE)
CPU | Enc (cycle/byte) | Dec (cycle/byte) |
Core i7 2600S (Sandy Bridge) | 11.0 | 11.0 |
Core 2 Duo E6850 (Conroe) | 26.6 | 26.6 |
Core 2 Quad Q5550S (Yorkfield) | 15.6 | 15.6 |
Xeon E5620 (Westmere-EP) | 15.2 | 15.2 |