- •Укладачі: д.Т.Н. Проф. М.І. Гученко асист. О.Г. Славко асист. П.П. Костенко
- •Перелік лабораторних робіт Лабораторна робота №1
- •Робоче завдання
- •Порядок виконання роботи
- •Контрольні питання:
- •Лабораторна робота № 2
- •Завдання для самостійної підготовки
- •Короткі теоретичні відомості
- •Парольна аутентифікація
- •Робоче завдання
- •Контрольні питання:
- •Лабораторна робота № 3
- •Мета: практично освоїти елементарні методи шифрування та дешифрування повідомлень. Вивчити можливості професійних програм для шифрування та дешифрування даних. Завдання для самостійної підготовки
- •Короткі теоретичні відомості
- •Найпростішими методами шифрування є:
- •Нехай використовується таблиця розміром 54, тобто шифруються блоки тексту по 20 символів. Нехай треба зашифрувати текст. Ключем є розмір таблиці.
- •Для розшифровки виконується зворотня заміна букв.
- •1) Ключем є гамма – початковий текст;
- •9) Ключем є гамма – початковий текст.
- •Робоче завдання
- •Порядок виконання роботи
- •Контрольні питання:
- •Лабораторна робота № 4
- •Короткі теоретичні відомості
- •Робоче завдання
- •Варіанти завдань до роботи
- •Контрольні питання:
- •Список літератури
- •Укладачі: д.Т.Н. Проф. М.І. Гученко асист. О.Г. Славко асист. П.П. Костенко
- •39600 М. Кременчук, вул. Першотравнева, 20
Для розшифровки виконується зворотня заміна букв.
Збільшити криптостійкість шифру Цезаря можно шляхом введення ключового слова (бажано, щоб букви в ключовому слові не повторювалися, а якщо вони повторюються, то одна з них вилучається). Букви, що ввійшли до ключового слова в схемі заміни більше не повторюються.
Наприклад, якщо ключем є слово корунд, що починається з десятої позиції, то:
Буква |
шифр |
Буква |
шифр |
Буква |
шифр |
Буква |
шифр |
а |
т |
З |
я |
Н |
а |
х |
и |
б |
ф |
И |
ь |
О |
б |
ц |
і |
в |
х |
І |
к |
П |
в |
ч |
ї |
г |
ц |
Ї |
о |
Р |
г |
ш |
й |
д |
ч |
Й |
р |
С |
е |
щ |
л |
е |
ш |
К |
у |
Т |
є |
ю |
м |
є |
щ |
Л |
н |
У |
ж |
я |
п |
ж |
ю |
М |
д |
ф |
з |
ь |
с |
3. Шифрування гаммуванням. Символи тексту, який шифрується додаються з символами деякої псевдовипадкової послідовності, що називається гаммою шифру. ( Практично перед шифруванням текст розбивається на блоки однакової довжини (звичайно – 64 біти). Гамма генерується у вигляді послідовності такої ж довжини. Чим довша гамма тим стійкіший шифр). Для шифрування використовується яка-небудь функція, що має властивість зворотності, наприклад, операція додавання по модулю 2. Для шифрування і дешифрування виконується така послідовність операцій:
1) Ключем є гамма – початковий текст;
2) 13 14 29 26 15 05 06 03 00 15 15 00 – цифрова форма початкового тексту в десятковій системі;
3) 01101 01110 11101 11010 01111 00101 00110 00011 00000 01111 01111 00000 – двійковий запис;
4) 10110 01010 00011 00110 11010 10101 01001 00100 10100 10010 00001 11100 – гамма;
5) 01011 00100 11110 11100 10101 10000 01111 00111 10100 11101 01110 11100 – шифр (сума по модулю 2 початкового тексту і гамми);
6) 10110 01010 00011 00110 11010 10101 01001 00100 10100 10010 00001 11100 – гамма (та сама, що й при шифруванні);
7) 01101 01110 11101 11010 01111 00101 00110 00011 00000 01111 01111 00000 - двійковий запис розшифрованого тексту (сума по модулю 2 шифрованого тексту і гамми);
8) 13 14 29 26 05 15 06 15 00 21 19 09 25 30 12 - цифрова форма розшифрованого тексту в десятковій системі;
9) Ключем є гамма – початковий текст.
Аналогічно, можно зашифрувати текст і в іншій системі числення, наприклад, десятковій.
Початковий текст можно розглядати як послідовність чисел {an}, що належать множині A={0,1,2,…,31}. Нехай є випадкова послідовність чисел {cn}, що теж належать множині A , такої ж довжини, що й текст, який шифрується. Додаючи по модулю 32 числа an та cn
an + cn bn (mod 32) , 0 bn 31
отримаємо послідовність знаків зашифрованого тексту {bn}.
Скориставшись тим же ключем можна дешифрувати текст:
an bn - cn (mod 32) , 0 an 31.
Якщо, послідовність {cn} дійсно випадкова, то шифр називається одноразовим блокнотом і не може бути розкритий в принципі.
Приклад. Нехай треба зашифрувати слово блокнот
01 14 17 13 16 17 21 – текст {an} - блокнот
18 17 14 22 26 09 15 – гамма {cn}
19 31 31 03 10 26 04 – шифртекст {bn} - рььгічд
18 17 14 22 26 09 15 – гамма {cn}
01 14 17 13 16 17 21 – початковий текст {an} - блокнот
4. Шифрування аналітичним (функціональним) перетворенням. Символи тексту перетворюються у відповідності з деякою функціональною залежністю.
Наприклад, якщо помножити квадратну матрицю на вектор з такою ж кількістю рядків, то результатом знову буде вектор того ж розміру. Тобто якщо елементи першого вектора є символами початкового тексту, то елементи другого вектора є шифрованим текстом, а матриця є ключем. Розшифровка проводиться шляхом множення оберненої матриці на вектор шифрованого тексту.
1) Ключем є матриця– початковий текст;
2) 13 14 29 26 05 15 06 15 00 21 19 09 25 30 12 - цифрова форма початкового тексту в десятковій системі;
3) обчислення першого блоку шифрованого тексту c шляхом множення шифруючої матриці M на вектор з першого блоку початкового тексту t M ∙ t = c, тобто
1 |
3 |
2 |
5 |
2 |
|
13 |
|
253 |
2 |
0 |
2 |
0 |
1 |
|
14 |
|
089 |
1 |
4 |
1 |
3 |
2 |
|
29 |
= |
186 |
4 |
4 |
2 |
3 |
1 |
|
26 |
|
249 |
2 |
5 |
2 |
2 |
1 |
|
05 |
|
211 |
4) обчислення першого блоку розшифрованого тексту t шляхом множення матриці M-1 на вектор з першого блоку шифрованого тексту с
M-1 c = t, тобто
-0,196 |
0,037 |
0,131 |
0,402 |
-0,308 |
|
253 |
|
13 |
-0,112 |
-0,121 |
0,075 |
-0,056 |
0,252 |
|
089 |
|
14 |
0,327 |
0,271 |
-0,551 |
-0,336 |
0,514 |
|
186 |
= |
29 |
0,280 |
-0,196 |
-0,187 |
0,140 |
-0,131 |
|
249 |
|
26 |
-0,262 |
0,383 |
0,841 |
-0,131 |
-0,411 |
|
211 |
|
05 |
і т.д.
Фундаментальним правилом криптоаналізу є наступне – криптоаналітикові відомий алгоритм шифрування, але невідомий ключ. Крім того вважається, що криптоаналітик має повний текст криптограми.
Відомо багато методів криптоаналізу:
– метод повного перебору ключів;
– метод статистичного аналізу (використовуються відомі статистичні закономірності мови, якою написаний відкритий текст);
– аналітичний метод (якщо відомий алгоритм шифру і деякі частини відповідного відкритого тексту, то можна скласти систему рівнянь для визначення невідомих частин) і т.д.
та криптоаналітичних атак:
– атака при наявності тільки шифртексту;
– атака при наявності і шифртексту і відповідного відкритого тексту;
– атака при можливості вибору відкритого тексту і одержання відповідного шифртексту;
– атака при можливості вибору шифртексту і одержання відповідного відкритого тексту;