Разработка и анализ простых криптографических алгоритмов на основе методов замены (подстановок).

Лабораторная работа №7

Цель:

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

  1. Ход работы

Начало формы

  1. Краткие теоретические сведения
  2. Шифрами замены называются такие шифры, преобразования из которых приводят к замене каждого символа открытого текста на другие символы – шифрообозначения, причем порядок следования шифрообозначений совпадает с порядком следования соответствующих им символов открытого сообщения.
  3. В своей простейшей форме шифр замены может быть задан таблицей подстановки, устанавливающей соответствие между буквами двух алфавитов An и Bn:

5. ,

6. где – i-тая буква алфавита открытого текста, – шифрообозначение ai (соответствующая ai буква алфавита шифртекста).

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

  1. Алфавиты An и Bn не обязательно должны быть различными. В практической криптографии очень часто применяются шифры, в которых алфавиты An и Bn совпадают.
  2. В шифре простой замены каждый символ исходного текста заменяется символами того же алфавита одинаково на всем протяжении текста.
  3. В шифрах сложной замены для шифрования каждого символа открытого текста применяют свой шифр простой замены. Для реализации шифров сложной замены последовательно и циклически меняют используемые таблицы подстановки.
  4. Полибианский квадрат.Одним из первых шифров простой замены считается так называемый полибианский квадрат. За два века до нашей эры греческий писатель и историк Полибий изобрел для целей шифрования квадратную таблицу размером 5x5, заполненную буквами греческого алфавита в случайном порядке (рис. 1.7).

13.

14. Рис. 1.7. Полибианский квадрат

  1. При шифровании в этом полибианском квадрате находили очередную букву открытого текста и записывали в шифртекст букву, расположенную ниже ее в том же столбце. Если буква текста оказывалась в нижней строке таблицы, то для шифртекста брали самую верхнюю букву из того же столбца. Например, для слова "tauros" получается шифртекст "Cjdmtx".
  2. Концепция полибианского квадрата оказалась плодотворной и нашла применение в криптосистемах последующего времени.
  3. Система шифрования Цезаря.Шифр Цезаря является частным случаем шифра простой замены. Свое название этот шифр получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке с Цицероном (около 50 г. до н.э.).
  4. При шифровании исходного текста каждая буква заменялась на другую букву того же алфавита по следующему правилу. Заменяющая буква определялась путем смещения по алфавиту от исходной буквы на К букв. При достижении конца алфавита выполнялся циклический переход к его началу. Цезарь использовал шифр замены при смещении К = 3. Такой шифр замены можно задать таблицей подстановки, содержащей соответствующие пары букв открытого текста и шифртекста. Совокупность возможных подстановок для К=3 показана в табл. 1.1.
  5. Таблица 1.1.
  6. Таблица подстановки шифра Цезаря

22. A-D J-M S-V

23. B-E K-N T-W

24. C-F L-O U-X

25. D-G M-P V-Y

26. E-H N-Q W-Z

27. F-I O-R X-A

28. G-J P-S Y-B

29. H-K Q-T Z-C

30. I-L R-U

  1. Например, послание Цезаря "VENI VIDI VICI" ("Пришел, Увидел, Победил") выглядело бы в зашифрованном виде так: "YHQL YLGL YLFL".
  2. Система шифрования Цезаря с ключевым словом. Особенностью этой системы является использование ключевого слова для смещения и изменения порядка символов в алфавите подстановки.
  3. Выберем некоторое число k, 0 < k < 25 , и слово или короткую фразу в качестве ключевого слова. Желательно, чтобы все буквы ключевого слова были различными. Пусть выбраны слово DIPLOMAT в качестве ключевого слова и число k= 5.
  4. Ключевое слово записывается под буквами алфавита, начиная с буквы, числовой код которой совпадает с выбранным числом k:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D I P L O M A T
  1. Оставшиеся буквы алфавита подстановки записываются после ключевого слова в алфавитном порядке:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
V W X Y Z D I P L O M A T B C E F G H J K N Q R S U
  1. Теперь мы имеем подстановку для каждой буквы произвольного сообщения. Исходное сообщение "SEND MORE MONEY" шифруется как "HZBY TCGZ TCBZS".
  2. Следует отметить, что требование о различии всех букв ключевого слова не обязательно. Можно просто записать ключевое слово (или фразу) без повторения одинаковых букв.
  3. Шифрующие таблицы Трисемуса. В 1508 г. аббат из Германии Иоганн Трисемус написал печатную работу по криптологии под названием "Полиграфия". В этой книге он впервые систематически описал применение шифрующих таблиц, заполненных алфавитом в случайном порядке. Для получения такого шифра замены обычно использовались таблица для записи букв алфавита и ключевое слово (или фраза). В таблицу сначала вписывалось по строкам ключевое слово, причем повторяющиеся буквы отбрасывались. Затем эта таблица дополнялась не вошедшими в нее буквами алфавита по порядку. Поскольку ключевое слово или фразу легко хранить в памяти, то такой подход упрощал процессы шифрования и расшифрования.
  4. Поясним этот метод шифрования на примере. Для русского алфавита шифрующая таблица может иметь размер 4x8. Выберем в качестве ключа слово БАНДЕРОЛЬ. Шифрующая таблица с таким ключом показана на рис. 1.8.
Б А Н Д Е Р О Л
Ь В Г Ж З И Й К
М П С Т У Ф Х Ц
Ч Ш Щ Ы Ъ Э Ю Я

45. Рис. 1.8. Шифрующая таблица Трисемуса с ключевым словом "БАНДЕРОЛЬ"

  1. Как и в случае полибианского квадрата, при шифровании находят в этой таблице очередную букву открытого текста и записывают в шифртекст букву, расположенную ниже ее в том же столбце. Если буква текста оказывается в нижней строке таблицы, тогда для шифртекста берут самую верхнюю букву из того же столбца.
  2. Например, при шифровании с помощью этой таблицы сообщения "ВЫЛЕТАЕМПЯТОГО" получаем шифртекст "ПДКЗЫВЗЧШЛЫЙСЙ".
  3. Система шифрования Вижинера впервые была опубликована в 1586 г. и является одной из старейших и наиболее известных шифров сложной замены. Свое название она получила по имени французского дипломата XVI века Блеза Вижинера, который развивал и совершенствовал криптографические системы.
  4. Система Вижинера подобна такой системе шифрования Цезаря, у которой ключ подстановки меняется от буквы к букве. Этот шифр можно описать таблицей шифрования, называемой таблицей (квадратом) Вижинера. Пример квадрата Вижинера для русского языка приведен в табл. 1.2.
  5. Таблица Вижинера используется для шифрования и расшифрования. Таблица имеет два входа: верхнюю строку подчеркнутых символов, используемую для считывания очередной буквы исходного открытого текста; крайний левый столбец ключа. Последовательность ключей обычно получают из числовых значений букв ключевого слова.
  6. При шифровании исходного сообщения его выписывают в строку, а под ним записывают ключевое слово (или фразу). Если ключ оказался короче сообщения, то его циклически повторяют. В процессе шифрования находят в верхней строке таблицы очередную букву исходного текста и в левом столбце очередное значение ключа. Очередная буква шифртекста находится на пересечении столбца, определяемого шифруемой буквой, и строки, определяемой числовым значением ключа.
  7. Рассмотрим пример получения шифртекста с помощью таблицы Вижинера. Пусть выбрано ключевое слово "АМБРОЗИЯ". Необходимо зашифровать сообщение "ПРИЛЕТАЮ СЕДЬМОГО".
  8. Выпишем исходное сообщение в строку и запишем под ним ключевое слово с повторением. В третью строку будем выписывать буквы шифртекста, определяемые из таблицы Вижинера.

55. Сообщение ПРИЛЕТАЮ СЕДЬМОГО

56. Ключ АМБРОЗИЯ АМБРОЗИЯ

57. Шифртекст ПЪЙЫУЩИЭ ССЕКЬХЛН

58. Таблица 1.2.

  1. Квадрат Вижинера для русского языка

Конец формы

  1. Содержание работы

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

64. · шифрование информации, находящейся в текстовом файле, с записью результата в другой файл;

65. · шифрование информации, вводимой с клавиатуры, с выводом только шифр - текста;

  1. Варианты заданий:
  2. 1. Шифр Цезаря.
  3. 2. Шифр Цезаря с ключевым словом.
  4. 3. Шифр Трисемуса.
  5. 4. Шифр Плейфера.
  6. 5. Шифр Вижинера.

Оформление отчета

Включить в отчет

номер, тему и цель лабораторной работы

вариант задания

исходный текст и шифр-текст и код программы (по возможности)