
- •Варианты заданий.
- •Лабораторная работа 2. Тема: криптоанализ симметричных криптосистем.
- •Лабораторная работа 3. Тема: поточные шифры. Шифр Вернама. Моделирование работы разрядного скремблера.
- •Требуется
- •Написать функцию для реализации алгоритма расшифрования полученного шифрованного файла при известном ключе. Варианты заданий.
- •Лабораторная работа 4. Блочные составные шифры
- •Лабораторная работа 5. Российский стандарт шифрования гост 28147-89
- •Алгоритм шифрования гост 28147-89
- •Лабораторная работа 6
- •Лабораторная работа 7 Обмен ключами по схеме Диффи-Хеллмана
- •Реализовать программу, генерирующую алгоритм обмена ключей по схеме Диффи-Хеллмана. Лабораторная работа 8 Шифр rsa
- •Реализовать программу, работающую по алгоритму rsa Программа должна уметь работать с текстом произвольной длины. Приложение 1.
- •Литература
Лабораторная работа 5. Российский стандарт шифрования гост 28147-89
Цель работы: ознакомиться с шифрованием и расшифрованием информации при помощи алгоритма ГОСТ 28147-89.
Алгоритм шифрования гост 28147-89
ГОСТ 28147-89 – это стандарт, принятый в 1989 году в Советском Союзе и установивший алгоритм шифрования данных, составляющих гостайну. В начале 90-х годов алгоритм стал полностью открытым. В Российской Федерации установлен единый стандарт криптографического преобразования текста для информационных систем. Он рекомендован к использованию для защиты любых данных, представленных в виде двоичного кода, хотя не исключаются и другие методы шифрования.
ГОСТ предусматривает 3 основных режима шифрования (простая замена, гаммирование, гаммирование с обратной связью), а также режим выработки имитовставки. Режим простой замены в основном предназначен для шифрования ключевой информации. Режим выработки имитовставки (криптографической контрольной комбинации) предназначен для имитозащиты шифруемых данных, то есть для их защиты от случайных или преднамеренных несанкционированных изменений.
Алгоритм построен по тому же принципу, что и DES – это классический блочный шифр с секретным ключом – однако отличается от DES'а большей длиной ключа, большим количеством раундов, и более простой схемой построения самих раундов. Ниже приведены его основные параметры, для удобства - в сравнении с параметрами DES'а:
Параметры |
ГОСТ |
DES |
1. Размер блока шифрования |
64 бита |
64 бита |
2. Длина ключа |
256 бит |
56 бит |
3. Число раундов |
32 |
16 |
4. Узлы замен (S-блоки) |
не фиксированы |
фиксированы |
5. Длина ключа для одного раунда |
32 бита |
48 бит |
6. Схема выработки раундового ключа |
простая |
сложная |
7. Начальная и конечная перестановки битов |
нет |
есть |
В силу намного большей длины ключа ГОСТ гораздо устойчивей DES'а к вскрытию путем полного перебора по множеству возможных значений ключа.
Для шифрования
блок текста сначала разбивается на
левую половину
и правую половину
.
В
-ом
раунде алгоритма ГОСТ выполняются
следующие преобразования:
Функция f
действует по следующему правилу. Сначала
правый блок
складывается по модулю
232
с подключом
.
Полученное 32-битовое сообщение делится
на восемь 4-битовых частей. Каждое из
этих 4-битовых чисел преобразуется
соответствующим S-блоком в другое
4-битовое число. Поэтому любой S-блок
определяется некоторой 16-битовой
перестановкой на множестве из 16 элементов
0, 1, ..., 15. Например, в Центробанке
использовались следующие S-блоки:
= (4 10 9 2 13 8 0 14
6 11 1 12 7 15 5 3),
= (14 11 4 12 6 13 15
10 2 3 8 I 0 7 5 9),
=
(5 8 1 13 10 3 4 2 14 15 12 7 6 0 9 11),
=
(7 13 10 I 0 8 9 15 14 4 6 12 11 2 5 3),
=
(6 12 7 1 5 15 13 8 4 10 9 14 0 3 11 2),
= (4 11 10 0 7 2 1 13 3
6 8 5 9 12 15 14),
=
(13 11 4 1 3 15 5 9 0 10 14 7 6 8 2 12),
=
(l 15 13 0 5 7 10 4 9 2 3 14 6 11 8 12).
После преобразования S-блоками полученное 32-битовое сообщение сдвигается циклически влево на 11 позиций.
Ключевое
расписание. Исходный 256-битовый ключ
делится на восемь 32-битовых подключей
,
они используются в 32 тактах в следующем
порядке: 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 8 7 6
5 4 3 2 1. При расшифровании порядок
использования подключей меняется на
противоположный.
Варианты заданий.
1. Реализовать шифр ГОСТ 28147-89 в режиме простой замены.
2. Реализовать шифр ГОСТ 28147-89 в режиме гаммирования.
3. Реализовать шифр ГОСТ 28147-89 в режиме гаммирования с обратной связью.
4. Реализовать шифр ГОСТ 28147-89 в режиме выработки имотовставки (имитовставка вырабатывается с помощью «усеченного» 16-раундового алгоритма ГОСТ, при этом вектор имитовставки – это 32 младших бита последнего блока шифртекста).