Лабораторна робота 1
Шифри Полібія, Цезаря, Тритемія, Віженера
1. Опис методів шифрування
1.1. Шифр на основі квадрату Полібія (ІІ вік до н.е.). Символи алфавіту, який застосовується для представлення повідомлення, розміщуються в виді квадратної таблиці (в загальному випадку така таблиця може бути прямокутною). Шифрування полягає в заміні кожного символу повідомлення впорядкованою парою чисел , де та – номера, відповідно, рядка і стовпця таблиці , на перетині яких розташований символ . Розшифрування основане на послідовному перегляді шифротексту, виділенні чергової пари чисел і її заміні символом , розташованому в таблиці на перетині -го рядку і -го стовпця.
Приклад 1.1. Таблиця 1.1 – варіант квадрату Полібія для російської мови (символ «_» – знак пробілу).
Таблиця 1.1
А | Б | В | Г | Д | Е | Ж | |
З | И | Й | К | Л | М | Н | |
О | П | Р | С | Т | У | Ф | |
Х | Ц | Ч | Ш | Щ | Ъ | Ы | |
Ь | Э | Ю | Я | _ | , | ; | |
: | . | ! | ? | “ | ” | - |
Зашифруємо за допомогою таблиці 1 фразу
МАТЕМАТИКА_–_ЭТО_“ГИМНАСТИКА”_УМА!
Замінимо кожний символ впорядкованою парою чисел , де та – відповідно, номер рядка і номер стовпця таблиці 1, на перетині яких розташований символ . Отримаємо послідовність чисел:
Розшифруємо тепер шифротекст
2647553634163315273155331112313511162662,
отриманий за допомогою таблиці 1.
Розіб’ємо отриману послідовність на пари чисел:
(26)(47)(55)(36)(34)(16)(33)(15)(27)(31)(55)(33)(11)(12)(31)(35)
(11)(16)(26)(62).
Замінимо кожну пару чисел символом, розташованим в таблиці 1 на перетині -го рядку і -го стовпця. Отримаємо фразу:
МЫ_УСЕРДНО_РАБОТАЕМ!
1.2. Шифр Цезаря (І вік до н.е.). Нехай повідомлення, які передаються, представлені в -літерному алфавіті . Побудуємо матрицю , у якої перший рядок − це символи алфавіту , а другий рядок − це алфавіт , зсунутий циклічно на позицій ліворуч. Таким чином, отримаємо підстановку елементів множини . Позначимо через − символ повідомлення, а через − символ шифротексту. Шифрування полягає в заміні символу його образом у підстановці: . Ключ шифру − кількість позицій зсуву . Для розшифровки необхідно побудувати підстановку , і потім замінити символ шифротексту його прообразом: .
Приклад 1.2. Таблиця 1.2 – це підстановка з зсувом на 3 позиції для російського алфавіту, розглянутого в прикладі 1.
Таблиця 1.2
А | Б | В | Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | _ | , | ; | : | . | ! | ? | “ | ” | - |
Г | Д | Е | Ж | З | И | Й | К | Л | М | Н | О | П | Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я | _ | , | ; | : | . | ! | ? | “ | ” | - | А | Б | В |
Зашифруємо за допомогою таблиці 1.2 фразу
МАТЕМАТИКА_–_ЭТО_“ГИМНАСТИКА”_УМА!
Отримаємо шифротекст:
ПГХИПГХЛНГ:В:_ХС:АЖЛПРГФХЛНГБ:ЦПГ”
1.3. Шифр на основі таблиці Тритемія (1518 р.). Нехай повідомлення, які передаються, представлені в -літерному алфавіті . Таблиця Тритемія – це квадратна таблиця розміру , рядки якої занумеровані числами , а стовпці – елементами алфавіту , причому -й рядок таблиці – це алфавіт , зсунутий циклічно на позицій ліворуч. Ясно, що кожна матриця порядку , у якої 1-й рядок – це номера стовпців таблиці , а 2-й рядок – це -й рядок таблиці , визначає деяку перестановку елементів множини , причому, якщо , то перестановки – відмінні.
Шифрування полягає в заміні -го символу повідомлення його образом при перестановці
,
тобто при шифруванні 1-го символу використовується 1-й рядок таблиці , при шифруванні 2-го символу – 2-й рядок таблиці і т.д.
Розшифровка полягає в заміні -го символу шифротексту його прообразом при перестановці , тобто застосовується перестановка . Для цього в таблиці здійснюється пошук -го символу шифротексту в -у рядку, якщо число не кратне числу і в -у рядку, якщо число кратне числу . Далі цей символ замінюється номером стовпця таблиці , в якому він розташований.
Приклад 1.3. Таблиця 1.3 – це таблиця Тритемія для російського алфавіту, розглянутого в прикладі 1.1.
Зашифруємо за допомогою цієї таблиці фразу
МАТЕМАТИКА_–_ЭТО_“ГИМНАСТИКА”_УМА!
Таблиця 1.3
Отримаємо:
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, ,
, .
Таким чином, шифротекст має вид:
НВХЙСЖЩРУКГВГБ;ЮЗПЧЬ;.Ч,Б:?ЬЩФИВ;Ь
Зазначимо, що шифр на основі таблиці Тритемія – це нетривіальне узагальнення шифру Цезаря, в якому для шифрування повідомлень, представлених в -літерному алфавіті , застосовується лише -й рядок таблиці . Ясно також, що таблицю для -літерного алфавіту можна розширити до таблиці розміру . Для цього достатньо взяти в якості рядків таблиці всі можливі перестановок -елементної множини .
1.4. Шифри Віженера (XVI вік). Засновані на таблиці Віженера . В них вперше реалізовано поняття сеансовий ключ, що істотно залежить від повідомлення, яке передається. Таблиця відрізняється від таблиці Тритемія лише тим, що в таблиці рядки (як і стовпці) занумеровані елементами алфавіту . Нехай повідомлення – це послідовність , де . Відправник і адресат заздалегідь домовлялися про пароль, тобто коротку послідовність символів алфавіту . Відомі такі шифри Віженера.
1-й шифр Віженера. При шифруванні формуються послідовності – вихідний текст і – сеансовий ключ. Представимо ці послідовності в виді
,
,
де
,
.
Шифрування вихідного тексту здійснюється у відповідності до алгоритму 1.
Алгоритм 1.
Крок 1. .
Крок 2. , де – символ алфавіту , розташований в таблиці на перетині -го рядка и -го стовпця, .
Крок 3. Якщо , то перехід до кроку 2, інакше – кінець.
Розшифровка шифротексту здійснюється згідно з алгоритмом 2.
Алгоритм 2.
Крок 1. .
Крок 2. В – у стовпці таблиці здійснюється пошук елементу .
Крок 3. , де – номер рядка таблиці , на перетині якого з -м стовпцем розташований елемент , .
Крок 4. Якщо , то перехід до кроку 2, інакше – перехід до кроку 5.
Крок 5. и кінець.
Фінальний відрізок шифротексту представляє собою «підпис» відправником зашифрованої інформації, якщо під «підписом» розуміти зашифрований пароль. Таким чином, в шифрах Віженера вперше закладений механізм автентифікації (тобто розпізнавання автентичності) як користувача, так і інформації. Така автентифікація здійснюється у відповідності до алгоритму 3.
Алгоритм 3.
Крок 1. .
Крок 2. В – у стовпці таблиці здійснюється пошук елементу .
Крок 3. , де – номер рядку таблиці , на перетині якої з -м стовпцем розташований елемент , .
Крок 4. Якщо , то перехід до кроку 2, інакше – перехід до кроку 5.
Крок 5. Якщо , то інформацію прийняти і кінець, інакше, інформацію відкинути і кінець.
Алгоритми 2 і 3 можна об’єднати в один алгоритм, тобто при використанні 1-го шифру Віженера автентифікація здійснюється безпосередньо в процесі розшифрування інформації.
2-й шифр Віженера (або шифр з автоключем). Відрізняється від 1-го шифру Віженера тим, що сеансовий ключ має вид , де – шифротекст, тобто сеансовий ключ формується в процесі шифрування вихідного тексту . Шифрування здійснюється у відповідності до алгоритму 1. Оскільки адресат має пароль (тобто послідовність ), то він має і сеансовий ключ . Розшифровка здійснюється у відповідності до алгоритму 2. Для 2-го шифру Віженера автентифікація здійснюється за допомогою алгоритму 3.
3-й шифр Віженера (або шифр з періодичним ключем). Відрізняється від 1-го шифру Віженера тим, що сеансовий ключ формується з періодичної (потенційно нескінченої) послідовності , згідно з правилом:
().
Шифрування здійснюється у відповідності до алгоритму 1. Адресат формує сеансовий ключ з паролю . Розшифровка здійснюється згідно з алгоритмом 2. Для 3-го шифру Віженера автентифікація також здійснюється за алгоритмом 3.
Приклад 1.4. Таблиця 1.4 – це таблиця Віженера для російського алфавіту з лабораторної роботи 1. Зашифруємо з допомогою 1-го шифру Віженера фразу
МАТЕМАТИКА_–_ЭТО_“ГИМНАСТИКА”_УМА!
В якості пароля оберемо слово
ШИФР.
Таким чином, сеансовий ключ має наступний вид
ШИФРМАТЕМАТИКА_–_ЭТО_“ГИМНАСТИКА”_УМА!
Для зручності шифрування, запишемо послідовності і одна під іншою:
Таблиця 1.4
Скористаємось таблицею 1.4. Отримаємо:
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , , ,
, , , ,
, , , , ,
, , .
Таким чином, шифротекст має вид:
?Й“ЦЩБ?ОЧБЙЗБЮЙНЧЫЦЧГЛДЪЯЦЛТП,ЮН“ЫВХХЛ
□
2. Завдання на проведення лабораторної роботи
2.1. Зашифрувати довільну фразу довжиною не менше 16 символів за допомогою шифрів
а) Полібія;
б) Цезаря (значення ключа − номер варіанту);
в) Тритемія.
2.2. Розшифрувати фразу за допомогою таблиці Тритемія. Символи L і R позначають, відповідно, “ та ”. Номер фрази для розшифровки − це номер варіанту за .
Таблиця 1.5
№ | фраза |
ДТЛЕУЛЛЦЛАУЭЬЬЪВШ_ХФ_МЩОАЬ,!ИФД-ИФЕ!РЬЦЕУР | |
РКФ_СЖLЩЧОРЬУОЪШЗЦЫ._!.ШБ:И;Д-L?ЧЗЗЛЖRЛЕЮ. | |
СВФОХ;ТР,ЫУЭЯУЫ.ЗЕ?:Ш!НЖ;ДБЬУВМ?ДФЩЙЛКППН. | |
ТНСКНСП-ФТЬЮ-ДСЖ:!;.Я,Н_П,БАД_!И,ГБЪЖRКМНЙ | |
СЗЫЙЧРЗЗ,ЬДСЖДЩЫЕ,ТК_ЫЪ:LРЭАДЕЗ_Д:?ЕГ--И,СГ |
2.3. Зашифрувати довільну фразу довжиною не менше 16 символів за допомогою трьох шифрів Віженера.
2.4. Розшифрувати фразу за допомогою таблиці Віженера. Символи L і R позначають, відповідно, “ та ”.
Таблиця 1.6
№ | ключ | фраза | № шифру |
ПУСТОТА | RЩЭЕГЙГ-ЛПБХЦЕЭ?Й;ИХ.Ь_НХЪИ,Ц!-Е,_ЙЭ!ВИЧПЬ.ПЫЩИФАЮП | ||
RЩЭЕГЙГОЯ;Ф!,ЖЪХLLМЯLБЦЕАХИЖЗРRГМЦЗЯСИЙГШ.Б_ШЭХБИФ; | |||
RЩЭЕГЙГ;ЩХ;ЕИГЫЙЧ?_И;_ФЩХЧ?ЙХНИХЕ_БLФЭШЕФЬЫ:;R_?П:Ф | |||
МИНЕРАЛ | ЬЬЯШЯУМЖ!ТЪСЫГ;ЬБЩЯ,Л;ЭУТ-;,ГТ?ЖЬЙRЦ!Й..ЧRО!ВВЯЧДКСМЪ | ||
ЬЬЯШЯУМУГ__:ЬПФП;ИХУШЛ;КЙ;ФПШ:ЭПИЭХ:ЬФГЫВМLЭ_Т-ЛЪГД;Ю | |||
ЬЬЯШЯУМГЩОНУЙОНФОЧГ;ФГЪ_ЖЬБВЩЙ_Л;ЙСЦВД..ПВСЙЩФЭЙЩТЩОС | |||
РАСТЕНИЕ | ЭЙЯШЦОФRЭЙХИЩГМВ:_-Л,ФУМЭЦLС.ГЯ!В,LRХAГ-;ФЕДУ_ЙКОФФ | ||
ЭЙЯШЦОФRДКLЫЯСХИЦАЮ!Ц.-Й:;?ГЩХЛГЩАЬ;В!ВИЪМБИГМХО-ХЗ | |||
ЭЙЯШЦОФR;БЩХОРЙС:_ИЫRЯЫЖЬ;ШЫИ,Х,ЗЙИЖШЬ,КСМ_.ЖЯЫЛЮЙЧ | |||
ЖИВОТНОЕ | ЧЙФ;ШЫЧЛЗСТЪИЦЛЖВЯТ!.С.ТЮПЭБЧН.ЪЦБЮБИ!RВLЗЫЯ_ИЗИ, | ||
ЧЙФ;ШЫЧЛОЪХ,Ы!ЪМЪ,LЬТГСЮГAЙБЙИФLЗБЬЮЫ-О;БИ?;АСЬЖЗ | |||
ЧЙФ;ШЫЧЛLЩГЦХЦСЖТЧФБЙЦЕЧЩЙОЭЙТСОКЙХБ!ГИ,AПЛС;_ЬФМ | |||
ЧЕЛОВЕК | ЮООЭХУЩМ,УПЪРЧИ;ЬПЩЯ,Л;Э;Т-Е,И_ЪОМ;RЭБХ,НМЭС-ЬЮТД | ||
ЮООЭХУЩ!ЕЯЮЭЦ:LЖБГЕЙЩЖLУЦЖХ-LП:ЮФЦСГЫХВЖ.ЛЫ;;СЙ,Ц | |||
ЮООЭХУЩЭRЬПКИУЪЖЧЭФ:Б_RЭ;ГСЩОЧЪЦРЖЭЭС-ЬЮТДЕЛЧЭЕЛХ | |||
ДУХОВНЫЙ | ЬЩ;ЭЕУRА-ЖУСЛИЛВ:_-Л,СВЬЧБЧХКУТЯЧЮУЖК:.ЭИЧЭЕЕ:R!ЕЗОLШ | ||
ЬЩ;ЭЕУRАГЪ,_ОЦLМХР_,Е?,ЭЫЬЧМЩАРВГЕКЖРЮ.С!КЛТЯ.НLЙНЩД, | |||
ЬЩ;ЭЕУRАХФЭСЛРЬХЦЙМЧ.ЬЭЪКЯМЫЦТВШЦRИИ.БДШ?ШЦЪСТЕЯУЦ.АМ | |||
АНГЕЛ | Е;ЩФОТЕЯЕЪУLШ.ЭРВ_ХЖЦЧ;;МЩЕ;;-ВЕ.ХБ_ЕЦРАОИЕЫЯТЕ | ||
Е;ЩФОУУ.ЛRЩЯИОВ!ЦЪ;ГЖНАЖПФЬТЩВЙУ!ЬСЛ:,АГШЬАОЗЮ- | |||
Е;ЩФОО,НR.ЖЩТИСЛДХШММДУФЧОЬХШ-ЯДХИЪВЬИУLНЗДУПЖЩ |
Лабораторна робота 2
Шифри Кардано і Ардженті, з варіацією