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]
Алгоритм работы:
- 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.
Ссылки
На эту статью не ссылаются другие статьи Руниверсалис. |