Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Інструкції до пр.р. ЗИвКИС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.33 Mб
Скачать

3. Контрольні питання:

1. Поняття криптографії, крипто аналізу, криптології.

2. Класифікація методів шифрування.

3. Криптоалгоритми підстановки.

4. Криптоалгоритми перестановки.

5. Порівння надійності методів підстановки і перестановки.

Практична робота № 3

Тема роботи: вивчення крипто алгоритмів гамування.

Мета роботи: вивчити технологію шифрування методом гамування

Обладнання та програмне забезпечення: персональний комп’ютер з програмою для шифрування та дешифрування методом гамування.

Короткі теоретичні відомості

Ще одним окремим випадком многоалфавитной підстановки є гамування. У цьому способі шифрування виконується шляхом складання символів вихідного тексту і ключа по модулю, рівному числу букв в алфавіті. Якщо у вихідному алфавіті, наприклад, 33 символа, то додавання проводиться за модулем 33. Такий процес складання початкового тексту і ключа називається в криптографії накладенням гами.

Нехай символам вихідного алфавіту відповідають числа від 0 (А) до 32 (Я). Якщо позначити число, відповідне вихідного символу, x, а символу ключа - k, то можна записати правило гамування наступним чином:

z = x + k (mod N),

де z - закодований символ, N - кількість символів в алфавіті, а додавання по модулю N - операція, аналогічна звичайному додаванню, з тією відмінністю, що якщо звичайне підсумовування дає результат, більший або рівний N, то значенням суми вважається залишок від ділення його на N. Наприклад, нехай складемо по модулю 33 символи Г (3) і Ю (31):

3 + 31 (mod 33) = 1,

тобто в результаті отримуємо символ Б, відповідний числу 1.

Найбільш часто на практиці зустрічається двійкове гамування. При цьому використовується двійковий алфавіт, а додавання проводиться по модулю два. Операція додавання по модулю 2 часто позначається, тобто можна записати:

Операція додавання по модулю два в алгебрі логіки називається також "виключає АБО" або по-англійськи XOR.

Розглянемо приклад. Припустимо, нам необхідно зашифрувати десяткове число 14 методом гамування з використанням ключа 12. Для цього спочатку необхідно перетворити вихідне число і ключ (гаму) в двійкову форму: 14 (10) = 1110 (2), 12 (10) = 1100 (2). Потім треба записати отримані двійкові числа один під одним і кожну пару символів скласти по модулю два. При додаванні двох двійкових знаків виходить 0, якщо вихідні двійкові цифри однакові, і 1, якщо цифри різні:

Складемо по модулю два двійкові числа 1110 і 1100:

Початкове число 1 1 1 0

Гамма 1 1 0 0

Результат 0 0 1 0

В результаті складання отримали двійкове число 0010. Якщо перевести його у десяткову форму, отримаємо 2. Таким чином, в результаті застосування до числа 14 операції гамування із ключем 12 отримуємо в результаті число 2.

Яким же чином виконується расшифрование? Зашифроване число 2 представляється в двійковому вигляді і знову проводиться складання по модулю 2 з ключем:

Зашифроване число 0 0 1 0

Гамма 1 1 0 0

Результат 1 1 1 0

Переведемо отримане двійкове значення 1110 у десятковий вигляд і отримаємо 14, тобто вихідне число.

Таким чином, при гамування за модулем 2 потрібно використовувати одну і ту ж операцію як для зашифрування, так і для розшифрування. Це дозволяє використовувати один і той же алгоритм, а відповідно і одну і ту ж програму при програмній реалізації, як для шифрування, так і для розшифрування.

Операція додавання по модулю два дуже швидко виконується на комп'ютері (на відміну від багатьох інших арифметичних операцій), тому накладення гами навіть на дуже великий відкритий текст виконується практично миттєво.

Завдяки зазначеним достоїнств метод гамування широко застосовується в сучасних технічних системах сам по собі, а також як елемент комбінованих алгоритмів шифрування.

Сформулюємо, як проводиться гамування за модулем 2 в загальному випадку:

символи вихідного тексту і гамма представляються в двійковому коді і розташовуються один під іншим, при цьому ключ (гамма) записується стільки разів, скільки буде потрібно;

кожна пара двійкових знаків складається по модулю два;

отримана послідовність двійкових знаків кодується символами алфавіту у відповідності з обраним кодом.

На рис. показано, як застосовується гамування до тексту з російськими символами. Символи кодуються відповідно до прийнятої кодуванням, а потім проводиться складання по модулю 2.

При використанні методу гамування ключем є послідовність, з якою проводиться додавання - гамма. Якщо гамма коротше, ніж повідомлення, призначене для зашифрування, гамма повторюється необхідне число разів. Так у прикладі на мал. 2.6 довжина вихідного повідомлення дорівнює дванадцяти байтам, а довжина ключа - п'яти байтам. Отже, для зашифрування гама повинна бути повторена 2 рази повністю і ще один раз частково.

Чим довший ключ, тим надійніше шифрування методом гамування. Зв'язок довжини ключа з імовірністю розтину повідомлення, а також деякі принципи дешифрування повідомлень, закритих методом гамування, обговорюються в "Потокові шифри і генератори псевдовипадкових чисел. Частина 2" і "Шифрування, завадостійке кодування і стиснення інформації". На практиці довжина ключа обмежена можливостями апаратури обміну даними та обчислювальної техніки, а саме виділяються обсягами пам'яті під ключ, часом обробки повідомлення, а також можливостями апаратури підготовки і запису послідовностей ключів. Крім того, для використання ключа спочатку необхідно якимось надійним способом доставити його обом сторонам, обменивающимся повідомленнями. Це призводить до виникнення проблеми розподілу ключів, складність вирішення якої зростає із збільшенням довжини ключа і кількості абонентів у мережі передачі повідомлень.

Завдання на практичну роботу

  1. Зашифруйте своє ПІБ методом гамування.

  2. Запустіть программу gamma.exe перевірте правильність виконання завдання.

Зміст звіту

Після виконання оформити звіт з наступним змістом:

  1. Тема, мета практичної роботи;

  2. Варіант.

  3. Виконане завдання.

  4. Відповіді на контрольні запитання за варіантом;

  5. Висновок.

Контрольні запитання

  1. Шифрування методом гамування.

  2. Технологія шифрування методом гамування.

  3. Надійність метода гамування.

Практична робота № 4

Тема роботи: вивчення методів криптоаналізу.

Мета роботи: освоїти методику крипто аналізу методу простої заміни.

Обладнання та програмне забезпечення: персональний комп’ютер.

Короткі теоретичні відомості

Криптоаналіз шифру простої заміни заснований на використанні статистичних закономірностей мови. Так, наприклад, відомо, що в російській мовою частоти букв розподілені наступним чином:

Таблиця 4. Частоти букв російської мови (в 32-буквеному алфавіті зі знаком пробілу)

Для отримання більш точних відомостей про відкриті текстах можна будувати і аналізувати таблиці k-грам при k> 2, однак для навчальних цілей загалом достатньо обмежитися біграм. Неравновероятность k-грам (і навіть слів) тісно пов'язана з характерною особливістю відкритого тексту - наявністю в ньому великої кількості повторень окремих фрагментів тексту: коренів, закінчень, суфіксів, слів і фраз. Так, для російської мови такими звичними фрагментами є найбільш часті біграми і триграми:

СТ, АЛЕ, ЕН, ТО, НА, ОВ, НІ, РА, ВО, КО,

СТО, ЕНО, НОВ, ТОВ, ОВО, ОВА

Корисною є інформація про сполучуваність букв, тобто пропереважних зв'язках букв один з одним, яку легко отримати з таблиць частот біграм.

Мається на увазі таблиця, в якій ліворуч і праворуч від кожної букви розташовані найбільш бажані "сусіди" (в порядку убування частоти відповідних биграмм). У таких таблицях зазвичай вказується також частка голосних і приголосних букв (у відсотках), що передують (або наступних за) даній букві.

Таблиця частот біграм російської мови

Приклад криптоаналізу шифру заміни

Відомо, що зашифровано вірш Р. Кіплінга в перекладі С.Я.

Маршака. Шифрування полягало в заміні кожної букви на двозначне число.

Окремі слова розділені декількома пропусками, розділові знаки збережені.

Таблиця частот букв російської мови наведена вище. 30 29 15 10 17 29 22 25 31 15 33 35 41 43 45 35 57 45 25 17 59 15 25 69, 59 78 29 82 25 78 25 17 15 10 88 90 78 25 62 25 22 10 57 73 79 35 67 78 90 88 29 45 35 29, 54 57 90 31 90 73 22 88 15 88 29 15 17 69 41 25 15, 70 17 90 57 43 59 15 78 15 62 22 25 17 57 25 69 88 15 82 17 25 88 29 45 35 ...

Підрахуємо частоти шіфрообразованій:

Из таблица частот букв русского языка видно, что чаще всего встречается буква О, на втором месте Е. В нашем шифр-тексте чаще всего встречается обозначение 25 (12 раз), на втором месте идет обозначение 15 (10 раз), остальные обозначения им существенно уступают. Поэтому можем выдвинуть гипотезу: 25=О, 15=Е. Однако, текст у нас не очень большой, поэтому закономерности руського языка проявляются в нем не обязательно в строгом соответствии с таблицей частот букв русского языка. Поэтому возможен и вариант: 25=Е, 15=О. Но тогда последнее слово в третьей строке имеет окончание ЕО, что возможно, но все же болем вероятный вариант ОЕ. Итак, будем работать с текстом, считая, что 25=О, 15=Е.

Теперь нам поможет знак препинания: «29, …». Крайне маловероятно, чтобы запятая стояла после согласной. Итак, 29 – гласная, причем вероятнее всего 29=И или 29=А, т.к. гласные Я, Ю, Э, У встречаются в осмысленных текстах на русаком языке намного реже, чем И и А, что не противоречит таблице частот шифр-текста.

В последней строке: 88 15, но 15=Е, следовательно, 88 – согласная, причем наиболее вероятные значения – это Н и Т. Итак, 25=О, 15=Е,

Теперь третье слово в третьей строке имеет 4 варианта:

• 29=И, 88=Н: 22 Н Е Н И Е

• 29=И, 88=Т: 22 Т Е Т И Е

• 29=А, 88=Н: 22 Н Е Н А Е

• 29=А, 88=Т: 22 Т Е Т А Е

Из рассмотренных вариантов лишь один является осмысленным, и он позволяет найти значение 22. Имеем: 22=М и третье слово в третье строке М Н Е Н И Е.

Теперь рассмотрим второе слово в первой строке. Е 10 17 И, причем 10 и 17 – согласные, и это не М и не Н. Наиболее вероятное слово Е С Л И, т.е. 10=С, 17=Л.

Конечно, если мы, продолжая работать с текстом, вдруг получим «нечитаемое» слово, то придется вернуться к этому этапу и рассмотреть другие варианты. Однако, это маловероятно, поскольку вряд ли в стихотворении были слова наподобие Е Р Т И, Е В Л И и т.п. 31

Далее, первое слово второй строки: 59 78 И, причем 59 и 78 – согласные, и это не С, не Л, не М и не Н. Так что это слово П Р И, т.е. 59=П, 78=Р. Тогда шестое слово первой строки 45 О Л П Е, что дает значение 45=Т и тогда при 57=В получаем фрагмент «…В Т О Л П Е…». Также второе слово последней строки П Е Р Е 62 дает нам значение 62=Д.

Далее рассмотрим начало второй строки: «П Р И 82 О Р О Л Е С Н 90 Р О Д О М …». Из него следует, что 82=К и 90=А.

Зная, что 82=К, посмотрим на самое последнее слово К Л О Н И Т 35, откуда станет ясно, что 35=Ь.

Перед последней атакой выпишем текст, заменяя известные обозначения буквами. И Е С Л И М О 31 Е 33 Ь 41 43 Т Ь В Т О Л П Е С О 41 О 69, П Р И К О Р О Л Е С Н А Р О Д О М С В 73 79 Ь 67 Р А Н И Т Ь И, 54 В А 31 А 73 М Н Е Н И Е Л 69 41 О Е, 70 Л А В 43 П Е Р Е Д М О Л В О 69 Н Е К Л О Н И Т Ь…

Из последней строки: 69=Ю, тогда слова Л Ю 41 О Е и С О 41 Ю определяют 41: 41=Б. Теперь из четвертого слова первой строки Б 43 Т Ь получаем, что 43=Ы. А первое слово из последней строки 70 Л А В Ы – это Г Л А В Ы. Слово в первой строке М О 31 Е 33 Ь угадывается из контекста: М О Ж Е Ш Ь, т.е. 31=Ж, 33=Ш. Теперь второе слово в третьей строке запишется как 54 В А Ж А 73, откуда, с учетом контекста: 54=У, 73=Я. После этого окончание второй строки имеет вид «… С В Я 79 Ь 67 Р А Н И Т Ь». Легко определяются буквы 79=З, 67=Х.

Ответ: И Е С Л И М О Ж Е Ш Ь Б Ы Т Ь В Т О Л П Е С О Б О Ю, П Р И К О Р О Л Е С Н А Р О Д О М С В Я З Ь Х Р А Н И Т Ь И, У В А Ж А Я М Н Е Н И Е Л Ю Б О Е, Г Л А В Ы П Е Р Е Д М О Л В О Ю Н Е К Л О Н И Т Ь…