
- •1. Вступ
- •2. Елементи теорiї криптографiчних систем
- •3. Класичні криптосистеми
- •Хід роботи
- •Приклад тексту програми
- •4. Сучасні блочна та асиметрична криптографiї
- •Лабораторна робота №2. Блочні криптосистеми типу des
- •Хiд роботи
- •Лабораторна робота №3. Криптопакет krypton
- •Хiд роботи
- •Цифрова сигнатура.
- •Лабораторна робота №4. Асиметричні криптосистеми
- •Хід роботи
- •5. Прикладні застосування криптографічних методів
- •Комплексне застосування криптографічних перетворень, кодування і стиску інформації.
- •6. Література
- •Інтернет – сайти
3. Класичні криптосистеми
Шифр простої підстановки. У такому шифрі замінюють кожну букву повідомлення на деякий певний символ (звичайно також на букву). Отже, повідомлення
М=m1m2m3m4 ... ,
де m1, m2,... – послідовні букви, переходить в
Е = е1е2е3е4... = f(m1)f(m2)f(m3)f(m4) ... ,
причому функція f(m) має зворотну функцію. Ключ є простою перестановкою алфавіту (якщо букви замінюються на букви), наприклад:
XGUACDTBFHRSLMQVYZWIEJOKNP.
Перша буква – Х замінює букву А, G – В і т.д.
Транспозиція з фіксованим періодом d. У цьому випадку повідомлення ділять на групи символів довжини d і до кожної групи застосовують одну і ту ж саму перестановку. Така перестановка є ключем і може бути задана деякою перестановкою перших d цілих чисел.
Отже, для d = 5 як перестановку візьмемо 23154. Це означатиме, що
m1 m2 m3 m4m5m6m7m8m9m10 ...
переходить у
m2 m3 m1 m5 m4 m7m8 m6 m10 m9 ...
Послідовне застосування двох або більше транспозицій матиме назву складною транспозицією. Якщо періоди цих транспозицій різні d1,..., ds, то, очевидно, в результаті одержимо транспозицію періоду d, де d – найменше спільне кратне d1,..., ds.
Шифр Віженера і його варіанти. У шифрі Віженера ключ задано набором з d букв. Такі набори підписуються з повторенням під повідомленням, а одержані дві послідовності складаються за модулем 26 (кожна буква алфавіта, що розглядається, нумерується від А = 0 до Z = 25).
Звідси еі = mі+kі (mоd 26), де ki – буква ключа, одержана шляхом скорочення числа і за модулем d. Наприклад, за допомогою ключа GАН маємо:
Повідомлення
|
N
|
O
|
W
|
I
|
S
|
Т
|
Н
|
Е
|
Ключ, що повторюється |
G |
А |
H |
G |
А |
Н |
G |
А |
Криптограма
|
Т
|
O
|
D
|
O
|
S
|
А
|
N
|
Е
|
Шифр Віженера з періодом 1 називається шифром Цезаря. Це проста підстановка, в якій кожна буква повідомлення М зсувається вперед на фіксоване число місць алфавіту. Таке число і є ключем, воно може бути яким завгодно – від 0 до 25. Так званий шифр Бофора (Beaufort) і видозмінений шифр Бофора подібні до шифра Віженера. У них повідомлення зашифровуються за допомогою рівностей
еі = kі – mі (mоd 26),
еі = mі – kі (mоd 26)
відповідно. Шифр Бофора з періодом 1 має назву називається зворотний шифр Цезаря.
Повторне застосування двох або більше шифрiв Віженера називають складним шифром Віженера. Він описується рівнянням
еі = mі + kі + lі +... + sі (mоd 26),
де ki, lі,..., sі, взагалі кажучи, мають різні періоди. Період їхньої суми ki + lі + ... + sі, як і в складовій транспозиції, є найменшим загальним кратним окремих періодів.
Якщо використовується шифр Віженера з необмеженим ключем, що не повторюється, то шифр Вернама, в якому
еі = mі + kі (mоd 26)
і kі вибираються випадково та незалежно серед чисел 0, 1,..., 25.
Диграмна, триграмна і n – грамна підстановки. Замість підстановки однієї букви можна використовувати підстановку диграм, триграм і т.д. Для диграмної підстановки в загальному вигляді потрібний ключ, що складається з перестановок 262 диграм. Виразимо його за допомогою таблиці, в якій ряд відповідає першій букві диграми, а стовпець – другій букві, причому клітини таблиці заповнені замінювальними символами (звичайно також диграмами).
Шифр Віженера з одноразово перемішаним алфавітом. Такий шифр є простою підстановкою з подальшим застосуванням шифру Віженера:
еі = f(mі) + ki ,
mі = f – 1(еі – kі) .
"Оберненим" до такого шифру є шифр Віженера з подальшою простою підстановкою:
еі = g(mі + ki) ,
mі = g – 1(еі) – ki .
Матрична система. Є метод підстановки n – грам, який полягає в застосуванні до послідовних n – грам деякої матриці, що має обернену. Передбачається, що букви занумеровані від 0 до 25 і розглядаються як елементи деякого алгебраїчного кільця. Якщо до n – грами повідомлення застосувати матрицю аij, то вийде n – грама криптограми.
Матриця аij є ключем, і розшифрування виконується за допомогою оберненої матриці. Обернена матриця існуватиме тоді і тільки тоді, коли визначник [аij] має обернений елемент у нашому кільці.
Шифр Плейферa. Цей шифр є частковим випадком диграмнoї підстановки, яку проводять за допомогою перемішаного алфавіту з 25 букв, записаних у вигляді квадрата 55, (буква J при криптографічній роботі часто пропускається, оскільки вона трапляється зрідка, а якщо й трапляється, то її замінюють буквою І). Ключовий квадрат записують так:
L
|
Z
|
Q
|
C
|
Р
|
А
|
G
|
N
|
О
|
U
|
R
|
D
|
М
|
І
|
F
|
К
|
Y
|
Н
|
V
|
S
|
X
|
Y
|
T
|
Е
|
W
|
У цьому випадку диграма АС, наприклад, замінюється на пару букв, розташованих у протилежних кутах прямокутника, що визначається буквами А і C, тобто на LU , причому L береться першою, оскільки вона вище за А. Якщо букви диграми розташовані на одній горизонталі, то використовуються ті, що стоять праворуч від них букви. Отже, RІ замінюють на DF, RF – на DR. Якщо букви розташовані на одній вертикалі, то використовують букви, що стоять під ними. Відтак РS замінюють на UW. Якщо обидві букви диграми збігаються, то для їхнього розділення використовують нуль або ж одну з букв пропускають.
Перемішування алфавіту за допомогою багаторазової підстановки. У цьому шифрі використовують послідовно d простих підстановок. Так, якщо d=4, то m1m2m3m4m5m6... замінюють на f(m1)f(m2)f(mЗ)f(m4)f(m5)f(m6)... .
Шифр з автоключем. Шифр типу Віженера, в якому або саме повідомлення, або результуючу криптограму використовують як "ключ", називають шифром з автоключем. Шифрування починається за допомогою "первинного ключа" (який є справжнім ключем у нашому значенні) і продовжується за допомогою повідомлення або криптограми, зміщеної на довжину первинного ключа, як у вказаному нижче прикладі, де первинним ключем є набір букв СОМЕТ. Як "ключ" використовується повідомлення:
Повідомлення
|
S
|
Е
|
N
|
D
|
S
|
U
|
Р
|
Р
|
L
|
І
|
Е
|
S
|
…
|
Ключ
|
С
|
O
|
М
|
Е
|
Т
|
S
|
Е
|
N
|
D
|
S
|
U
|
Р
|
…
|
Криптограма
|
U
|
S
|
Z
|
Н
|
L
|
М
|
Т
|
С
|
O
|
А
|
Y
|
Н
|
…
|
Якщо як "ключ" використати криптограму, то вийде
Повідомлення
|
S
|
Е
|
N
|
D
|
S
|
U
|
P
|
Р
|
L
|
І
|
Е
|
S
|
…
|
Ключ
|
С
|
O
|
М
|
Е
|
Т
|
U
|
S
|
Z
|
Н
|
L
|
O
|
Н
|
…
|
Криптограма
|
U
|
S
|
Z
|
Н
|
L
|
O
|
Н
|
O
|
S
|
Т
|
Т
|
S
|
...
|
Дробові шифри. У цих шифрах кожну букву спочатку зашифровують у дві (або більше) букви або в два (або більше) числа, потім одержані символи певним способом перемішують (наприклад, за допомогою транспозицій), після чого їх можна знову перевести в первинний алфавіт. Отже, використовуючи як ключ перемішаний 25 – буквовий алфавіт, переводимо букви у двозначні числа за допомогою таблиці:
-
0
1
2
3
4
0
L
Z
Q
S
Р
1
А
G
N
O
U
2
R
D
М
І
F
3
К
Y
Н
V
S
4
X
В
Т
Е
W
Наприклад, букві В відповідає число 41. Після того як одержаний ряд чисел буде піддано деякій перестановці, його можна знову розділити на пари чисел і перейти до букв.
Гамування. Гамування є також широко застосовуваним криптографічним перетворенням. Насправді межа між гамуванням і використанням нескінченних ключів і шифрів Віжинера досить умовна.
Принцип шифрування гамуванням полягає в генерації гами шифру за допомогою генератора псевдовипадкових чисел і накладанні одержаної гами на відкриті дані, наприклад, використовуючи додавання за модулем 2.
Процес дешифрування даних зводиться до повторної генерації гами шифру при відомому ключі і накладанні такої гами на зашифровані дані.
Одержаний зашифрований текст є досить складним для розкриття в тому випадку, якщо гама шифру не містить повторюваних бітових послідовностей. По суті, гама шифру повинна змінюватися випадковим способом для кожного слова, яке шифрується. Фактично, якщо період гами перевищує довжину всього зашифрованого тексту і невідома жодна частина вихідного тексту, то шифр розкривають тільки прямим перебором. Криптостійкість у цьому випадку визначається розміром ключа.
Генератори псевдовипадкових чисел (ПВЧ). Для того щоб одержати лінійні послідовності елементів гами, довжина яких перевищує розмір шифрованих даних, використовують генератори ПВЧ. На основі теорії груп були розроблені декілька типів таких пристроїв.
Сьогодні найдоступнішими і найефективнішими є конгруентні генератори ПВЧ. Для цього класу генераторів зроблені математично строгі висновки, якими властивостями володіють вихідні сигнали цих генераторів з погляду періодичності та випадковості.
Одним з ефективних конгруентних генераторів є лінійний конгруентний генератор ПВЧ. Він виробляє послідовності псевдовипадкових чисел Т(і), які описують виразом
T(i+1)=(A*T(i)+C)mod m ,
де А і С – константи, Т(0) – вихідна величина, вибрана в якості числа, що породжує. Очевидно, що ці три величини й утворюють ключ.
Такий пристрій ПВЧ генерує псевдовипадкові числа з визначеним періодом повторення, який залежить від вибраних значень А і С. Значення m звичайно встановлюється 2n, де n – дов-жина машинного слова в бітах. Генератор має максимальний період М до того, як, генеруючи послідовність, почне повторюватися. Тому необхідно вибирати числа А і С такими, щоб період М був максимальним. Як показано Д. Кнутом, лінійний конгруентний генератор ПВЧ має максимальну довжину М тоді і тільки тоді , коли С – непарне, і A mod 4=1.
Шифрування за допомогою генератора ПВЧ є досить поширеним криптографічним методом. Якість шифру, побудованого на основі генератора ПВЧ, визначається не тільки і не стільки характеристиками генератора, скільки алгоритмом одержання гами. Один з фундаментальних принципів криптологічної практики свідчить, що навіть складні шифри можуть бути дуже чутливими до простих впливів.
Лабораторна робота № 1. Програмна реалізація алгоритму шифрування за методом Цезаря
Мета роботи. Реалізувати на практиці алгоритм шифрування текстової інформації за методом Цезаря з використанням об’єктно – орієнтованої мови програмування Turbo Pascal 7.0.