Интернет магазин китайских планшетных компьютеров



Компьютеры - Rabbit - Безопасность

07 мая 2011


Оглавление:
1. Rabbit
2. Rabbit и eStream
3. Безопасность
4. Список литературы



Rabbit предоставляет 128-битную защиту против аттакующих, чья цель один уникальный ключ. Если же атака происходит на несколько ключей за раз, и все равно, который из них взломают, то защищенность снижается до 96 бит..

Алгоритм

Внутреннее состояние поточного шифра содержит 513 битов. 512 из них поделены на 8-мь 32-битных переменных состояний xj,i и 8-мь 32-битных счетчиков cj,i , где xj,i - переменная состояния подсистемы j при итерации i , а cj,i - обазначет соответствующий счетчик переменных. 513-й бит - бит переноса φ7,i , который необходимо хранить между итерациями. Этот бит инициализируется нулем. 8-мь переменных состояний и 8-мь счетчиков зависят от ключа при инициализации.

Схема установки ключа

Алгоритм инициализируется расширением 128-битного ключа на 8-мь переменных состояния и 8-мь счетчиков так, чтосуществует взаимнооднозначное соответствие между ключом, начальными переменными состояний, xj,0 , и начальными счетчиками, cj,0 . Ключ, K, поделен на 8-мь подключей: k_0^{} , k_1^{} , ... , k_7^{} , переменные состояний и счетчики инициализируются при помощи подключей:



x_{j,0}=
\begin{cases}
    k_{} \diamond k_j ,                \ \  for \  j  \ even\\
    k_{} \diamond  k_{},        \ \  for \ j \ odd \\
\end{cases}

c_{j,0}=
\begin{cases}
    k_{} \diamond k_{} ,           \ \  for \ j \ even           \\
    k_j \diamond  k_{},      \ \  for \ j \ odd  \\
\end{cases}

Система прогоняется 4-ре раза, согласно функции следующего состояния, определенной ниже, чтобы понизить кореляцию между битами ключа и битами переменных внутренного состояния. В конце, счетчики ре-инициализируются следующим образом:

c_{j,4}=c_{j,4} \oplus x_{,4} \quad,

для предотвращения восстановления ключа путем инверсии системы счетчиков.

Функция следующего состояния

x_{0, i+1} = g_{0,i} + +
 x_{1,i+1} = g_{1,i} + + g_{7,i}
 x_{2,i+1} = g_{2,i} + +
 x_{3,i+1} = g_{3,i} + + g_{1,i}
 x_{4,i+1} = g_{4,i} + +
 x_{5,i+1} = g_{5,i} + + g_{3,i}
 x_{6,i+1} = g_{6,i} + +
 x_{7,i+1} = g_{7,i} + + g_{5,i}


 g_{j,i} =^2 \oplus^2 \gg 32 ))\mod 32

Здесь все сложения по модулю 2^32.


Система счетчиков

Уравнения, задающие изменение системы счетчиков:

c_{0,i+1} = c_{0,i} + a_0 +  \phi_{7,i} \mod 2^{32}
c_{1,i+1} = c_{1,i} + a_1 + \phi_{0,i+1} \mod 2^{32}
c_{2,i+1} = c_{2,i} + a_2 + \phi_{1,i+1} \mod 2^{32}
c_{3,i+1} = c_{3,i} + a_3 + \phi_{2,i+1} \mod 2^{32}
c_{4,i+1} = c_{4,i} + a_4 + \phi_{3,i+1} \mod 2^{32}
c_{5,i+1} = c_{5,i} + a_5 +\phi_{4,i+1} \mod 2^{32}
c_{6,i+1} = c_{6,i} + a_6 +\phi_{5,i+1} \mod 2^{32}
c_{7,i+1} = c_{7,i} + a_7 +\phi_{6,i+1} \mod 2^{32}

где счетчик бита переноса, φj,i + 1, задается:



\phi_{j,i+1} =
\begin{cases}  
1, \ \  if \ c_{0,i} + a_0 + \phi_{7,i} \geqslant  2^{32} \wedge  j = 0 \  \\
1, \ \  if \ c_{j,i} + a_j + \phi_{j-1,i+1} \geqslant  2^{32} \wedge  j > 0 \ \\
0, \ \  otherwise

\end{cases}

:


Кроме того, константы aj определяются как:

a_0 = 0x4D34D34D \ \  a_1 = 0xD34D34D3
a_2 = 0x34D34D34  \ \ a_3 = 0x4D34D34D
a_4 = 0xD34D34D3 \ \ a_5 = 0x34D34D34
a_6 = 0x4D34D34D \ \  a_7 = 0xD34D34D3


Схема извлечения

После каждой итерации, 128 битов выхода генерируется по следующим формулам:

 s^{}_i = x^{}_{0,i} \oplus  x^{}_{5,i}
 s^{}_ i = x^{ }_{0,i }\oplus  x^{}_{3,i}
 s^{}_i = x^{}_{2,i }\oplus  x^{}_{7,i }
 s^{}_i = x^{}_{2,i} \oplus  x^{}_{5,i}
 s^{}_i = x^{}_{4,i }\oplus  x^{}_{1,i }
 s^{}_i = x^{}_{4,i} \oplus  x^{}_{7,i}
 s^{}_i = x^{}_{6,i }\oplus  x^{}_{3,i }
 s^{}_i = x^{}_{6,i}\oplus  x^{}_{1,i}

где si 128-ми битный блок шифрующего потока на i-той итерации.

Шифрующая/дешифрующая схема

Выполняется операция XOR между извлеченными битами и текстом/шифротекстом для шифрования/дешифрования.

c_i = p_i \oplus s_i,
p_i = c_i \oplus s_i,

где ci и ci = pi обознают i-тый блок шифротекста и текста соответственно.

Выполняется операция XOR между извлеченными битами и тескстом/шифротекстом для шифрования/дешифрования.




Просмотров: 3581


<<< MICKEY
RC4 >>>