Предмет:
Тип роботи:
Лабораторна робота
К-сть сторінок:
6
Мова:
Українська
ЛАБОРАТОРНА РОБОТА №7
Тема: Криптограми. Код Цезаря. Перестановочний код.
ТЕОРЕТИЧНІ ПОЛОЖЕННЯ
Прийомiв тайнопису – величезна кiлькiсть. Найбiльш простий тип криптограм – це так званi пiдстановочнi криптограми. Складаючи їх, кожнiй буквi алфавiту ставиться у вiдповiднiсть певний символ (хоча можуть бути i букви) i при кодуваннi всяку букву тексту замiнюють на вiдповiдний їй символ. Розшифрування таких криптограм досить просте. Воно базується на тому, що рiзнi букви природної мови зустрiчаються в осмислених текстах з рiзною частотою. У значнiй мiрi це вiдноситься до буквосполучень або декiлькох букв: однi iз яких зустрiчаються часто, а деякi взагалi не зустрiчаються.
Аналiзуючи частоту появи тих або iнших знакiв i їх комбiнацiй можна з великою впевненнiстю вiдновити букви зашифрованого тексту. Навiть якщо в деяких частинах тексту виникає неодназначнiсть, вона легко усувається по змiсту. Цей метод (вiн називається частотним аналiзом) базується на ранiше вiдомих частотах зашифрованих знакiв.
Ненадiйнiсть пiдстановочних криптограм (порiвняно легко розшифровуються) була помiчена давно i тому пропонувались рiзнi iншi методи шифрування. Серед них важливе мiсце займають перестановочнi криптограми. Розглянемо один тип перестановочної криптограми, яка складається за допомогою так званого ключового слова. Букви тексту, який повинен бути переданий у зашифрованому виглядi спочатку записується в клiтини прямокутної таблиці по її рядках, при цьому кiлькiсть стовпцiв такої таблицi дорiвнює кiлькостi символiв у ключовому словi. Букви ключового слова пишуться над стовпцями i вказують порядок (нумерацiю) цих стовпцiв. Порядок визначається номером букви у природному алфавiтi.
#Наприклад#
Повiдомлення – «Журилась пiд осiнь малесенька жабка».
Ключове слово – «Актор».
Таблиця 1
Виписуючи букви iз стовпцiв таблицi (спочатку iз першого, потiм iз другого i т. д.) отримаємо таку шифрограму:
жадьсааусомежипiльблiнеккрьсана.
Ключове слово вiдоме, звичайно, i адресату, який без проблем розшифрує це повiдомлення.
Є ряд шифрiв, в яких сумiщено прийоми пiдстановочного та перестановочного кодування. Шифр можна ще бiльш ускладнити, якщо додатково до цього кожну букву замiнити не одним, а двома або декiлькома символами (буквами або числами).
#Наприклад: #
Розмiстимо букви алфавiту кирилиці у квадратнiй таблицi 6х6 довiльним чином, як в таблицi 2.
Т а б л и ц я 2
Кожну букву шифруємо парою цифр -перша цифра це номер рядка в якому розташована дана буква друга-номер стовпця. Наприклад, букви б видповидає позначення 21 а слову тир -позначення 110304
Ще бiльшi труднощi для криптоаналiзу становить шифр, пов'язаний з iменем Тритемiуса. Цей шифр є розвитком коду Цезаря, суть якого полягає в тому, що весь алфавiт циклiчно зсувається на певне число букв вправо або влiво. Текст шифрується в новому алфавiтi.
#Наприклад: #
Повiдомлення: Приклад
Вихiдний алфавiт: абвгдеєжзиiїйклмнопрстуфхцчшщьюя
Порядок букв у повiдомленнi: 6 7 3 4 5 1 2 ¦ ¦ ¦ ¦¦ ¦¦
Порядок букв у зашифрованому¦ ¦ ¦ ¦¦ ¦¦
повiдомленнi: 6 7 3 4 5 1 2
Зсунутий алфавiт: єжзиiїйклмнопрстуфхцчшщьюяабвгде
Зсув влiво на 6 букв
Зашифроване повiдомлення: хцмрсєi
Розглянемо суть шифру Тритемiуса. Букви вихiдного алфавiту нумеруються по порядку числами 1, 2,..., 32.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
а б в г д е є ж з и і ї й к л м н о п р с т у ф х ц ч ш щ ь ю я
При шифруваннi ключове слово (або номери його букв) пiдписуються пiд повiдомленням з повтореннями, як показано нижче:
Порядковий номер: 19 18 14 10 8 1 20 10 3 19 18 14 10 19 11 14 - (m)
Повiдомлення: П о к и ж а р и в п о к и п i к
«Рак»-Ключове слово: Р а к р а к р а к р а к р а к р
Порядковий номер: 20 1 14 20 1 14 20 1 14 20 1 14 20 1 14 20 – (k)
Шифрування здiйснюється наступним чином: буква повiдомлення з
номером m замiнюється на букву з номером l=m+k (якщо m+k<33) або букву з номером l=m+k-33 (якщо m+k>=33). Наприклад, перша буква повiдомлення «П» буде замiнена буквою «Е», оскiльки l (П) = m (П) +k (Р) = 19+20-33 = 6, а пiд 6-им номером у вихiдному алфавiтi знаходиться буква «Е». Таким чином зашифроване повiдомлення буде:
l=m+k: 39 19 28 30 19 15 40 11 17 39 19 28 30 20 25 34
Номер букви у
вихiдному
алфавiтi: 6 19 28 30 19 15 7 11 17 6 19 28 30 20 25 1
Буква вихiд-
ного алфавiту: е п ш ь п л є i н е п ш ь р x а
Зашифроване повiдомлення: епшьплєiнепшьрха
Якщо ключове слово вiдоме, то дешифрування здiйснюється без труднощiв на основi рiвностi:
m = l-k, якщо l-k>0, або
m = l-k+33, якщо l-k<0.
Ми розглянули тiльки деякi способи складання криптограм.
Зауважимо, що комбiнуючи їх, можна отримати шифри, ще більш складнi для дешифрування.
ЗАВДАННЯ
Завдання1. Знаючи зсув (таб. 1) і повідомлення (таб. 2) закодувати його за допомогою коду Цезаря. На мові Pascal написати програму кодування і декодування.
Завдання 2. Закодувати повідомлення (таб. 3) за допомогою перестановочного кодування. Ключові слова у таблиці 4. Написати на мові Pascal програму кодування і декодування.