Лаба1_Юдина_Фт420203 - Уральский федеральный

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