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



Компьютеры - RC6 - Детали RC6

14 июня 2011


Оглавление:
1. RC6
2. Детали RC6
3. Шифрование и расшифрование
4. Реализация алгоритма RC6 на языке C#
5. Безопасность
6. Оценка аппаратных средств
7. Выполнение
8. Лицензирование



Так же, как и RC5, RC6 — полностью параметризированная семья алгоритмов шифрования. Для спецификации алгоритма с конкретными параметрами, принято обозначение RC6-w/r/b, где

  • w — длина машинного слова в битах.
  • r — число раундов.
  • b — длина ключа в байтах. Возможные значения 0..255 байт.

Для того чтобы соответствовать требованиям AES, блочный шифр должен обращаться с 128-битовыми блоками. Так как RC5 — исключительно быстрый блочный шифр, расширение его, чтобы работать с 128-битовыми блоками привело бы к использованию двух 64-битовых рабочих регистров. Но архитектура и языки программирования ещё не поддерживают 64-битные операции, поэтому пришлось изменить проект так, чтобы использовать четыре 32-битных регистров вместо двух 64-битных.

Расширение ключа

Генерация констант:

Так же, как и в RC5, в RC6 генерируются две псевдослучайные величины, используя две математические константы:экспонента и золотое сечение.

~Q_w \leftarrow Odd*2^w)

~P_w \leftarrow Odd*2^w),

где ~Odd — это округление до ближайшего нечетного целого. При w = 32 бита:

~Q_{32} = 9E3779B9

~P_{32} = B7E15163

Процедура расширения ключа для RC6-w/r/b:

Таблица ключей для шифра RC6 также идентична таблице шифра RC5. Отличие состоит в том, что большее количество слов из массива L получено из предоставленного пользователем ключа для использования в течение шифрования и расшифровки.

Вход:

  • b-байтный ключ, заданный пользователем, предварительно преобразованный в массив из c слов L.
  • r — количество раундов.

Выход:

  • w-битная таблица ключей S.
     S=Pw
        for i=1 to 2r+3 do
                S=S+Qw
 
        A=B=i=j=0
 
        v=3max{c,2r+4}
        for s=1 to v do
        {
                A=S=<<<3
                B=L=<<<
                i= mod 
                j= mod c
        }


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


<<< RC5
ROT13 >>>