Google
 
Главная2-й курс3-й курс4-й курс5-й курсСпецкурсыСсылкиКарта(версия для печати)

Шифрующее кодирование

Вариант 2-го практического задания для групп 110, 111 (2007)

Краткие теоретические сведения

Постановка задачи

Требования к реализации

Генератор ключа шифра

Генератор ключа шифра должен запросить у пользователя желаемую длину Lkey шифр-ключа (целое от 16 до 30 000), затем инициализировать алгоритм генератора псевдослучайной последовательности значением сотых долей секунд текущего времени. После чего генератор должен вывести следующую ключевую последовательность байтов в шестнадцатеричном виде (по 2 цифры на байт). Формат следования данных в последовательности может быть, например, таким:

b0b1b2b3b4b5b6...b6 + KL
LkeyLpreambleLtailKey

где:

Шифратор

Шифратор должен ввести сгенерированную первым модулем ключевую последовательность, а затем ввести текст, оканчивающийся комбинацией CTRL+Z (символ с кодом h), и вывести шифр-последовательность в шестнадцатеричном виде, предваренную случайной преамбулой и оканчивающуюся случайным суффиксом. Формат следования данных в шифр-последовательности может быть, например, таким:

b0...bLpreamble − 1 bLpreamble...bLpreamble + Lcipher − 1 bLpreamble + Lcipher...bLpreamble + Lcipher + Ltail − 1
PreambleCipherTail

Длина преамбулы и суффикса порождается генератором шифр-ключа и содержится в ключевой последовательности.

Дешифратор

Дешифратор, аналогично шифратору, должен сначала ввести ключевую последовательность, затем шифр-последовательность и вывести расшифрованный текст.

Варианты сложности

В качестве возможного усложнения задания предлагается реализовать в шифраторе:

Ссылки по теме