
- •Виды атак на криптографические алгоритмы. Понятие стойкости.
- •Шифры замены. Математическая модель. Примеры.
- •Шифры перестановки. Математическая модель. Примеры.
- •Шифры гаммирования. Математическая модель. Примеры.
- •Принципы построения блочных шифров. Схема Фейстеля.
- •Шифрование в ячейке Фейстеля Расшифрование в ячейке Фейстеля Формирование группы
- •Алгоритм симметричного шифрования des.
- •Алгоритм симметричного шифрования гост 28147-99.
- •Алгоритм симметричного шифрования Rijndael.
- •4.Добавление ключа.
- •Алгоритмы симметричного шифрования idea и Blowfish.
- •Режимы выполнения алгоритмов симметричного шифрования.
- •Поточные криптосистемы. Принципы построения. Классификация. Проблема синхронизации.
- •Линейные конгруэнтные генераторы. Линейные регистры сдвига.
- •Поточные шифры. Отличия от блочных. Стойкость. Методы анализа.
- •Примеры поточных шифров на основе lfsr.
- •Примеры поточных шифров, использующих аддитивные генераторы:
- •Примеры поточных шифров на основе fcsr.
- •Математические методы криптоанализа: метод опробывания, методы на основе теории статистических решений.
- •Линейный криптоанализ.
- •Разностный криптоанализ.
- •Атаки на функции хэширования.
- •Функция хеширования md5.
- •Функция хеширования sha-1.
- •Функция хеширования гост 3411-94.
- •Функция хеширования стб 1176.1-99.
- •Общие положения электронной цифровой подписи. Задачи. Требования.
- •Прямая и арбитражная цифровая подписи. Примеры.
- •Стандарт электронной цифровой подписи dss.
- •Цифровая подпись на основе алгоритмов с открытыми ключами. Схема Фиата-Шамира.
- •Цифровая подпись Эль-Гамаля. Схема rsa.
- •Стандарт электронной цифровой подписи dss.
- •Стандарт электронной цифровой подписи гост-р 34.10-94.
- •Стандарт электронной цифровой подписи стб 1176.2-99.
- •Применение эллиптических кривых в криптографии. Алгоритм шифрования на основе эллиптических кривых.
- •Алгоритмы обмена ключами и электронной цифровой подписи на основе эллиптических кривых.
- •Стеганографические методы защиты информации. Основные понятия и определения. Области применения.
- •Общая модель стеганосистемы. Проблема устойчивости. Стегоанализ.
- •Методы сокрытия информации в неподвижных изображениях.
- •Методы сокрытия информации в текстовых данных.
- •Протоколы аутентификации. Двусторонняя аутентификация.
- •Протоколы аутентификации. Односторонняя аутентификация.
Алгоритм симметричного шифрования гост 28147-99.
Длина блока 64 бит
Длина ключа 256 бит.
Сеть Фейстеля, количество раундов равно 32.
Функция F
Сначала правая половина и i-ый подключ складываются по модулю 232.
Затем результат разбивается на восемь 4-битовых значений, каждое из которых подается на вход S-box.
ГОСТ 28147 использует восемь различных S-boxes, каждый из которых имеет 4-битовый вход и 4-битовый выход.
Выходы всех S-boxes объединяются в 32-битное слово, которое затем циклически сдвигается на 11 битов влево.
Наконец, с помощью XOR результат объединяется с левой половиной, в результате чего получается новая правая половина.
1-й раунд ГОСТ
Генерация ключей ГОСТ
256-битный ключ разбивается на восемь 32-битных подключей.
Алгоритм имеет 32 раунда, поэтому каждый подключ используется в четырех раундах по следующей схеме:
Раунд |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Подключ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Раунд |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
Подключ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Раунд |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
Подключ |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
Раунд |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
Подключ |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
S-boxes
Входом и выходом S-box являются 4-битные числа, поэтому каждый S-box может быть представлен в виде строки чисел от 0 до 15, расположенных в некотором порядке.
Тогда порядковый номер числа будет являться входным значением S-box, а само число - выходным значением S-box
1-ый S-box
4 10 9 2 13 8 0 14
6 11 1 12 7 15 5 3
2-ой S-box
14 11 4 12 6 13 15 10
2 3 8 1 0 7 5 9
3-ий S-box
5 8 1 13 10 3 4 2
14 15 12 7 6 0 9 11
4-ый S-box
7 13 10 1 0 8 9 15
14 4 6 12 11 2 5 3
5-ый S-box
6 12 7 1 5 15 13 8
4 10 9 14 0 3 1 12
6-ой S-box
4 11 10 0 7 2 1 13
3 6 8 5 9 12 15 14
7-ой S-box
13 11 4 1 3 15 5 9
0 10 14 7 6 8 2 12
8-ой S-box
1 15 13 0 5 7 10 4
9 2 3 14 6 11 8 12
В ГОСТ 28147 требуется 8 раундов прежде, чем изменение одного входного бита повлияет на каждый бит результата;
в ГОСТ 28147 - 32 раунда, что делает его более стойким к дифференциальному и линейному криптоанализу
Алгоритм симметричного шифрования Rijndael.
Rijnael это блочный шифр с различной длиной блока шифрования и длиной ключа. Длины блока и ключа шифрования могут быть 128, 192 и 256 бит. Шифрование блока осуществляется за несколько раундов, так, например, при длине блока 128 бит и длине ключа 128 бит алгоритм включает 10 раундов.
1.Замена байтов представляет собой нелинейную замену байтов, действующую на каждый байт состояния независимо. Таблица замены является обратимой и строится на основе произведения двух преобразований:
вычисляется “обратный байт” (обратимость понимается над полем GF(256), а 0 элемент отображается в себя).
К полученному байту применяется афинное преобразование:
S-box
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для выполнения обратной замены байтов применяется обратная таблица замены, которая получается следующим образом: сначала производится обратное афинное преобразование, а затем вычисляется обратный элемент над GF(256).
2.Под сдвигом строк понимается следующая операция:
Строки состояния циклически сдвигаются на различные смещения. Нулевая строка не сдвигается, первая сдвигается на 1 байт, вторая на 2 байта и третья на три байта (при других значениях длины блока значения смещений меняются).
Обратной операцией является циклический сдвиг в другую сторону.
3.Смешивание столбцов происходит следующим образом:
столбец
состояния рассматривается как полином
над GF(256) и умножается по
модулю
на фиксированный полином
,
где
.
Это преобразование обратимо, поскольку
полином
взаимно прост с
.
Это
преобразование можно записать в матричном
виде:
,
Рисунок иллюстрирует действие данного преобразования:
|
… |
|
… |
|
… |
… |
|
… |
… |
… |
|
… |
|
… |
… |
|
… |
… |
… |
|
… |
|
… |
… |
|
… |
… |
… |
|
… |
|
… |
… |
|
… |
Для
выполнения обратного преобразования
необходимо произвести умножение на
полином
.