лаб 15. Лаб раб 15. Лабораторные работы
Скачать 0.6 Mb.
|
Содержание отчётаОтчёт должен содержать: задание к работе; программу. результаты работы программы. Контрольные вопросыКакие шифры относятся к полиалфавитным? Приведите примеры. Какими свойствами обладают полиалфавитные шифры? Лабораторная работа №3 Блочные составные шифры. Сеть Фейстеля Цель работы: Ознакомиться с блочными составными шифрами, освоить криптографические преобразования подстановки и перестановки. Изучить и реализовать шифрование информации при помощи сети Фейстеля. Задание Реализовать приложение для шифрования, позволяющее выполнять следующие действия: Шифровать данные при помощи сети Фейстеля: шифруемый текст должен храниться в одном файле, а ключ шифрования – в другом; приложение должно позволять выбирать способ получения подключей из заданного ключа шифрования: а) для i-го раунда подключом является цепочка из 32 подряд идущих бит заданного ключа, которая начинается с бита номер , продолжается до последнего бита ключа и при его достижении циклически повторяется, начиная с 1 бита; б) для i-го раунда, начиная с бита номер , берётся цепочка из 8 подряд идущих бит ключа, которая является начальным значением для скремблера вида ; подключом является сгенерированная этим скремблером последовательность из 32 бит; приложение должно позволять выбирать вид образующей функции: а) функция – единичная, т.е. ( ) ; б) функция имеет вид ( ) ( ) , где ( ) – левая часть шифруемого блока, на которую посредством операции XOR была наложена 32-битная последовательность, сгенерированная 16 разрядным скремблером вида ; зашифрованный текст должен сохраняться в файл; в процессе шифрования предусмотреть возможность просмотра и изменения ключа, шифруемого и зашифрованного текстов в шестнадцатеричном и символьном виде. Исследовать лавинный эффект (исследования проводить на одном блоке текста): для бита, который будет изменяться, приложение должно позволять задавать его позицию (номер) в открытом тексте или в ключе; приложение должно уметь после каждого раунда шифрования подсчитывать число бит, изменившихся в зашифрованном тексте при изменении одного бита в открытом тексте либо в ключе; приложение может строить графики зависимости числа бит, изменившихся в зашифрованном тексте, от раунда шифрования, либо графики можно строить в стороннем ПО, но тогда приложение для шифрования должно сохранять в файл необходимую для построения графиков информацию. Реализовать приложение для дешифрования, позволяющее выполнять следующие действия: Дешифровать данные при помощи сети Фейстеля: зашифрованный текст должен храниться в одном файле, ключ – в другом; приложение должно позволять выбирать способ получения подключей из заданного ключа шифрования; приложение должно позволять выбирать вид образующей функции; расшифрованный текст должен сохраняться в файл; в процессе дешифрования предусмотреть возможность просмотра и изменения ключа, зашифрованного и расшифрованного текстов в шестнадцатеричном и символьном виде. С помощью реализованных приложений выполнить следующие задания: Протестировать правильность работы разработанных приложений. Исследовать лавинный эффект при изменении одного бита в открытом тексте и в ключе: построить графики зависимостей числа бит, изменившихся в зашифрованном сообщении, от раунда шифрования при всех возможных комбинациях способов выбора ключа и образующей функции (всего должно быть построено 8 графиков). Сделать выводы о проделанной работе. Лабораторная работа №4 Программная реализация шифров перестановки. Цель работы: Изучить перестановочные шифры. Шифр «Лесенка». Шифр «Поворотная решетка». В результате выполнения работы студент должен: |