[infosec-course] задание по криптографии

Dennis Gamayunov gamajun at cs.msu.su
Tue Oct 18 12:19:27 UTC 2011


Коллеги, у нас для вас новое задание!

Создание алгоритма симметричного шифрования и его криптоанализ.

Задание групповое, и состоит из двух этапов. На первом этапе группа
создаёт симметричный шифр и реализует его в виде программы, шифрующей
файлы. На втором этапе группы проводят plaintext атаку на реализации
других групп.

Подзадача 1: алгоритм шифрования должен представлять собой сеть Фейстеля
или PSN с фиксированным размером блока (от 64 до 512 бит), фиксированным
размером ключа (не более 64 бит), и любым числом раундов. Алгоритм
генерации ключей раундов из исходного ключа может быть любой. Реализация
должна представлять собой программу с command line интерфейсом для
шифрования и расшифровки файлов. Реализация должна представлять собой
проект, компилируемый под Linux стандартными средствами (компилятор gcc,
сборка make, cmake. qmake, возможно использования automake/autoconf, все
необходимые зависимости должны быть указаны в файлах README/INSTALL в
репозитории, наличие или отсутствие необходимых библиотек система сборки
должна определять самостоятельно). Реализация должна быть опубликована в
виде исходных текстов на GIT или Subversion репозитории с публичным
доступом. Реализация должна принимать следующие ключи: "-h/--help" -
вывод подсказки, "-e/--encrypt,-d/--decrypt" - зашифровать или
расшифровать, "-i/--input" - имя входного файла, "-o/--output" - имя
выходного файла. Ключ должен вводиться в диалоговом режиме после запуска
программы, и не должен отображаться на экране (экранирование звёздочками).

Подзадача 2: для каждой опубликованной реализации задан файл,
зашифрованный с её помощью, размер исходного файла не известен, как и
его содержимое. Известно, что входной файл - текст ASCII. Необходимо с
помощью plaintext атаки на реализацию восстановить ключ шифрования и
исходный файл (его содержимое). Атаковать можно любое число реализаций.

Ограничение по срокам на подзадачу 1 - до 20 ноября.

С уважением,

Денис Гамаюнов




More information about the course mailing list