Теоретическая часть
Методы криптографического шифрования заменой (подстановкой) заключаются в том, что символы исходного текста, записанные в одном алфавите, заменяются символами другого алфавита в соответствии с принятым ключом преобразования.
Частным случаем метода замены, обеспечивающим надежное шифрование информации, является использование алгебры матриц (например правила умножения матрицы на вектор). Это правило, как известно, заключается в следующем:
В соответствии с этим правилом, матрицу можно использовать в качестве основы для шифрования, знаками вектора могут быть символы шифруемого текста, а знаками вектора результата — символы зашифрованного текста. Для шифрования буквенных сообщений необходимо прежде всего заменить знаки алфавита их цифровыми эквивалентами, которым может быть порядковый номер буквы в алфавите.
Для дешифрования используются те же правила умножения матрицы на вектор, только в качестве основы берется обратная матрица, а в качестве умножаемого вектора — соответствующее количество чисел шифрованного текста. Цифрами вектора-результата будут цифровые эквиваленты знаков исходного текста.
Процедуры шифрования и дешифрования строго формализованы, что позволяет сравнительно легко запрограммировать их для автоматической реализации в ЭВМ. Причем важно, что шифрование и дешифрование осуществляются по одной процедуре умножения матрицы на вектор, т.е. для них можно использовать одну и ту же программу. Недостатком же является то, что для шифрования и дешифрования каждой буквы требуется выполнить несколько арифметических операций, что увеличивает время обработки информации.
Указания к выполнению лабораторной работы
Исходный текст (произвольный или рассмотренный в одной из предыдущих работ) преобразовать, заменяя буквы соответствующими им порядковыми номерами в алфавите. Пробел при этом кодируется как 0, знаки препинания – произвольными числами начиная с 34 по 38. Результат сохранить как вектор.
Выполнить умножение матрицы, заданной вариантом, на полученный вектор, разбивая его при этом на отрезки необходимой длины.
Результаты умножения записать в виде единого вектора. Произвести обратное преобразование от порядковых номеров к буквам (mod 38). Полученный текст поместить в текстовый файл на общем диске, дав ему название по номеру варианта.
Разработать программу дешифрации данного алгоритма (матрица-ключ и дешифруемый текст должны вводится с экрана). Примечание: обратная матрица может быть получена в любом доступном математическом пакете, например, с помощью Mathcada.
Варианты заданий
;
;
;
;
;
;
;
;
;
;
.
Рекомендуемая литература
Акимов О.Е. Дискретная математика: логика, группы, графы. М.: Лаборатория Базовых знаний, 2003. – 376 с.
Иванов Б.Н. Дискретная математика. Алгоритмы и программы: Учебное пособие. М.: Лаборатория Базовых знаний, 2002. – 288 с.
Карпов Ю.Г. Теория автоматов. СПб.: Питер, 2003. – 208 с.
Новиков Ф.А. Дискретная математика для программистов. СПб.: Питер, 2001. – 304 с.
Романовский И.В. Дискретный анализ: Учебное пособие для студентов, специализирующихся по прикладной математике и информатике. СПб.: Невский Диалект; БХВ-Петербург, 2003. – 320 с.
Адрес в Интернете: www.ghcube.com
Содержание
Введение 3
Лабораторная работа № 1 4
Алгоритм слияния: включение, объединение и пересечение множеств. 4
Лабораторная работа № 2 8
Реализация булевых функций формулами. 8
Лабораторная работа № 3. 12
Построение и быстрое вычисление совершенной ДНФ. 12
Лабораторная работа № 4 15
Шестнадцатеричная система. Ведение в теорию кодирования 15
Лабораторная работа № 5 18
Теория кодирования. Алгоритм Хаффмана. Сжатие текста. 18
Лабораторная работа № 6 21
Теория кодирования. Волновой метод и метод ДКП сжатия изображений. 21
Лабораторная работа № 7. 24
Элементы криптографии. Маршруты Гамильтона. 24
Лабораторная работа № 8. 26
Элементы криптографии. Шифрование с использованием алгебры матриц. 26
Рекомендуемая литература 30
1 См.: Романовский И.В. Дискретный анализ: Учебное пособие для студентов, специализирующихся по прикладной математике и информатике. СПб.: Невский Диалект; БХВ-Петербург, 2003. – 320 с.
2 См.: Романовский И.В. Дискретный анализ: Учебное пособие для студентов, специализирующихся по прикладной математике и информатике. СПб.: Невский Диалект; БХВ-Петербург, 2003. – 320 с., стр. 27.