This is the top of the page.
Displaying present location in the site.
  1. Home
  2. About NEC
  3. Research & Development
  4. Code and Cryptography
  5. Symmetric Cryptography Research
  6. TWINE
Main content starts here.


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

Top of this page