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

Preview:

DESCRIPTION

Защита информации семинар №3 МФТИ семинар для студентов 4 курса факультета ФРТК

Citation preview

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

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

kisttan@gmail.com

Содержание

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

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

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

• ГОСТ 28147-89

• AES

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

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

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

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

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

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

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

Поля Галуа

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

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

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

Поля Галуа• Построение поля 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

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

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

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

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

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

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

ГОСТ 28147-89

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

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

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

ГОСТ 28147-89

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

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

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

AES

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

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

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

AES

Цикл AES

• SubBytes()

• ShiftRows()

• MixColumns()

• AddRoundKey()

SubBytes

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

SubBytes

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

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

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

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

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

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

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

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

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

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

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

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

Recommended