Achterbahn (stream cipher)
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]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).