МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
EMBED Word.Picture.8
Ознайомлення із симетричними криптографічними шифрами
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторної роботи №2
з курсу “Основи інформаційної безпеки”
для студентів спеціальності 8.091401 «Системи управління і автоматики»
та спеціалізації 7.091401.98 і 8.091401.98
«Захист інформації в комп’ютеризованих системах управління»
Затверджено
на засіданні кафедри
“Захист інформації” протокол № від 2009 р.
Львів – 2009
Ознайомлення з симетричими криптографічними шифрами: Методичні вказівки до лабораторної роботи №2 з курсу “Основи інформаційної безпеки” для студентів спеціальності 8.091401 «Системи управління і автоматики» та спеціалізації «Захист інформації в комп’ютеризованих системах управління» / Укл. В.В. Хома, Л.М.Ракобовчук - Львів: НУЛП, 2009. - 21 с.
Укладачі: Хома В.В., д.т.н., професор
Ракобовчук Л.М., канд. техн. наук, доц.
Відповідальний за випуск: Дудикевич В.Б., проф., д.т.н, зав.каф. захисту інформації
Рецензент:
Максимович В.М., доктор техн. наук, проф.
Мета: Ознайомитись з алгоритмами і методами шифрування симетричними блоковими шифрами. Отримати навики роботи з шифрами DES-EBC, DES-CBC. Ознайомитись з алгоритмом AES. Навчитися проводити шифрування і дешифрування тексту, застосовуючи демонстраційний модуль пакету CrypTool. Навчитися застосовувати набуті знання в галузі інформаційної безпеки.
Симетричні шифри
Симетричні шифри - спосіб шифрування, в якому для HYPERLINK "http://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" \o "Шифрование" шифрування і де HYPERLINK "http://ru.wikipedia.org/w/index.php?title=%D0%A0%D0%B0%D1%81%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&action=edit&redlink=1" \o "Расшифрование (страница отсутствует)" шифрування застосовується один і той же криптографічний HYPERLINK "http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D1%8E%D1%87_%28%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%8F%29" \o "Ключ (криптография)" ключ. Ключ алгоритму повинен зберігатися в секреті обома сторонами. Ключ алгоритму вибирається сторонами до початку обміну повідомленнями.
В даний час симетричні шифри - це:
HYPERLINK "http://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%88%D0%B8%D1%84%D1%80" \o "Блочный шифр" блокові шифри, обробляють інформацію блоками певної довжини (наприклад 64, 128 біт), застосовуючи до блоку ключ в установленому порядку, як правило, декількома циклами перестановки і підстановки, званими HYPERLINK "http://ru.wikipedia.org/w/index.php?title=%D0%A0%D0%B0%D1%83%D0%BD%D0%B4&action=edit&redlink=1" \o "Раунд (страница отсутствует)" раундами;
HYPERLINK "http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%88%D0%B8%D1%84%D1%80" \o "Поточный шифр" потокові шифри, у яких шифрування проводиться над кожним HYPERLINK "http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82" \o "Бит" бітом або HYPERLINK "http://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D1%82" \o "Байт" байтом початкового (відкритого) тексту з накладанням HYPERLINK "http://ru.wikipedia.org/wiki/%D0%93%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" \o "Гаммирование" гами. Потоковий шифр може бути створений на основі блокового запущеного в спеціальному режимі.
Поширені алгоритми симетричного шифрування:
HYPERLINK "http://ru.wikipedia.org/wiki/Advanced_Encryption_Standard" \o "Advanced Encryption Standard" AES ( HYPERLINK "http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" \o "Английский язык" англ. Advanced Encryption Standard) - перспективний стандарт шифрування;
HYPERLINK "http://ru.wikipedia.org/wiki/%D0%93%D0%9E%D0%A1%D0%A2_28147-89" \o "ГОСТ 28147-89" ГОСТ 28147-89 — російський стандарт шифрування даних;
HYPERLINK "http://ru.wikipedia.org/wiki/DES" \o "DES" DES ( HYPERLINK "http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" \o "Английский язык" англ. Data Encryption Standard) - стандарт шифрування даних в США до AES;
HYPERLINK "http://ru.wikipedia.org/wiki/3DES" \o "3DES" 3DES (Triple-DES, потрійний DES);
HYPERLINK "http://ru.wikipedia.org/wiki/RC6" \o "RC6" RC6 (Шифр HYPERLINK "http://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D0%B2%D0%B5%D1%81%D1%82,_%D0%A0%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%B4_%D0%9B%D0%B8%D0%BD%D0%BD" \o "Ривест, Рональд Линн" Ривеста);
HYPERLINK "http://ru.wikipedia.org/wiki/Twofish" \o "Twofish" Twofish;
HYPERLINK "http://ru.wikipedia.org/wiki/IDEA" \o "IDEA" IDEA ( HYPERLINK "http://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" \o "Английский язык" англ. International Data Encryption Algorithm);
HYPERLINK "http://ru.wikipedia.org/wiki/SEED" \o "SEED" SEED - корейський стандарт шифрування даних;
HYPERLINK "http://ru.wikipedia.org/wiki/Camellia" \o "Camellia" Camellia - сертифікований для використанні в Японії шифр;
HYPERLINK "http://ru.wikipedia.org/wiki/CAST_%28%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%29" \o "CAST (криптографический алгоритм)" CAST (за ініціалами розробників Carlisle Adams і Stafford Tavares);
HYPERLINK "http://ru.wikipedia.org/wiki/XTEA" \o "XTEA" XTEA - найбільш простий в реалізації алгоритм.
1.1. DES (Data Encryption Standard – стандарт шифрування даних).
Симетричний алгоритм шифрування, в якому один ключ використовується як для шифрування, так і для дешифрування даних. DES шифрує блоки по 64 біт і 16 циклову структуру. Для шифрування використовує ключ з довжиною 56 біт. Алгоритм використовує комбінацію нелінійних (S-блоки) і лінійних (перестановки E, IP, Ip-1) перетворень. Для DES рекомендовано декілька режимів:
· режим електронної кодової книги (ECB - Electronic Code Book);
· режим зчеплення блоків (СВС - Cipher Block Chaining);
· режим зворотного зв'язку за шифротекстом (CFB - Cipher Feed Back);
· режим зворотного зв'язку за виходом (OFB - Output Feed Back).
DES є блоковим шифром. Схема шифрування алгоритму DES наведена на рис.1.1.
Рис.1.1. Схема шифрування алгоритму DES
Початковий текст - блок 64 біт. Процес шифрування полягає в початковій перестановці, 16 циклах шифрування і кінцевій перестановці. Шифрований текст - блок 64 біт. Ключі ki виходять з початкового ключа до (64 біт = 8 байт або 8 символів в Аscii таким чином: вісім бітів, що знаходять в позиціях 8, 16, 24, 32, 40, 48, 56, 64 додаються в ключ так, щоб кожен байт містив непарне число одиниць. Це використовується для виявлення помилок при обміні і зберіганні ключів. Потім роблять перестановку для розширеного ключа (окрім бітів, що додаються, 8, 16, 24, 32, 40, 48, 56, 64).
Режим електронної кодової книги ( HYPERLINK "http://ru.wikipedia.org/w/index.php?title=Electronic_Code_Book&action=edit&redlink=1" \o "Electronic Code Book (страница отсутствует)" ЕСВ - HYPERLINK "http://ru.wikipedia.org/w/index.php?title=Electronic_Code_Book&action=edit&redlink=1" \o "Electronic Code Book (страница отсутствует)" Electronic Code Book) - звичайне використання DES як блокового шифру. Шифрований текст розбивається на блоки, при цьому, кожен блок шифрується окремо, нзалежно від інших блоків (рис. 1.2).
Рис.1.2. Режим електронної кодової книги – ECB.
Режим ECB простий в реалізації, але можливе проведення криптоаналізу.
В режимі ECB спотворення при передачі одного 64-бітового блоку шифротекста Ci приводить до спотворення після дешифрування тільки відповідного відкритого блоку Mi, тому такі режими використовується для передачі по каналах зв'язку з великим числом спотворень.
Режим зчеплення блоків (СВС - Cipher Block Chaining) (рис.1.3). Кожен черговий блок Ci i EMBED Equation.3 1, перед шифруванням складається за модулем 2 з наступним блоком відкритого тексту Mi + 1. Вектор C0 - початковий вектор, він міняється щодня і зберігається в секреті.
Рис.1.3. Режим зчеплення блоків - СВС.
В режимі CBC спотворення при передачі одного блоку шифрованого тексту Сі приводить до спотворення на приймачі не більше двох блоків відкритого тексту Mi, Mi + 1. Зміна Mi приводить до зміни всієї решти блоків Mi + 1, Mi + 2…. Ця властивість використовується для вироблення коду аутентифікації повідомлення МАС.
Таблиця 1.
Відомі атаки на DES
Метод повного пошуку вимагає одну відому пару шифрованого і розшифрованого тексту, незначний об'єм пам'яті, і для його виконання потрібно 255 кроків.
HYPERLINK "http://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%84%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7" \o "Дифференциальный криптоанализ" Діференційний криптоаналіз — вимагає шифрування 247 відкритих текстів вибраних нападаючим, і для його виконання потрібно 247 кроків. Теоретично будучи точкою розриву, ця атака непрактична із-за надмірних вимог до підбору даних і складності організації атаки по вибраному відкритому тексту. DES вважають захищеними для такої атаки.
HYPERLINK "http://ru.wikipedia.org/wiki/%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7" \o "Линейный криптоанализ" Лінійний криптоаналіз дозволяє відновити ключ DES за допомогою аналізу 243 відомих відкритих текстів, при цьому потрібний 243 кроків для виконання.
Для лінійної і диференціальної атак потрібний достатньо великий об'єм пам'яті для збереження вибраних (відомих) відкритих текстів до початку атак.
Алгоритм DES широко застосовується для захисту фінансової інформації для емісії і обробки кредитних карт VISA, Europay та інші.
1.2. AES (Advanced Encryption Standard – розширений стандарт шифрування).
Алгоритм AES, також відомий як Rijndael, це - симетричний алгоритм блокового шифрування (розмір блоку 128 біт, ключ 128/192/256 біт). AES є алгоритмом ІІІ тисячоліття.
Таблиця 2.
Визначення і допоміжні процедури AES
Для AES довжина input (блоку вхідних даних) і State (стан) постійна і рівна 128 біт, а довжина шифроключа K складає 128, 192, або 256 біт. При цьому, початковий алгоритм Rijndael допускає довжину ключа і розмір блоку від 128 до 256 біт з кроком в 32 біти. Для позначення вибраних довжин input, State і Cipher Key в байтах використовується нотація Nb = 4 для input і State, Nk = 4, 6, 8 для Cipher Key відповідно для різних довжин ключів.
На початку шифрування input копіюється в масив State за правилом s[r,c]= in[r + 4c], для і. Після цього до State застосовується процедура Addroundkey() і потім State проходить через процедуру трансформації (раунд) 10, 12, або 14 разів (залежно від довжини ключа), при цьому останній раунд декілька відрізняється від попередніх. В результаті, після завершення останнього раунду трансформації, State копіюється в output за правилом out[r + 4c]= s[r,c], для і .
Приклад. 1. Зашифрувати 16 байт тексту, який представлений в 16–ковій системі кодом /32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34/ за допосогою ключа /2b7e151628aed2a6abf7158809cf4f3c/.
Текст і ключ записують у вигляді матриць
Input (State) - Текст для шифрування
32 88 31 e043 5a 31 37f6 30 98 07a8 8d a2 34
В 16-ковій системі
32 = 0011 0010 (1 байт)
Chiper Key - головний ключ
2b 28 ab 097e ae f7 cf15 d2 15 4f16 a6 88 3c
Шифрування відбувається в такій послідовності (рис. 1.4):
Рис. 1.4. Демонстрація шифрування за алгоритмом AES.
Опис алгоритму шифрування наданий на рис. 1.5.
Рис. 1.5. Процес шифрування AES, де 1, 2, 3, 4 – чотири види перетворення.
Шифрування проходить 9 раундів. 1 раунд шифрування показано на рис. 1.6.
Головний ключ шифру з першого до фінального раунду розширився до 11 ключів. Розширений ключ можна представити як масив із 32-розрядних слів (колонок), пронумерованих з 0 до 43. Перші чотири колонки заповнені наданим ключем Cipher key (рис. 1.7).
Слова в позиціях, які кратні числу 4 (w4, w8, …. w40), обчислені за допомогою:
a) застосування RotWord і SubBytes перетворення до попереднього слова wi-1.
б) додавання (XOR) цього результату до слова 4 позицій раніше wi-4, плюс раунд постійний Rcon.
в) 32-розрядні слова wі, які залишилися,, обчислюються додаванням (XOR) попереднього слова wі-1, із словом на 4 позиції раніше wі-4.
Таблиця заміни байтів.
Рис. 1.6. Перший раунд шифрування.
а)
Rcon
б)
Rcon
в)
Rcon
Rcon
Rcon
Рис. 1.7. Розвиток головного ключа в процесі шифрування.
2. Послідовність виконання роботи.
2.1. Згенерувати криптографічний ключ для алгоритму DES шляхом подання свого прізвища в ASCII-коді записаного у 16-ковій системі числення. В п. 2.1.1 - 2.1.3 наведено можливі варіанти одержання ASCII-кодів кириличних букв засобами Microsoft Office.
2.1.1. Ввійдіть в меню ПУСК → Програми → Стандартні → Службові → Таблиця символів натисніть опцію Додаткові параметри перегляду виберіть Windows кирилиця, знайдіть у таблиці першу букву свого прізвища, наприклад, А та перепишіть з нижньої стрічки вікна зліва ASCII-код великої букви А у 16-ковому коді 0×С0 (рис. 2.1).
Рис. 2.1. ASCII-код літери А кирилічного алфавіту в таблиці символів
2.1.2. Відкрийте документ Word меню Вставка → Символ виберіть у правому нижньому вікні ASCII (шістн.) знайдіть у таблиці першу букву свого прізвища, наприиклад, А та перепишіть із вікна Код знаку ASCII-код великої букви А у 16-ковому коді 0×С0 (рис. 2.2).
Рис. 2.2. Код літери А кириличного алфавіту в таблиці символів текстового редактора Word
Приклад 2. Записати прізвище Петренко в 16-ковій інтерпретації коду ASCII.
Таким чином, код CF-E5-F2-F0-E5-ED-EA-EE можна використати як криптографічний ключ алгоритму DES.
Якщо прізвище студента містить менше 8 букв, доповнити його першими буквами свого імені.
2.1.3. Відкрийте програму CrypTool і запишіть заданий викладачем текстовий файл в 16-ковій системі числення, як показано на рис. 2.3.
Рис. 2.3. Вікно 16–кового входу і виходу.
В першій колонці знаходиться 16–кові числа з позицією знаків, які представлені в двох інших колонках.
В другій колонці дані представлені в 16-ковій формі (один знак описується двома знаками алфавіту (0, 1..., 9, А, B..., F). Якщо виділити певний кодовий набір, то в третій колонці можна побачити букву або знак відповідно з їх кодом ASCII. Знаки, які не можливо представити репрезентуються через крапку.
2.2. Зашифрувати текст наданий викладачем за допомогою алгоритму DES в режимі електронної кодової книги, використовуючи отриманий в п.2.1 ключ. Відкрити в діалоговому вікні Шифрування опцію Симетричний → DES з ECB (рис.2.4.).
Рис. 2.4. Початок роботи із симетричними шифрувальними алгоритмами
Ввести ключ згідно п. 2.1 (рис. 2.5).
Рис. 2.5. Ввід ключа для шифру DES з ECB.
2.3. Провести шифрування застосувавши режим зчеплення блоків (шифр DES з CBС). Ввести ключ згідно п. 3.3 (рис.2.6).
Рис. 2.6. Ввід ключа для шифру DES з CBС.
2.4. Зберегти свої криптографічні ключі.
У CrypTool є опція зберігання ключів, як внутрішня, так і для довільно використаного методу шифрування.
Якщо активізувати зашифрований текст і клікнути на іконку "показати ключ", то в діалоговому вікні з'являється ключ, який можна зберігти натиснувши на клавішу „копіюй ключ" (рис. 2.8).
Рис. 2.8. Вікно збереження ключа.
Якщо необхідно розшифрувати або виконати зашифрований криптоаналіз документа, клікніть іконку "вклеїти ключ". Ключ можна отримати назад із сховища ключів в тому випадку, якщо раніше він був туди захований.
2.4. Визначити частотний розподіл знаків явного і зашифрованих текстів за допомогою гістограм.
Дані гістограми можуть також бути представлені кривою при відключенні в меню Вигляд опцію Кнопка діаграм (Bar Chart) (рис. 2.9).
Рис. 2.9. Створення гістограми тексту у вигляді кривої.
Гістограма документа показує частість появи знаків в документі в графічній формі в інтерактивному вікні.
По осі абцис гістограми відкладаються всі знаки із виборки знаків, числа від 0 до 255 за таблицею АSCII. Частота появи (у відсотках) кожного знаку показана на осі ординат.
Порівняти бінарні гістограми початкового і зашифрованих текстів.
2.5. Визначити ентропії початкового та зашифрованих текстів.
Ентропія документа показує вміст в ньому інформації. Ентропія вимірюється в бітах на знак.
Для документів, що складаються тільки з великих букв ентропія знаходиться в межах від 0 біт/знак (в документах які мають тільки один знак) до log2(26) біт/знак = 4.700440 біт/знак (в документах в яких всі 26 букв з’являються з однаковою імовірністю).
Для документів, які можуть мати всі знаки від 0 до 256, ентропія знаходиться в межах від 0 біт/знак (в документах, які складаються тільки з одного знаку) до log2(256) біт/знак = 8 біт/знак (в документах в яких всі 256 знаків з’являються однаково часто).
2.6. Провести автокореляційний аналіз всіх текстів.
Автокореляція документа інформує про схожість в різних частинах документа. За допомогою автокореляції можна знайти довжину ключа в зашифрованому документі.
Функція автокореляції C(t) вимірює схожість повторювання si=s1 s2 ... до повторювання si+t=st st+1...., що пересувається на t позицію.
Повторювання при довжині n аналізуються і визначаються наступними параметрами:
A(t):= кількість членів повторювання si i si+t в блоці даних, які збігаються;
D(t) := кількість членів повторювання si i si+t в блоці даних, які не збігаються.
Функція автокореляції записується виразом:
C(t) = (A(t)-D(t)) / n.
У випадку кінцевих повторювань, повторювання s пересувається (циклічно) на t позицію, так що повторювання si+t має тільки n-t членів повторювання (де n - довжина повторювання si).
Функція автокореляції застосовується для обробки довжини циклу в режимі автоматичного криптоаналізу.
Визначити чи є можливості винайти ключ за допомогою автокореляції. Як при шифруванні методами простої підстановки і перестоновки.
2.7. Визначити змінну багатократність знаків (Floating frequency) в явному і зашифрованих текстах.
Багатократність знаків в документі є характеристикою, що говорить про кількість розміщеної в ньому інформації в кожному пункті документа. Вона вираховує як багато різних знаків можна знайти в кожних заданих 64-знакових сегментах документа.
Функція розглядає вміст тексту в активному вікні при довжині 64 знаки і порівнює як багато різних знаків можна знайти в цьому вікні. Після цього вікно пересувається на один знак вправо і розрахунок повторюється. В результаті можна ідентифікувати місця в документі з великим і малим індексами інформації.
Документ довжиною n > 64 байт має в своїй характеристиці кількість n - 63 таких індексів.
Залежно від структури і вмісту даних в активному вікні можна працювати з наступними документами:
- знімками (файли *.bmp) – кількість знаків знаходиться в межах від 5 до 20.
- текстом - можна очікувати кількість розміщенних знаків в межах між 18 та 30.
- програми (пакети) - від 30 до 40. В частині даних коливається біля 20.
- стиснуті файли, зашифровані дані і їх ключі мають кількість знаків менше 64, яка є для них максимальною.
Діаграма надає підрахунки вмісту документа. На ній можна легко побачити, чи є щось незвичайне в окремих частинах файлу. Наприклад, піки, які виразно відрізняються від інших в досліджуваному файлі, вказують на те, що там зашифровані дані або навіть криптографічний ключ. В файлах Word є визначення, яка частина призначена для збереження тексту, а яка вміщає тільки адміністративні дані і формат.
В криптографії цей механізм використовується головним чином для знаходження ключа серед великої кількості даних. Прикладом може бути файл advapi32.dll, який знаходиться в папці System32 системи Windows. В ньому є імовірно два криптографічні ключі, яких в файлі легко знайти.
2.8. Продивіться демонстраційні файли роботи алгоритма AES. Включення опції відповідно рис. 2.10, Rijndael Animation (Menu HYPERLINK "mk:@MSITStore:C:\\Program%20Files\\CrypTool_en\\CrypTool-en.chm::/menu_related_methods.html" Individual Procedures \ Visualization of Algorithms \ AES).
Рис. 2.10. Запуск демонстрації роботи AES.
Ця програма представляє деталі AES алгоритму кодування з виправленим набором даних. Можна довільно вибрати дані в Інспекторі Rijndael.
AES - потоковий стандарт для сучасних алгоритмів симетричної схеми шифрування, який може управляти змінною довжиною блоку для введення (особливо 128 біт) даних і із змінною довжиною ключа (128, 192 і 256 біт).
Візуалізація демонструє метод AES, використовуючи явний текст (state) і головний ключ, що мають довжину 128 біт (16 байт).
Програма показує покроково як процедуру кодування блоку початкових даних, так і процес генерування вторинних ключів на основі головного ключа.
3. ЗАВДАННЯ ДЛЯ ВИКОНАННЯ
3.1. Згенерувати криптографічний ключ для алгоритму DES шляхом подання свого прізвища в ASCII-коді записаного у 16-ковій системі числення (див. п. 2.1).
3.2. Підготувати для дослідження такі файли:
наданий викладачем текстовий файл PN.txt (PN –Порядковий Номер студента у журналі групи);
створений текстовим редактором Word на основі текстового файлу PN.txt документ Word PN.doc (див. п. 2.4);
стиснені архіватором Zip файли PN.txt і PN.doc (див. п. 2.5).
Оцінити розмір зазначених файлів до і після стиснення та обчислити ступінь компресії.
Дати порівняльну оцінку зазначеним файлам, застосовуючи засоби криптоаналізу пакету CrypTool: Entropy, Floating Frequency, Histogram, Autocorrelation (Autokorelacja), Periodicity (Cyklicznosc).
3.3. Зашифрувати файл PN.doc за допомогою алгоритму DES в режимах ECB і CBC.
Зберегти свій криптографічний ключ згідно п. 2.4.
Порівняти шифрограми одержані в режимах ECB і CBC, застосовуючи засоби криптоаналізу пакету CrypTool: Entropy, Floating Frequency, Histogram, Autocorrelation, Periodicity.
Розшифрувати шифрограми викостовуючи збережений ключ.
Зламати шифрограми за методом брутальної сили, використовуючи вбудовані засоби криптоаналізу пакету CrypTool для симетричних алгоритмів. Для криптоаналізу залишити невідомими перші п’ять 16-кових цифр ключа.
3.4. Зашифрувати стиснений архіватором Zip файл PN.doc за допомогою алгоритму DES в режимах ECB і CBC.
Зберегти свій криптографічний ключ згідно п. 2.4.
Порівняти шифрограми одержані в режимах ECB і CBC, застосовуючи засоби криптоаналізу пакету CrypTool: Entropy, Floating Frequency, Histogram, Autocorrelation, Periodicity.
Розшифрувати шифрограми викостовуючи збережений ключ.
Зламати шифрограми за методом брутальної сили, використовуючи вбудовані засоби криптоаналізу пакету CrypTool для симетричних алгоритмів. Для криптоаналізу залишити невідомими перші дві 16-кові цифри ключа.
3.5. Зашифрувати на одному ключі стиснений архіватором Zip файл PN.doc за допомогою алгоритмів 3DES режим CBС та AES. Зберегти свій криптографічний ключ згідно п. 2.4.
Порівняти одержані шифрограми, застосовуючи засоби криптоаналізу пакету CrypTool: Entropy, Floating Frequency, Histogram, Autocorrelation, Periodicity.
Розшифрувати шифрограми викостовуючи збережений ключ.
Зламати шифрограми за методом брутальної сили, використовуючи вбудовані засоби криптоаналізу пакету CrypTool для симетричних алгоритмів. Для криптоаналізу залишити невідомою першу 16-кову цифру ключа.
3.6. Відпрацювати роботу алгоритму AES в програмі Інспектор AES. Ключ – прізвище повторити до 16 байт. Провести шифрування тексту, заданого викладачем і порівняти з результатами, отриманими в Інспекторі. Розписати покроково процеси отримання ключів і шифрування тексту.
Провести шифрування тексту, заданого викладачем в активному вікні CrypTool та порівняти дані.
4. ПРЕДСТАВЛЕННЯ РЕЗУЛЬТАТІВ У ЗВІТІ
Представити результати виконання лабораторної роботи і аналітичний матеріал відповідно п.п. 3.1-3.5.
Надати результати розрахунків, отримані при виконанні п. 3.6.
Висновки, що відображають переваги і недоліки досліджуваних алгоритмів.
КОНТРОЛЬНІ ЗАПИТАННЯ
Що таке симетричні блокові алгоритми?
Яка різниця між блоковими та пококовими алгоритмами?
Чи можуть застосовуватися блокові алгоритми для потокового шифрування?
Які режими роботи алгоритму DES Ви знаєте?
Які недоліки режиму ЕСВ у порівнянні із режимом СВС?
Чим зумовлена поява алгоритму 3DES?
У чому полягає особливість алгоритму AES?
Список літератури:
1. HYPERLINK "http://ru.wikipedia.org/wiki/DES" http://ru.wikipedia.org/wiki/DES
2. А. П. Алферов, А. Ю. Зубов, А. С. Кузьмин, А. В. Черемушкин Основы криптографии.
3. A. Menezes, Pvan Oorschot, S. Vanstone HYPERLINK "http://www.cacr.math.uwaterloo.ca/hac" Handbook of Applied Cruptography.
4. Семенов Ю. А. HYPERLINK "http://book.itep.ru/6/des_641.htm" Алгоритм DES.
Навчальне видання
Ознайомлення з симетричними криптографічними шифрами: Методичні вказівки до лабораторної роботи №2 з курсу “Основи інформаційної безпеки” для студентів спеціальності 8.091401 «Системи управління і автоматики» та спеціалізації «Захист інформації в комп’ютеризованих системах управління»
Укладачі: В.В. Хома
Л.М.Ракобовчук