Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Криптография.doc
Скачиваний:
20
Добавлен:
23.03.2015
Размер:
129.02 Кб
Скачать

4. Написать программу для определения длины ключа криптограммы.

Вход.

Криптограмма (выходной файл программы п.3 ПРАКТИЧЕСКОЙ ЧАСТИ).

Выход.

Предполагаемая длина ключа (вывести на экран). Дополнительная информация (вывод на экран):

  • значение индексов совпадения;

  • пары повторяющихся групп 3-х и более букв с указанием их позиций в криптограмме;

  • другая информация по усмотрению исполнителя.

Примечание. Использовать оба метода оценки длины ключа (по индексу совпадения и по отысканию в криптограмме всех пар повторяющихся групп 3-х и более букв.

Задание. Определить длину ключа криптограммы, полученной при выполнении задания к п.3 ПРАКТИЧЕСКОЙ ЧАСТИ. Сопоставить с известным значением. Сделать выводы.

ОБЩИЕ ЗАМЕЧАНИЯ (Прочтите обязательно!)

Криптоанализ - в общем случае очень сложная задача, в успешном решении которой немалую роль играет интуиция криптоаналитика, т.е. в определенном смысле процесс ее решения носит эвристический характер. То, что выполняется в лабораторной работе - лишь имитация реальности, поскольку и щифруемый текст, и ключ и др. известны "криптоаналитику" абсолютно точно и всегда есть возможность проконтролировать процесс и проверить результат расшифровки.

Следует иметь в виду, что в реальных ситуациях предложенное машиной решение может оказаться не совсем точным.

Четкость оформле­ния выводных данных программ имеет большое значение: бестолковый вывод лишь затруднит работу интуиции криптоаналитика в реальных условиях.

Описанные здесь алгоритмы достаточно легко реализуются, но имеют один недостаток — они не дают однозначного результата.

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

Кроме этого, алгоритмическое определение исходных эквивалентов для редко встречающихся букв криптограммы следует прове­рить, убедившись, что при расшифровке получаются правильные русские/английские слова.

Увеличивая статистическую информацию, доступ­ную программе, можно получить более надежное основание для алго­ритмических решений, но все равно эти решения должен проверить криптоаналитик.

В идеале помимо указанных алгоритмов в программах долж­ны быть реализованы средства, позволяющие подтвердить обосно­ванность выводов, которые делает программа. Хороший спо­соб обеспечить возможность такой оценки — написать программу, работающую в интерактивном режиме так, чтобы программа и пользователь смогли "совместно обсудить" качество каждого реше­ния до того, как оно будет окончательно принято. «Обсуждение» обычно состоит в том, что программа сообщает криптоаналитику факты, говорящие в пользу того или иного возможного решения, а он либо принимает его, либо отвергает, после чего вычисление может быть продолжено.

ОТЧЕТНОСТЬ

Тексты программ, таблицы, диаграмма статистик, шифруемые (открытые) тексты и их криптограммы, "взломанные криптограммы", числовые результаты работы программ. Выводы.