ORYX — алгоритм потокового шифрования с длиной ключа 96 бит (экспортный вариант шифра использовал только 32 бита ключа). Использовался для защиты данных в сотовых сетях, таких как IS-136 и CDMA2000. Из-за ошибок проектирования он использовал только 16-битный ключ. Так, узнав первые 25-27 байт любых данных, можно его взломать за
операций.[1]
Шифр ORYX состоит из четырех компонентов: три 32-битных РСЛОС, которые обозначены
как LFSRA, LFSRB и LFSRK, S-box, содержащий известные перестановки P (значения от 0 до 255).
Функции обратной связи для LFSRK
Функции обратной связи для LFSRA определены как
и
Функции обратной связи для LFSRB
Алгоритм работы:
- LFSRK работает один раз.
- LFSRA работает один раз, с одним из полиномов в зависимости от состояния LFSRK.
- LFSRB работает один или два раза, в зависимости от состояния LFSRK.
- Старшие байты в LFSRA, LFSRB и LFSRK скомбинированы в байт Keystream:
Keystream={High8K + L[High8A] + L[High8B]} mod 256
- A5, используется в стандарте сотовой связи GSM.