Oryx (шифр)
Перейти к навигации
Перейти к поиску
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
См. также
[править | править код]Примечания
[править | править код]- ↑ [D. Wagner, L. Simpson, E. Dawson, J. Kelsey, W. Millan, and B. Schneier http://www.schneier.com/paper-oryx.pdf Архивная копия от 24 марта 2012 на Wayback Machine «Cryptanalysis of ORYX»], Fifth Annual Workshop on Selected Areas in Cryptography, Springer Verlag, August 1998, to appear.