Achterbahn (stream cipher)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In cryptography, Achterbahn is a synchronous stream cipher algorithm submitted to the eSTREAM Project of the eCRYPT network.

In the final specification the cipher is called ACHTERBAHN-128/80, because it supports the key lengths of 80 bits and 128 bits, respectively.[1] Achterbahn was developed by Berndt Gammel, Rainer Göttfert and Oliver Kniffler.

Achterbahn means rollercoaster (in German), though a literal translation of the term would be eight-track, which indicates that the cipher can encrypt eight bit streams in parallel.

The parameters of the cipher are given in the following table:

ACHTERBAHN-80 ACHTERBAHN-128
Max. key length 80 bit 128 bit
Max. IV length 80 bit 128 bit
Max. frame length 244 244
Internal state 297 bit 351 bit

ACHTERBAHN-128 is downward compatible and can produce the same keystream as ACHTERBAHN-80 if so desired. The keystream generator of ACHTERBAHN-128/80 is based on the design principle of the nonlinear combination generator, however it deploys primitive nonlinear feedback shift registers (NLFSR) instead of linear ones (LFSR).

Security

[edit | edit source]

There are no known cryptanalytic attacks against ACHTERBAHN-128/80 for the tabulated parameters that are faster than brute force attack. Recent analysis showed that attacks are possible if larger frame (packet) lengths are used in a communication protocol.[2][3][4] The cipher's authors recommend a maximum frame length of 244 bits.[5] This value does however not imply practical limitations.

Performance

[edit | edit source]

The ACHTERBAHN-128/80 stream cipher is optimized for hardware applications with restricted resources, such as limited gate count and power consumption. An implementation of ACHTERBAHN-80 has a design size of only 2188 gate equivalents (Nand-GE) in a standard CMOS technology and delivers a throughput of up to 400 Megabit/s. This makes it suitable for RFID tags.[citation needed] A high-speed implementation with a throughput of 8 Gigabit/s has a design size of 8651 Nand-GE.[6]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]