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



Компьютеры - DFC - Таблица поиска

11 июня 2011


Оглавление:
1. DFC
2. Функция шифрования
3. Таблица поиска
4. Фиксированные параметры
5. Криптостойкость



S-блок — основной компонент симметричных криптоалгоритмов, производящий замену n входных бит на m выходных по некоторой таблице поиска. Используется для максимального устранения зависимостей между ключом шифрования и шифротекстом, что позволяет выполнить свойство Шеннона о запутанности криптоалгоритма. Обычно используются S-блоки с фиксированной таблицей поиска, но в некоторых криптоалгоритмах таблица поиска генерируется с использованием входного ключа шифрования. В DFC используется фиксированная таблица поиска RT, ее значения будут описаны ниже. Необходимым критерием таблицы поиска является инъективность.

Раундовые ключи

Для повышения стойкости шифра каждый раунд функция шифрования использует разные раундовые ключи Ki. Для их получения используется основной ключ шифра K. Алгоритм получения состоит в следующем.

Шаг 1

Сначала дополним основной ключ шифра K заданной константой KS длиной 256 бит, отрезая лишние символы.

PK = trunc256.

Полученный PK разрезаем на 8 32-битных частей PK_{i},i=1\ldots8.

PK=PK_{1}|\ldots|PK_{8}

Шаг 2

Определим несколько вспомогательных переменных, используя полученные PKi:

OA1 = PK1 | PK8;
OB1 = PK5 | PK4;
EA1 = PK2 | PK7;
EB1 = PK6 | PK3;

а также для i=2,3,4

OA_{i}=OA_{1}\oplus KA_{i-1};
OB_{i}=OB_{1}\oplus KB_{i-1};
EA_{i}=EA_{1}\oplus KA_{i-1};
EB_{i}=EB_{1}\oplus KB_{i-1};

где KA1,KB1,KA2,KB2,KA3,KB3 — заданные 64-битные константы.

Шаг 3

Таким образом мы получили из исходного ключа K длиной 256 бит два ключа OK,EK длиной по 512 бит каждый.

OK=OA_{1}|OB_{1}|\ldots|OA_{4}|OB_{4}
EK=EA_{1}|EB_{1}|\ldots|EA_{4}|EB_{4}

Пусть EncOK,EncEK — функции шифрования, описанные в пункте 2, только с 4-мя раундами вместо 8-ми, использующие для i-го раунда i=1\ldots4 раундовые ключи OAi | OBi и EAi | EBi соответственно. Тогда полагая что K0 = 0 | 128 получаем искомые раундовые ключи:

Если i — нечетное, то:

Ki = EncOK

Если i — четное, то:

Ki = EncEK

Раундовые ключи найдены.



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


<<< DEAL
Grain >>>