Опубликован: 19.01.2010 | Уровень: специалист | Доступ: платный
Лекция 2:

Криптографические хэш-функции

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >

Таблица 2.4 показывает таблицу подстановки (S-блок) для преобразования подбайтов. Преобразование обеспечивает эффект перемешивания. Например, два байта, 5A16 и 5B16, которые отличаются только одним битом (самый правый бит), преобразованы к 5B16 и 8816, которые отличаются пятью битами.

Таблица 2.4. Таблица преобразования SubBytes (S-Box)
0 / 2 3 4 5 6 7 8 9 A B C D E F
0 18 23 C6 E8 87 B8 01 4F 36 A6 D2 F5 79 6F 91 52
1 16 BC 9B 8E A3 0C 7B 35 1D E0 D7 C2 2E 4B FE 57
2 15 77 37 E5 9F F0 4A CA 58 C9 29 0A B1 A0 6B 85
3 BD 5D 10 14 CB 3E 05 67 E4 27 41 8B A7 7D 95 C8
4 FB EF 7C 66 DD 17 47 9E CA 2D BF 07 AD 5A 83 33
5 63 02 AA 71 C8 19 49 C9 F2 E3 5B 88 9A 26 32 BO
6 E9 OF D5 80 BE CD 34 48 FF 7A 90 5F 20 68 1A AE
7 B4 54 93 2'2 64 F1 73 12 40 08 C3 EC DB A1 8D 3D
8 97 00 CF :B 76 82 D6 1B B5 AF 6A 50 45 F3 30 EF
9 3F 55 A2 EA 65 BA 2F CO DE 1C FD 4D 92 75 06 8A
A B2 E6 OE F 62 D4 A8 96 F9 C5 25 59 84 72 39 4C
B 5E 7S 38 8C C1 A5 E2 61 B3 21 9C 1E 43 C7 FC 04
C 51 99 6D 0D FA DF 7E 24 3B AB CE 11 8F 4E B7 EB
D 3C S1 94 '-7 9B 13 2C D3 E7 6E C4 03 56 44 7E A9
E 2A BB C1 53 DC OB 9D 6C 31 74 F6 46 AC 89 14 E1
F 16 3A 69 09 70 B6 CO ED CC 42 98 A4 28 5C F8 86

Входы в табл. 2.4 могут быть вычислены алгебраически, используя поле G(24) с неприводимым полиномом (x4 + x + 1), как показано на рис. 2.17. Каждая шестнадцатеричная цифра в байте вводится в миниблок ( E и E-1 ). Результаты передаются в другой миниблок R. E -блоки вычисляют степень, равную шестнадцатеричному значению входа; R -миниблок использует псевдослучайный генератор чисел.

Операция SubBytes шифра Whirlpool

увеличить изображение
Рис. 2.17. Операция SubBytes шифра Whirlpool
E(вход) = (x^{3} +x+1)^{вход} \ mod (x^{4} + x + 1), \ если \ вход \ne  0xF
\\
E(0xF) = 0

E-1 -блок - это только инверсия E -блока, где роли входов и выходов изменились. Значения входа-выхода для блоков сведены в таблицу на рис. 2.17.

ShiftColumns . Чтобы обеспечить перестановку, Whirlpool использует преобразование ShiftColumns , которое является подобным преобразованию ShiftRows в AES, за исключением того, что вместо строк сдвигаются столбцы. Смещение зависит от позиции столбца. Столбец 0 сдвигается на 0 байтов (смещения нет), в то время как столбец 7 сдвигается на 7 байтов. рис. 2.18 показывает преобразование смещения.

 Преобразование ShiftColumns шифра Whirlpool

Рис. 2.18. Преобразование ShiftColumns шифра Whirlpool

MixRows.Преобразование MixRows имеет тот же самый эффект, что и преобразование MixColumns в AES: оно рассеивает биты. Преобразование MixRows - матричное преобразование, где байты интерпретируются как слова по 8 битов (или полиномы) с коэффициентами в GF(28). Умножение байтов проводится в GF(28), но модуль отличается от используемого в AES. Шифр Whirlpool применяет ( 0x11 D ) или ( x8 + x4 + x3 + x2 + 1 ) как модуль. Сложение слов по 8 битов - то же самое, что ИСКЛЮЧАЮЩЕЕ ИЛИ. На рис. 2.19 представлено преобразование MixRows.

 Преобразование MixRows шифра Whirlpool

увеличить изображение
Рис. 2.19. Преобразование MixRows шифра Whirlpool

Рисунок показывает умножение единственной строки на матрицу констант; умножение можно провести, умножая всю матрицу состояний на матрицу констант. Обратите внимание, что в матрице констант каждая строка получена с помощью циркулярного сдвига вправо предыдущей строки.

AddRoundKey. Преобразование AddRoundKey в шифре Whirlpool делается байт за байтом, потому что каждый ключ раунда - матрица состояний 8 x 8 байт. рис. 2.20 показывает этот процесс. Байт матрицы состояний данных складывается в поле GF(28) с соответствующим байтом матрицы состояний ключей раунда. Результат - новый байт в новой матрице состояний.

Преобразование AddRoundKey  шифра Whirlpool

увеличить изображение
Рис. 2.20. Преобразование AddRoundKey шифра Whirlpool
< Лекция 1 || Лекция 2: 123456 || Лекция 3 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Р Алоев
Р Алоев
Россия
Татьяна Тренина
Татьяна Тренина
Россия, Челябинск