Кадыров, лаб.работа №1

advertisement
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«Уральский федеральный университет имени первого Президента
России Б.Н.Ельцина»
КАФЕДРА ТЕХНИЧЕСКОЙ ФИЗИКИ
ОТЧЕТ
по лабораторной работе
КРИПТОГРАФИЧЕСКИЕ АЛГОРИТМЫ. АЛГОРИТМ
КРИПТОПРЕОБРАЗОВАНИЯ – ГОСТ 28147-89
Студент:
Группа:
Преподаватель:
Екатеринбург
2015
Кадыров С.Р.
Фт-420203
Александров О. Е.
Введение
Для защиты данных от нежелательного доступа используют различные
криптографические методы. Они опираются на свойства самой информации
и не используют свойства ее материальных носителей, особенности узлов ее
обработки, передачи и хранения. Можно сказать, что криптографические
методы строят барьер между защищаемой информацией и реальным или
потенциальным злоумышленником из самой информации. Для разъяснения
принципов
построения
шифров
предлагаются
данные
методические
материалы к лабораторной работе по курсу «Теория информационных
систем».
Под
криптографической
защитой
подразумевается
шифрование
данных. Раньше, когда эта операция выполнялось человеком вручную или с
использованием различных приспособлений, и при посольствах содержались
многолюдные
отделы
шифровальщиков,
сдерживалось проблемой применения
развитие
криптографии
шифров. Появление цифровых
электронно-вычислительных машин изменило все коренным образом и в
этой сфере. С одной стороны, взломщики шифров получили в свои руки
чрезвычайно мощное орудие, с другой стороны, барьер сложности
реализации исчез, и для создателей шифров открылись практически
безграничные перспективы. Все это определило стремительный прогресс
криптографии в последние десятилетия.
Российская Федерация имеет свой стандарт шифрования. Этот
стандарт закреплен ГОСТом №28147-89, принятом, как явствует из его
обозначения, еще в 1989 году в СССР.
2
Цель работы
Вариант №1
1) Научиться компилировать и запускать программы GOST и GOST89.
2) Ответить на следующие вопросы:
1. Что такое блок данных?
2. Что такое таблица замен и для чего она нужна?
3. Что такое ключ и для чего он нужен?
4. В каком случае (чему должны быть равны ключ и таблица
замен) шифрованные данные будут тождественны исходным?
5. Чем режим шифрования «гаммирование» отличается от режима
шифрования «простая замена»?
6. Чем режим шифрования «гаммированием» лучше режима
шифрования «простой заменой»?
7. Какие недостатки есть у режима шифрования «гаммированием с
обратной связью» лучше режима шифрования простой заменой?
8. Что такое имитовставка и зачем она нужна?
3
Ответы на вопросы
1) Блок данных – единица обработки информации по ГОСТу, в
котором находятся алгоритмы для криптографических преобразований, а
именно: алгоритмы шифрования и дешифрования
2) Таблица замен является вектором, содержащим восемь узлов
замены. Каждый узел замены, в свою очередь, является вектором,
содержащим шестнадцать 4-битовых элементов замены, которые можно
представить в виде целых чисел от 0 до 15, все элементы одного узла замены
обязаны быть различными. Таким образом, таблица замен может быть
представлена в виде матрицы размера 8x16 или 16x8, содержащей 4-битовые
заменяющие значения. Для языков программирования, в которых двумерные
массивы расположены в оперативной памяти по строкам, естественным
является первый вариант (8x16). Тогда узлы замены будут строками таблицы
замен. Таким образом, общий объем таблицы замен равен: 8 узлов x 16
элементов/узел x 4 бита/элемент = 512 бит = 64 байта. Таблица замен
является дополнительным 512-битовым ключом, т.е. используется для
шифрования.
Таблица замен является долговременным ключевым элементом, то есть
действует в течение гораздо более длительного срока, чем отдельный ключ.
Предполагается, что она является общей для всех узлов шифрования в рамках
одной
системы
криптографической
защиты.
Даже
при
нарушении
конфиденциальности таблицы замен стойкость шифра остается чрезвычайно
высокой и не снижается ниже допустимого предела. Таблица замен
необходима для поблочной замены 32-битного значения полученного в
результате
сложения
младшей
половины
преобразуемого
блока
с
используемым элементом ключа. Замена необходима для обеспечения
криптостойкости алгоритма.
3) Ключом в данном алгоритме служит массив из восьми 32-битных
чисел. Таким образом, длина ключа составляет 256 бит. Ключ можно
4
представить, как таблицу, в которой 8 строк и 32 столбца. Такая
конфигурация ключа необходима для работы алгоритма. Ключ необходим для
шифрования/расшифровки сообщений (данных). Ключ – это секретный
параметр криптопреобразования.
4) Шифрованные данные будут
тождественно
исходными,
при
условии, если ключ симметричный, а значениями элементов таблицы замен
являются еденицы.
5) В режиме «гаммирование» происходит наложение (снятие) на
открытые (зашифрованные) данные криптографической гаммы, то есть
последовательности
элементов
данных,
вырабатываемых
с
помощью
некоторого криптографического алгоритма, для получения зашифрованных
(открытых)
следующим
данных.
В
образом:
режиме
с
«гаммирования»
помощью
некоторого
гамма
получается
алгоритмического
рекуррентного генератора последовательности чисел вырабатываются 64битовые блоки данных, которые далее подвергаются преобразованию по
циклу 32-З, то есть шифрованию в режиме простой замены, в результате
получаются блоки гаммы. Благодаря тому, что наложение и снятие гаммы
осуществляется при помощи одной и той же операции побитового
исключающего или, алгоритмы шифрования и дешифрования в режиме
«гаммирования» идентичны.
Шифрование в режиме «Простая замена» заключается в применении
цикла 32-З к блокам открытых данных, дешифрование – цикла 32-Р к блокам
зашифрованных данных. Это наиболее простой из режимов, 64-битовые
блоки данных обрабатываются в нем независимо друг от друга.
6) В режиме «гаммирования» возможно шифрование блоков с
размером менее 64 бит и можно обеспечить зависимость блока шифртекста
от
его
номера,
иными
словами,
можно
рандомизировать
процесс
шифрования. В режиме шифрования «гаммирования», во-первых, все
элементы
гаммы различны для реальных
5
шифруемых
массивов и,
следовательно, результат шифрования даже двух одинаковых блоков в одном
массиве данных будет различным. Во-вторых, хотя элементы гаммы и
вырабатываются одинаковыми порциями в 64 бита, использоваться может и
часть такого блока с размером, равным размеру шифруемого блока.
В двух режимах «гаммирования» есть возможность обработки
неполного блока данных размером меньше 8 байт, что существенно при
шифровании массивов данных с произвольным размером, который может
быть не кратным 8 байтам.
7) При дешифровании блока данных в режиме «гаммирования с
обратной связью», блок открытых данных зависит от соответствующего и
предыдущего блоков зашифрованных данных. Поэтому, если внести
искажения в зашифрованный блок, то после дешифрования искаженными
окажутся два блока открытых данных – соответствующий и следующий за
ним, причем искажения в первом случае будут носить тот же характер, что и
в режиме «гаммирования», а во втором случае – как в режиме простой
замены. Другими словами, в соответствующем блоке открытых данных
искаженными окажутся те же самые биты, что и в блоке шифрованных
данных, а в следующем блоке открытых данных все биты независимо друг от
друга с вероятностью 1/2 изменят свои значения.
8) Имитовставка – это контрольная комбинация, зависящая от
открытых данных и секретной ключевой информации. Целью использования
имитовставки является обнаружение всех случайных или преднамеренных
изменений в массиве информации.
6
Вывод
В ходе данной лабораторной работы я ознакомился с алгоритмом
криптопреобразования – ГОСТ 28147-89 и получил практические навыки
использования данного алгоритма, в результате чего ответил на вопросы по
теории алгоритма криптообразования ГОСТ 28147-89.
7
Download