Перейти к содержанию

Oryx (шифр)

Материал из энциклопедии Руниверсалис

ORYX — алгоритм потокового шифрования с длиной ключа 96 бит (экспортный вариант шифра использовал только 32 бита ключа). Использовался для защиты данных в сотовых сетях, таких как IS-136 и CDMA2000. Из-за ошибок проектирования он использовал только 16-битный ключ. Так, узнав первые 25-27 байт любых данных, можно его взломать за [math]\displaystyle{ 2^{16} }[/math] операций.[1]

Описание алгоритма

Шифр ORYX состоит из четырех компонентов: три 32-битных РСЛОС, которые обозначены как LFSRA, LFSRB и LFSRK, S-box, содержащий известные перестановки P (значения от 0 до 255).

Функции обратной связи для LFSRK

[math]\displaystyle{ x^{32} + x^{28} + x^{19} + x^{18} + x^{16} + x^{14} + x^{11} + x^{10} + x^9 + x^6 + x^5 + x + 1 }[/math]

Функции обратной связи для LFSRA определены как

[math]\displaystyle{ x^{32} +x^{26} +x^{23} +x^{22}+x^{16} +x^{12} +x^{11}+x^{10} +x^8+x^7 +x^5+x^4+x^2 +x+1 }[/math]

и

[math]\displaystyle{ x^{32} +x^{27}+x^{26}+x^{25} +x^{24} +x^{23}+x^{22} +x^{17} +x^{13}+x^{11} +x^{10}+x^9 +x^8+x^7+x^2 +x+1 }[/math]

Функции обратной связи для LFSRB

[math]\displaystyle{ x^{32} + x^{31} + x^{21} + x^{20} + x^{16} + x^{15} + x^6 + x^3 + x + 1 }[/math]

Алгоритм работы:

  1. LFSRK работает один раз.
  2. LFSRA работает один раз, с одним из полиномов в зависимости от состояния LFSRK.
  3. LFSRB работает один или два раза, в зависимости от состояния LFSRK.
  4. Старшие байты в LFSRA, LFSRB и LFSRK скомбинированы в байт Keystream:

Keystream={High8K + L[High8A] + L[High8B]} mod 256

См. также

  • A5, используется в стандарте сотовой связи GSM.

Примечания

  1. [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.

Ссылки