МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
МЕТОДИ ШИФРУВАННЯ ТА ДЕШИФРУВАННЯ
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи з курсу
“Проблемно-орієнтовані методи та засоби комп’ютерних
інформаційних технологій”
для студентів базового напрямку
6.0804 “Комп’ютерні науки”
Затверджено
на засіданні кафедри
“Системи автоматизації проектування”
Протокол № 9 від 07.02.2002 р.
Львів – 2002
Методи шифрування та дешифрування: Методичні вказівки до лабораторної роботи з курсу “Методи та засоби комп’ютерних інформаційних технологій” для студентів базового напрямку 6.0804 “Комп’ютерні науки”.
/ Укл.: В.В. Мазур. – Львів: Видавництво Національного університету “Львівська політехніка”, 2002. – 8 с.
Укладач Мазур В.В., канд, техн, наук, доц.
Відповідальний за випуск Ткаченко С.П., канд, техн. наук, доц.
Рецензенти Каркульовський В.І., канд. техн.наук.,доц.
Кравець П.О., канд.техн.наук, доц.
МЕТА РОБОТИ
Мета роботи - вивчення простих методів шифрування та дешифрування інформації та їх особливостей.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
2.1. Криптографічні системи.
Перетворення секретної інформації – це кодування даних, яке використовується для маскування інформації. Ці перетворення змінюють дані, представлені в явній формі, так, що вони стають нерозпізнаваними (з певною мірою надійності) неавторизованими людьми. Шифрування, тобто перетворення секретної інформації, є особливо ефективним засобом проти несанкціонованого доступу до повідомлень, які передаються по лініях зв'язку і неавторизованих доступів до даних, що зберігаються у віддалених файлах. Навіть просте перетворення секретної інформації є ефективним засобом, що дає можливість приховати її значення від більшості користувачів.
Коди і шифри використовувалися протягом багатьох віків. Спартанці в V ст. до н. е. і правляча верхівка в Венеції (Рада десяти) в XVI в, користувалися методами шифрування задовго до епохи ЕОМ.
Якщо інші методи управління доступом не зможуть запобігти попаданню даних в руки неавторизованих людей, то ці дані все одно будуть для них незрозумілі, якщо вони були зашифровані. Крім того, вартість простих, але досить ефективних перетворень секретної інформації, может бути дуже невеликою.
У загальній формі в криптографічній системі початкове повідомлення М і ключ К є входами в деякий перетворюючий пристрій (який може бути реалізоване або апаратно, або програмно). Якщо до лінії зв'язку підключиться зловмисник, він зможе викрасти зашифроване повідомлення (або шифровку) Е. Процес відновлення повідомлення при невідомому ключі називаеться дещифруваненям.
Початкове повідомлення може бути замасковане за рахунок процедури перетворення. На іншому кінці незахищеної (по допущенню) лінії зв'язку знаходиться апаратний або програмний засіб, який розшифровує повідомлення для отримання початкового тексту.
Шифрувальні пристрої можуть встановлюватися між кінцевими пристроями і лінією зв'язку або можуть бути вбудовані виробниками в периферійні пристрої різними способами. Поступаючі сигнали управління зовнішніми пристроями, стани і ідентифікаційна інформація між компонентами можуть передаватися в незашифрованому вигляді, при цьому ефективність захисту не зменшиться.
Останнім часом широко використовується принцип несекретності проектування, коли всі сторони проектування методу шифрування можуть бути загальнодоступними, за винятком ключів. На практиці доцільно застосовувати шифр, суворо відповідний необхідним цілям. Якщо простий дешевий шифр буде в достатній мірі збільшувати “трудомісткість”, розкриття зашифрованого повідомлення, то цього достатньо. У більшості випадків актуальність зашифрованого повідомлення з часом падає, особливо у військовій сфері. Тому часто достатньо щоб повідомлення не було дешифроване лише протягом певного часу. Але потрібно мати на увазі, що деякі схеми шифрування, які на перший погляд здаються стійкими, насправді легко розкриваються, особливо при використанні ЕОМ. На практиці завжди потрібно прагнути до досягнення компромісу між вартістю шифрування і необхідним рівнем безпеки.
Щоб зрозуміти зміст зашифрованого повідомлення, неавторизовані особи повинні знати алгоритм шифрування (який їм іноді вдається дізнатися) і ключ (який не повинен бути їм доступний). Ключі не повинні зберігатися в системі довше, ніж це необхідно. У ідеальному випадку їм потрібно знаходитися там тільки на час дійсного використання.
2.2. Шифрування підстановкою.
2.2.1. Прямі підстановки.
У прямих підстановках кожний знак початкового тексту замінюється одним або декількома знаками. Одним з важливих підкласів прямих підстановок є моноалфавітні підстановки, в яких встановлюється взаємооднозначна відповідність між кожним знаком аі алфавіту повідомлень А і відповідним знаком hj зашифрованого тексту.
Дуже простим прикладом перетворення секретної інформації є шифр Цезаря, який, за переказами, був використаний ще Юлієм Цезарем . Рядок знаків YGBPCGFBOQTGBUPQYBHQTBDCVVGTBUMKKPI є зашифрованою формою наступного повідомлення: WE NEED VORE SNOW FOR BETTER SKIING (Для кращого катання на лижах треба більше снігу).
Шифр Цезаря фактично являє собою окремий випадок методу моноалфавітної підстановки букв одного алфавіту. Кожний знак Р з початкового алфавіту замінюється відповідним числом Р(Р), [р(А)=1, р(В)==2,. ... р(Z)=26, пропуск = 0]. Потім формується еквівалентне зашифроване число у з рівняння
y(^)=p(Р) +2 (mod 27) (1)
Таким чином, у(Т)=р(Т)+2=20+2=22, у(1)=р(1)+2=9+2=11 і т. д.
Значення у потім заміняються відповідними їм буквами для отримання зашифрованого тексту.
Проілюструємо шифрування методом підстановки шифром який не є шифром Цезаря.
Початкове повідомлення: WE NEED MORE SNOW FOR BETTER SKIING.
Ключ:
вхід: bABCDEFGHIJKLMNOPQRTUVWXYZ
вихід: VZHLANQRCWDXFOUSPBTIELGMbKY
Зашифрований текст:
МNVUNNAVOSTNVIUSMVQSTVHNEENTVIXWWUR
Зашифроване повідомлення отримано таким чином. Беремо знак з початкового повідомлення в рядку ВХІД ключа і замінюємо його відповідним знаком з рядка ВИХІД.
Цей метод підстановки, хоч до деякої міри і є ефективним для заплутування при випадковому прочитанні, не зможе надовго зупинити досвідченого промислового шпигуна, оскільки він легко піддається здійснюваному за допомогою ЕОМ частотному аналізу зустрічності букв і пар букв.
Всі методи моноалфавітної підстановки можна представити як числові перетворення букв початкового тексту, що розглядаються як числа. Кожна буква в тексті множиться на деяке число (назване десятковим коефіцієнтом) і додається до деякого іншого числа (коефіцієнту зсуву)
с=(aP+s) mod K (2)
де: а - десятковий коефіцієнт; s - коефіцієнт зсуву. Результуюче число зменшується за правилом віднімання модуля K, де K - розмір алфавіту, і зашифрований текст формується із відповідних йому алфавітних еквівалентів. Неважко пересвідчитися, що рівняння (1) для шифру Цезаря є фактично рівнянням (2) з а =1, s=2, і K=27.
Існують машини, що мають команду ТРАНСЛЮВАТИ, яка забезпечує дуже легкі для використання шифри підстановки. Наприклад, на ІВМ 370 користувач встановлює таблицю з 256 байтів. Двійкове значення кожного байта, яке користувач хоче зашифрувати, використовується як індекс в таблиці для пошуку відповідного перетвореного байта. Це перетворення здійснюється за одну машинну команду.
2.2.2. Багатоалфавітні підстановки.
Проста багатоалфавітна підстановка послідовно і циклічно міняє алфавіти, що використовуються. При u-алфавітній підстановці знак т1, з початкового повідомлення замінюється знаком з алфавіту В1, т2 відповідним з алфавіту В2. .., ті - знаком з алфавіту Ві, mі+1 знову з алфавіту В1 і т. д.
ВХІДНИЙ ЗНАК: m1,m2,m3,m4,m5,m6,m7
АЛФАВІТ ПІДСТАНОВКИ: B1,B2,B3,B4,B5,B1,B2,.
Ефект використання багатоалфавітної підстановки полягає в тому, що забезпечується маскування природної частотної статистики початкової мови L, оскільки конкретний знак з алфавіту А може бути перетворений в декілька різних знаків шифрувального алфавіту В. Рівень захисту, що забезпечується теоретично, пропорційний довжині періоду в послідовності алфавітів, що використовуються.
Як приклад приведемо використання ключа восьмибуквенного слова SECURSTY, що повторюється для шифрування тексту. Запишемо під кожною початковою буквою відповідну букву ключа. Потім будемо розглядати алфавіт, як кільце, що складається з 27 символів. Привласнюючи відповідно значення 0-пропуск, 1-А, 2=В,...,26=Z, будемо мати восьмиалфавітиий шифр підстановки. Ми можемо розглядати перший алфавіт як такий що зсуває кожний знак, вміщений в кільце, на 19 (S), тобто W стає О, А стає Т, В стає U і т. д.; другий алфавіт, як зсуваючий кожний знак на 5 (Е), тобто Е стає J, А стає F, В стає G і т. д. Використовуючи додавання по модулю 27 отримаємо такий зашифрований текст:
WE NEED MORE SNOW FOR BETTER SKIING
SECURITYSECURITYSECURITYSECURITYSE
OJCHWNXYETUZRAGMOEIVCLYHLRADGASJ
Така проста багатоалфавітна підстановка (шифр Віжінера) з періодом и вимагає, щоб зловмисник мав в своєму розпорядженні принаймні 20и знаків, перехоплених в шифровці, до того як вона може бути розкрита.
G-контурна багатоалфавітна підстановка являє собою метод шифрування, що використовує g наборів алфавітів, що застосовуються циклічно з періодами u1,u2,…ug. Цей шифр розкрити значно складніше, ніж просту багатоалфавітну підстановку.
2.2.3. Монофонічні шифри
Монофонічний шифр являє собою багатоалфавітний шифр підстановки, що зрівнює частоту появи зашифрованих знаків і таким чином захищає шифрований текст від розкриття за допомогою частотного аналізу. Для знаків, що зустрічаються часто, потрібна відносно велика кількість зашифрованих еквівалентів. У той же час для знаків, що використовуються нечасто, може виявитися достатнім один або два зашифрованих знаки.
2.3. Загальні принципи для методів перетворення підстановкою.
Всі описані методи шифрування можна розглядати як задачі сучасної алгебри. Між К знаками алфавіту А і набором позитивних цілих чисел 0, 1,. ..,К-1 встановлюється довільна відповідність. При додаванні і відніманні по модулю К ці додатні цілі числа формують алгебраїчне кільце, що використовується для шифрування, а також однозначні зворотні перетворення. Тому якщо ми вибираємо ціле w в діапазоні від 0 до К-1, то цим самим автоматично проводимо вибір конкретного перетворення підстановкою ei=mi+w(mod k-1) і зворотнього перетворення mi=ei+(mod K-1).
Якщо w фіксоване, то ми маємо одноалфавітну підстановку. Якщо w вибирається з послідовності w1,w2,…wn, то ми маємо багатоалфавітну підстановку з періодом n.
Якщо в багатоалфавітній підстановці:
а) число знаків в ключі перевищує загальне число початкових знаків, що шифруються;
б) ключ використовується тільки один раз;
в) початковий текст не може бути викрадений зловмисником,
то зашифрований текст є теоретично таким, що нерозкривається і називається системою Вермена. Тому ми завжди прагнемо до довгих наборів знаків ключа. Як буде видно далі, ми можемо на практиці отримувати нескінченні ключові послідовності, які можуть бути використані в багатьох додатках.
2.4. Перестановки.
Знаки початкового тексту можна переставляти відповідно до деякого правила. Наприклад, знаки тексту в явній формі WE/NEED/MORE/SNOW/FOR/BETTER/SKIING можуть бути переставлені відповідно до ключа: “переставити угрупування з чотирьох букв, що знаходяться в порядку 1 2 3 4 в порядок 3 1 4 2”. Первинний текст спочатку розбивається на групи WE/N_EED/_ MORE_ /SNO_W/FO_R/BE_TTER_/SKI_ING+, а потім перетворюється в зашифрований текст: /WNE_DE/E_RMEO_N/OS_FWO/_BRE/_ETRT_K/IS_GIXN. Коса межа відповідає пропуску, а + пустому знаку, що використовується для доповнення початкового тексту. Часто з кожним початковим алфавітом використовується декілька пустих знаків (нулів). Однак, якщо зловмисник відгадає довжину угрупування, то він легко може потім зробити різні можливі перестановки, особливо використовуючи ЕОМ.
2.5. Частотний аналіз.
Більшість штучних мов (і всі природні мови) мають характерний частотний розподіл букв і інших знаків. Наприклад, буква Е найбільш часто зустрічається в англійській мові, а Z найбільш рідка. Однак це зовсім не говорить про те, що не будуть попадатися англійські (вихідні), повідомлення, в яких інша буква буде зустрічатися частіше, ніж Е, і рідше, ніж Z. Але для дуже великого числа англійських повідомлень можуть бути встановлені певні характерні частоти.
Більшість повідомлень, зашифрованих методом перестановки або одноалфавітної підстановки, зберігають характерний частотний розподіл і, таким чином, дають крипто-аналітику шлях до розкриття шифру. Криптоаналітики часто використовують індекс відповідності (ІС) для визначення того, чи знаходяться вони на правильному шляху.
По визначенню ІС являє собою оцінку суми квадратів імовірностей кожної букви. Це використовується особливо у тих випадках, коли об'єм зашифрованого тексту відносно великий. Шифровки, які дають значення ІС більші, ніж 0,066 (для англійської мови), самі повідомляють про те, що ймовірно використовувалася одноалфавітна підстановка, даючи, таким чином криптоаналітикам інструмент для того, щоб приступити до розгадки шифру. Якщо ІС знаходиться між 0,052 і 0,066, то, ймовірно, був використаний двохалфавітний шифр підстановки. Криптоаналітик просто бере символ, що найчастіше зустрічається, і передбачає, що це пропуск, потім бере наступний найбільш частий символ і передбачає, що це Е, і т.д., щоб прийти до можливого рішення. Цей процес можна автоматизувати застосувавши ЕОМ, однак аналіз можливих варіантів повідомлень повинна робити людина.
Справа дуже ускладнюється, коли криптоаналітик стикається з рівномірним розподілом символів (IС=1/26=0,038 для англійської мови), який виходить при використанні багатоалфавітної підстановки.
КОНТРОЛЬНІ ЗАПИТАННЯ
В чому різниця між методами шифрування підстановкою та перестановкою ?
В чому суть шифру Віжінера ?
Яка різниця між прямою та багатоалфавітною підстановкою ?
В чому суть шифрування перестановкою ?
Як здійснюється дешифрування шифртексту з використанням частотного аналізу ?
4. ЛАБОРАТОРНЕ ЗАВДАННЯ
1. Ознайомтесь з методами шифрування.
2. Для заданих варіантів вручну зашифруйте текст з використанням методів прямої і багатоалфавітної підстановки, а також методом перестановки.
3. За допомогою ЕОМ проведіть частотний аналіз і дешифруйте текст зашифрований методом прямої підстановки при невідомому ключу.
Дайте оцінку методам шифрування.
ОФОРМЛЕННЯ ЗВІТУ
1. Короткий опис методів шифрування.
2. Результати ручного зашифрування текстів.
3. Результати частотного аналізу.
3. Дешифрований текст.
4. Висновки по роботі.
6. ЛІТЕРАТУРА
Цымбал В.П. Теория информации и кодирование.: - К.: Вища школа, 1992.
.
НАВЧАЛЬНЕ ВИДАННЯ
МЕТОДТ ШИФРУВАННЯ ТА ДЕШИФРУВАННЯ
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи
з курсу “Методи та засоби комп’ютерних
інформаційних технологій”
для студентів базового напрямку
6.0804 “Комп’ютерні науки”
Укладач Мазур Віталій Володимирович