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 |