Transcript
Page 1: Защита информации семинар №3 МФТИ

Семинар № 3 Блочные шифры

Колыбельников Александр

[email protected]

Page 2: Защита информации семинар №3 МФТИ

Содержание

• Область применения блочных шифров

• Поля Галуа, операции с полиномами

• Схема Фейстеля

• ГОСТ 28147-89

• AES

• Схемы применения алгоритмов шифрования

Page 3: Защита информации семинар №3 МФТИ

Область применения блочных шифров

Page 4: Защита информации семинар №3 МФТИ

Основные преимущества блочных шифров

• Эффективная реализация на современных программно-аппаратных платформах;

• Высокая скорость шифрования/расшифрования;

• Гарантированная стойкость.

Page 5: Защита информации семинар №3 МФТИ

Поля Галуа, операции с полиномами

Page 6: Защита информации семинар №3 МФТИ

Поля Галуа

• Конечное поле или поле Галуа — поле, состоящее из конечного числа элементов.

• Конечное поле обычно обозначается или GF(q), где q — число элементов поля.

• Простейшим примером конечного поля является — кольцо вычетов по модулю простого числа p.

Page 7: Защита информации семинар №3 МФТИ

Поля Галуа• Построение поля GF(pn), где p — простое число, n — натуральное число, начинается с

построения его простого подполя GF(p) (которое совпадает со всем полем при n=1).

• Простое поле GF(p) строится как кольцо вычетов по модулю p, которое в виду простоты p

не имеет делителей нуля и является полем.

• Элементы — числа . Операции проводятся как с обычными целыми числами с

приведением результата по модулю p.

• Поле GF(pn) при n>1 строится как факторкольцо , где f(x) — неприводимый многочлен

степени n над полем . Таким образом, для построения поля из pn элементов достаточно

отыскать многочлен степени n, неприводимый над полем .

• Элементами поля являются все многочлены степени меньшей n с коэффициентами из .

Арифметические операции (сложение и умножение) проводятся по модулю многочлена f(x),

то есть, результат соответствующей операции — это остаток от деления на f(x) с

приведением коэффициентов по модулю p

Page 8: Защита информации семинар №3 МФТИ

Операции с полиномами

• Многочлен (или полином) от n переменных — есть конечная формальная сумма вида

• где I = (i1,i2,...,in) есть набор из целых неотрицательных чисел (называется мультииндекс), cI

— число (называемое «коэффициент многочлена»), зависящее только от мультииндекса I.

Page 9: Защита информации семинар №3 МФТИ

Схема Фейстеля

Page 10: Защита информации семинар №3 МФТИ

Схема Фейстеля

Page 11: Защита информации семинар №3 МФТИ

ГОСТ 28147-89

Page 12: Защита информации семинар №3 МФТИ

• Длина ключа – 256 бит;

• Блок шифрования – 64 бит;

• Количество циклов – 32 цикла.

ГОСТ 28147-89

Page 13: Защита информации семинар №3 МФТИ

Шифрование ГОСТ 28147-89

Page 14: Защита информации семинар №3 МФТИ

Пример S-блока

• 4, 13, 0, 14, 8, 7, 10, 2, 5, 1, 9, 6, 11, 15, 12, 3

Page 15: Защита информации семинар №3 МФТИ

AES

Page 16: Защита информации семинар №3 МФТИ

• Длина ключа – 128-256 бит;

• Блок шифрования – 128 бит;

• Количество циклов – 10, 12, 14 циклов.

AES

Page 17: Защита информации семинар №3 МФТИ

Цикл AES

• SubBytes()

• ShiftRows()

• MixColumns()

• AddRoundKey()

Page 18: Защита информации семинар №3 МФТИ

SubBytes

Процедура SubBytes() обрабатывает каждый байт состояния, независимо производя нелинейную замену байтов используя таблицу замен(S-box). Такая операция обеспечивает нелинейность алгоритма шифрования. Построение S-box состоит из двух шагов. Во-первых, производится взятие обратного числа в GF{28}. Во-вторых, к каждому байту b из которых состоит S-box применяется следующая операция:

Page 19: Защита информации семинар №3 МФТИ

SubBytes

где , и где bi есть i-ый бит b, а ci — i-ый бит c = {63} или {01100011}. Таким образом, обеспечивается защита от атак, основанных на простых алгебраических свойствах.

Page 20: Защита информации семинар №3 МФТИ

ShiftRows• ShiftRows работает со строками State. При этой

трансформации строки состояния циклически сдвигаются на r байт по горизонтали, в зависимости от номера строки. Для нулевой строки r = 0, для первой строки r = 1Б и тд.. Таким образом каждая колонка выходного состояния после применения процедуры ShiftRows состоит из байтов из каждой колонки начального состояния. Для алгоритма Rijndael паттерн смещения строк для 128 и 192-ух битных строк одинаков. Однако для блока размером 256 бит отличается от предыдущих тем, что 2, 3, и 4-е строки смещаются на 1, 3, и 4 байта соответственно.

Page 21: Защита информации семинар №3 МФТИ

MixColumns • В процедуре MixColumns, четыре байта

каждой колонки State смешиваются используя для этого обратимую линейную трансформацию. MixColumns обрабатывает состояния по колонкам, трактуя каждую из них как полином четвертой степени. Над этими полиномами производится умножение в GF(28) по модулю x4 + 1 на фиксированный многочлен c(x) = 3x3 + x2 + x + 2. Вместе с ShiftRows , MixColumns вносит диффузию в шифр

Page 22: Защита информации семинар №3 МФТИ

AddRoundKey• В процедуре AddRoundKey, RoundKey каждого

раунда объединяется со State. Для каждого раунда Roundkey получается из CipherKey используя процедуру KeyExpansion; каждый RoundKey такого же размера, что и State. Процедура производит побитовый XOR каждого байта State с каждым байтом RoundKey

Page 23: Защита информации семинар №3 МФТИ

Схемы использования шифров

Page 24: Защита информации семинар №3 МФТИ

Электронная кодовая книга (ECB)

Page 25: Защита информации семинар №3 МФТИ

Режим гаммирования

Page 26: Защита информации семинар №3 МФТИ

Режим гаммирования с обратной связью

Page 27: Защита информации семинар №3 МФТИ

Режим гаммирования с обратной связью по выходу


Recommended