ORYX is a stream encryption algorithm with a key length of 96 bits (the export version of the cipher used only 32 bits of the key). Used to protect data in cellular networks such as IS-136 and CDMA2000 . Due to design errors, he used only a 16-bit key. So, having learned the first 25-27 bytes of any data, you can crack it in operations. [one]
Content
Algorithm Description
The ORYX cipher consists of four components: three 32-bit RSLOS , which are designated as LFSR A , LFSR B and LFSR K , an S-box containing known permutations of P (values from 0 to 255).
Feedback Functions for LFSR K
The feedback functions for LFSR A are defined as
and
Feedback Functions for LFSR B
Work algorithm:
- LFSR K runs once.
- LFSR A operates once, with one of the polynomials depending on the state of LFSR K.
- LFSR B runs once or twice, depending on the state of LFSR K.
- High bytes in LFSR A , LFSR B, and LFSR K are combined into Keystream bytes:
Keystream = {High8K + L [High8A] + L [High8B]} mod 256
See also
- A5 , used in the GSM cellular standard.
Notes
- ↑ [D. Wagner, L. Simpson, E. Dawson, J. Kelsey, W. Millan, and B. Schneier http://www.schneier.com/paper-oryx.pdf “Cryptanalysis of ORYX”], Fifth Annual Workshop on Selected Areas in Cryptography, Springer Verlag, August 1998, to appear.