Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

125 Кібербезпека / Фаховий екзамен (Бакалавр) / Прикладна криптологія

.pdf
Скачиваний:
87
Добавлен:
23.10.2019
Размер:
4.51 Mб
Скачать

ВТ: m= “hello”

Ключ: a=7, b=5 (перевіряємо умову, що НСД (3,26)=1)

Шифрування J(сi)=a∙J(mi)+b : J(с1)=7∙7+5 mod 26=2 c1="c" J(с2)=7∙4+5 mod 26=7 c2="h" J(с3)=7∙11+5 mod 26=4 c3="e" J(с4)=7∙11+5 mod 26=4 c4="e" J(с5)=7∙14+5 mod 26=25 c5="z" ШТ: c="acheez"

Дешифрування

 

= ( ( ) − ) −1

 

 

 

 

Отже насамперед необхідно знайти обернений елемент до а в полі Z26, який гарантовано існує завдяки тому, що НСД(a,n)=1. Використаємо розширений алгоритм Евкліда. Можна показати, що

a-1=-11=15 mod 26

Перевірка 15∙7=1 mod 26

J(m1)=(2-5)∙15 mod 26=7 m1="h" J(m2)=(7-5)∙15 mod 26=4 m2="e" J(m3)=(4-5)∙15 mod 26=11 m3="l" J(m4)=(4-5)∙15 mod 26=11 m4="l"

J(m5)=(25-5)∙15 mod 26=14 m5="o" m= “hello”

Криптоаналіз. Повний перебір ключів (Атака "brute force"). Визначимо кількість різних шифрів в афінній системі для прикладу при n=33 . У такий спосіб утворюється n∙φ(n) можливих значень, що не так і багато: якщо n=33, то параметр a може набувати

φ(33)=20 значень (1, 2, 4, 5, 7, 8, 10, 13, 14, 16, 17, 19, 20, 23, 25, 26, 28, 29, 31, 32), тоді загальне число ключів дорівнює 20×33=660. Перебір такої кількості ключів не буде важким при використанні комп'ютера. Але існують методи, які спрощують цей пошук і можуть бути використані при аналізі більш складних шифрів.

4.Таблиця Трісімуса

Модифікацією таблиці Полібіана є таблиця Трісімуса, де букви розташовуються в залежності від ключа (він першим вписується в таблицю, а потім всі наступні букви, що не входять до ключа)

Для заповнення шифрувальної таблиці використовується підхід, запозичений із шифру Цезаря з ключовим словом. Спочатку обирається слово-ключ, кількість літер в якому залежить від мови; ключ записується в першому рядку квадрата, в подальших рядках виписуються літери алфавіта, відсутні в ключі в алфавітному порядку.

Приклад.

Квадрат, сформований з допомогою ключа «весна» у випадку українського алфавіту може мати вигляд.

 

1

2

3

4

5

1

В

Е

С

Н

А

2

Б

Г/Ґ

Д

Є

Ж

3

З

И/Й І/Ї

К

Л

4

М

О

П

Р

Т

5

У

Ф

Х

Ц

Ч

6

Ш

Щ

Ь

Ю

Я

 

 

 

 

 

 

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

5.Шифр простої заміни

Щоб описати ключ такого шифру необхідно виписати алфавіт, а безпосередньо під ним той самий алфавіт, але з переставленими буквами.

0

1

2

 

 

3

4

 

5

6

 

7

8

9

10

 

 

11

 

12

13

14

 

15

 

16

17

 

18

19

20

21

 

22

 

23

 

24

25

 

a

 

b

c

d

 

e

 

f

 

g

 

h

 

i

j

k

 

l

 

m

 

n

 

o

p

 

g

 

r

 

 

s

t

u

 

v

 

w

 

x

 

y

z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

 

h

d

e

 

g

 

b

 

i

 

r

 

m

v

t

 

n

 

p

 

 

y

 

a

q

 

k

 

f

 

 

u

c

z

 

x

 

j

 

l

 

w

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ця таблиця задає правило, за яким букви відкритого тексту замінюються символами

 

 

 

 

 

 

 

шифрованого.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простір ключів |К|=26!≈ 4 1026 ≈ 288

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Одним з різновидів даного шифру є шифр Цезаря з ключовим словом . В даному випадку

 

 

 

 

 

ключ задається числом k (0≤k≤n-1) та ключовим словом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ключове слово використовується для зміни порядку символів (бажано, щоб букви бути

 

 

 

 

 

різними. Якщо вони повторюються , то дане слово необхідно записати без повторення букв).

 

 

 

Виписується алфавіт, а під ним, починаючи з тієї букви числовий код якої співпадає з

 

 

 

 

 

вибравши ключем k,

ключове слово без повторень букв. Букви, що залишилися записуються

 

 

 

за абеткою після ключового слова.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ключ k=5 і ключове слово «diploma»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

2

3

 

4

 

5

 

6

 

7

 

8

9

10

 

11

12

13

 

14

 

15

 

16

17

18

19

 

2

 

2

 

2

 

2

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

2

 

3

 

4

 

5

 

 

 

 

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

g

r

s

t

u

v

w

 

x

y

z

 

 

 

v

w

x

y

z

d

i

p

l

o

m

a

b

c

e

f

g

h

j

k

h

q

r

 

s

t

u

 

 

Вважають, що простір ключів | | = 26!

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

Після падіння Римської імперії в Європі наступив період занепаду. Більшість великих досягнень Грецької та Римської цивілізації було втрачено. В VII-VIII ст. центр культури та науки перемістився на Схід. Деякі дослідники пов'язують становлення криптографії як науки з періодом розквіту арабських держав. В 1412 році було видано енциклопедію «Шауба альАша», що мала 14 томів і містила інформацію про всі досягнення, що були відомими на той час. В цій енциклопедії цілий розділ був присвячений криптографії з описом всіх відомим арабським вченим способів шифрування. В цій же книзі наводився спосіб розгадування шифру, що ґрунтувався на однаковій букв криптограми та відкритого тексту, який згодом назвали частотним аналізом. В цьому ж розділі наводилась і частота букв арабської мови, визначення на основі вивчення священної книги для мусульман –Корану. Хоча перші відомості про частотний аналіз можна зустріти на кілька століть раніше.

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

інформації - навіть порядок літер може відрізнятися в різних таблицях. Розподіл літер дуже залежить від типу тесту: проза, розмовна мова, технічна мова та ін.

Хоча немає таблиці, що може врахувати всі види текстів, але є параметри, загальні для всіх таблиць, наприклад, в англійської мові літера E завжди очолює список частот, а T перебуває на другій позиції. A і O майже завжди треті. Крім того, дев'ять літер англійської мови E, T, A, O, N, I, S, R, H завжди мають частоту вище, ніж у будь-які інші. Ці дев'ять літер заповнюють приблизно 70% англійського тексту. Нижче наведені відповідні таблиці для різних мов (табл.

3)

Також є таблиці частоти появи букв на початку й у кінці слова. Найпростіший захист проти атак, заснованих на підрахунку частот, забезпечується в системі омофонів (HOMOPHONES) - однозвучних підстановочних шифрів, у яких один символ відкритого тексту відображається на кілька символів шифротексту, їх число пропорційне частоті появи букви. Шифруючи букву вихідного повідомлення, вибираємо випадково одну з її замін. Отже, простий підрахунок частот нічого не дає криптоаналітику. Однак доступна інформація про розподіл пар і трійок букв у різних природних мовах. Криптоаналіз, заснований на такій інформації, буде більш успішним.

4. Біграмні шифри (Плейфеєра, афінної підстановки), методи злому.

Поліалфавітні шифри

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

1.Шифр Плейфейера (Playfair Cipher)

Уданому шифрі алфавіт розташовується в матриці в довільному порядку і становить ключ k. Матриця може формуватися й на основі деякого секретного слова, що записується в матрицю зліва направо, починаючи з першої комірки матриці. Повторювані літери ключового слова упускаються. Інші осередки заповнюються використаними літерами, що залишилися в алфавіті. Розмірність матриці підбирається така, щоб повністю вписати весь алфавіт. Для одержання зазначеної матриці алфавіт доповнюється розділовими символами або іншими унікальними символами.

Нижче наведений приклад, використаний Lord Peter Wimsey в Dorothy Sayers’s Have His Carcase: ця книга містить опис атак на основі ймовірних слів.

 

 

1

 

2

 

3

 

4

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

M

 

O

 

N

 

A

 

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

C

 

H

 

Y

 

B

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

E

 

F

 

G

 

I/J

 

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

L

 

P

 

Q

 

S

 

T

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

U

 

V

 

W

 

X

 

Z

 

 

 

 

 

 

 

 

 

 

 

Перед шифруванням відкритий текст m розбивається на пари символів mimi+1. Якщо дві букви пари одинакові то, щоб відокремити їх вставляється фіктивний символ. Після вставки

фіктивних символів, якщо кількість букв у відкритому повідомленні непарна, то в кінці додається ще один фіктивний символ, щоб утворити останню пару.

Кожна пара символів відкритого тексту заміняється на пари символів з матриці в такий спосіб:

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

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

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

Заміна виконується відповідно до порядку символів відкритої біграми

Приклад

ВТ: m= “hello”= “he│lx│lo

ШТ: с= “hello”= “he│lx│lo

Шифр Плейфейера значно надійніший простих моноалфавітних шифрів. З одного боку, літер усього 26, а біграм – 26 × 26 = 676, і вже по цьому ідентифікувати біграми складніше, ніж окремі літери. Більше того, відносна частота окремих літер має значно більший діапазон значень, ніж в біграм, що значно ускладнює проведення частотного аналізу біграм. Саме тому шифр Плейфейера довший час вважався достатньо надійним і використовувався британською армією під час Першої світової війни і частково армією союзників в роки Другої світової війни. Незважаючи на це, шифр Плейфера порівняно легко зламати, тому що він залишає структуру мови відкритого тексту без змін. Кілька сотень листів зашифрованого тексту, як правило, досить.

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

2.Афінний шифр біграм

Афінна підстановка біграм являє собою наступне криптографічне перетворення. Шифрування. Відкритий текст (ВТ) m = "m1 2 3 … " розбивається на біграми, що не перетинаються, (m1,m2),(m3,m4),… Нехай n - кількість букв в алфавіті. Занумеруємо букви алфавіту числами від 0 до n-1. Тоді кожній можливій біграмі алфавіту можна поставити у відповідність деяке унікальне число в межах від 0 до n2-1. Якщо алфавіт складається з 32 символів, то кількість біграм такого алфавіту вже складає 322=1024. Можна довести, що кожній біграмі відкритого тексту (mi,mi+1) можна єдиним чином поставити у відповідність

деяке число 0≤Mi≤n2-1 за правилом:

(mi,mi+1): Mi=J(mi )n+ J(mi+1), де. де J(mi) - функція, що обчислює порядковий номер символу mi в алфавіті Zn

Приклад

Розглянемо український алфавіт, який, як відомо, має 33 символи.

0

1

2

3

4

 

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

А

Б

В

Г

Ґ

Д

Е

Є

Ж

З

И

І

Ї

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ю

Я

Біграмі (в,б)

відповідає число

М=2*33 + 1 = 67, якщо n=33.

Секретний ключ: це така пара цілих чисел k = { , } така що 0≤a, b≤n2-1 (n – потужність алфавіту) причому НСД (a, n2)= 1

Простір ключів. Кількість ключів визначається співвідношенням

|К| = 2 ( 2) , де (°) - функція Ейлера Якщо n=31, то кількість більша ніж n=32.

Біграми шифруються незалежно за таким правилом. Нехай Mi =(mi,mi+1) - біграма ВТ, а Ci=(ci,ci+1) - відповідна біграма шифрованого тексту (ШТ). Тоді

Ci=aMi + b (mod n2),

Дешифрування:

 

 

 

= ( − ) −1

2

 

 

 

−1 обернений елемент до в полі 2 , що існує гарантовано завдяки тому, що НСД (a, n2)= 1. Можна знайти з допомогою розширеного алгоритму Евкліда.

5. Шифр Віженера, як приклад поліалфавітної заміни, його криптоаналіз.

1.

Шифр Віженера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блест де Віженер дослідив праці Джовані Батіста Беллазо під час своєї дипломатичної місії в

 

 

Римі, зокрема ознайомився з книгою La cifra del. Sig, де описувався принцип шифрування.

 

 

 

Основна ідея полягала в тому , що протягом усього тексту одна і та сама буква може бути

 

 

 

зашифрована по-різному. Тобто величина зсуву для заміни букв була змінною і визначалась

 

 

ключовим словом і положенням букви в тексті.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нехай задано деякий ВТ : = "

2

 

" в деякому алфавіті

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секретний ключ. Секретне слово розміром l: k = "k

1

 

… "

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|К| =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простір ключів розміру l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процедура розгортання ключа. Ключове слово копіюють необхідну кількість раз на всю

 

 

 

довжину повідомлення =

. ..

 

 

 

 

 

. ..

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

−1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шифрування та дешифрування. Якщо кожному символу алфавіту поставити у відповідність

 

 

його порядковий номер (починаючи з 0), то шифрування та дешифрування можна виразити

 

 

відповідними формулами:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( ) = ( (

) + (

 

 

 

))( ), = 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

) = (( ) − (

 

 

 

))( ), = 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

де – символ відкритого тексту;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- символ криптограми;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

– символ ключа ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n – потужність алфавіту;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( ) - функція що обчислює порядковий номер літери в алфавіті A.

 

 

 

 

 

 

 

 

 

У випадку, якщо ключ K складається з одного символу, d 1, то одержуємо класичний шифр

 

 

Цезаря.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m= “tellhimaboutme”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k= “cafe”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер

 

0

1

2

 

3

 

4

 

5

6

7

 

8

 

9

 

10

11

 

12

 

13

 

14

 

15

 

16

 

17

 

18

19

20

21

22

23

24

25

(код)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак

 

a

b

c

d

 

e

 

 

f

 

g

h

 

i

 

 

j

 

 

k

 

l

 

 

m

n

o

p

 

q

 

 

r

 

s

t

u

v

w

x

y

z

повідом-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лення

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

t

e

l

l

h

i

m

a

b

o

u

t

m

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

c

a

f

e

c

a

f

e

c

a

f

e

c

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

v

e

q

p

j

i

r

e

d

o

z

x

o

e

 

 

 

 

 

 

 

 

 

Зрозумівши простий, але ефективний принцип шифрування дипломат Віженер зумів донести цю ідею комісії Генріха III в Франції.

Довший час цей метод вважався невразливим для розгадування і навіть авторитети в області математики визнавати його невразливість.

Для дешифрування шифру Віженера використовувалась спеціальна таблиця, яка називалась tabula recta. Букву шифротексту можна знаходити з даної таблиці як перетин стовпця, обумовленого буквою відкритого тексту, і рядка, обумовленого буквою ключа.

В воєнній академії Сен-Сір придумали простий і оригінальний пристрій – лінійку , що складається з двох частин алфавітної лінійки і рухомого бігунка з написаним алфавітом і прорізом.

6. Види криптографічних атак та поняття стійкості.

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

Часто під завданням криптоаналізу розуміють визначення секретного ключа. При цьому слід пам’ятати наступне: секретний ключ – це лише необхідний елемент шифрування, але захист секретного ключа самого по собі не є кінцевою метою, яку переслідує криптографія. Конфіденційність секретного ключа є необхідною, проте недостатньою умовою для забезпечення конфіденційності інформації. В такому випадку логічно припустити, що метою криптоаналізу є відновити початкове повідомлення без знання секретного ключа. Проте виникає запитання, чи можна вважати стійкою систему, якщо зловмисник не може цілком відновити секретне повідомлення, а лише 80%% прихованої інформації? Проблема визначення стійкості криптосистеми залишалась досить довго невирішеною і видозмінювалась з появою нових методів шифрування. Перше формальне означення стійкості було запропоноване К.Шенноном для симетричних криптосистем. Більш детально це визначення розглянемо у наступному параграфі.

Інше фундаментальне припущення щодо криптоаналізу вперше було висловлено ще в ХІХ столітті датчанином А.Керкхоффсом. В книзі «Военная криптография» (1883) шість вимог до криптосистеми, одна з яких з часом почала називатись правилом Керкхоффса. При проведенні криптоаналізу можна вважати відомою інформацію про опис криптографічної системи та засоби її реалізації. Стійкість (надійність) криптосистеми повинна базуватись лише на конфіденційності ключа та якості системи. В такому ракурсі знання алгоритму, шифротексту та секретного ключа є достатніми умовами для відкриття прихованого тексту. Тому, в сучасних умовах, коли алгоритми шифрування є відомими та стандартизованими, пошук секретного ключа може теж бути задачею криптоаналітика.

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

В таблиці 1 наведено сім типів наступних атак та завдання, які ставить перед собою криптоаналітик:

Таблиця 1 – Типи криптоаналітичних атак

 

Тип атаки

Інформація відома криптоаналітику

Задача криптоаналітика

1

Атака на основі

Алгоритм шифрування;

 

 

Визначити хоча б одне з

 

відомого

Один або декілька

ШТ ci,

що

повідомлень mi (або

 

шифротексту

відповідають

невідомим

відповідний ключ ki).

 

(Ciphertext

повідомленнямmi. В окремих випадках

 

 

 

 

Only Attack)

можливе співпадання

ключів

або

 

 

 

 

 

початкових повідомлень

 

 

 

 

 

2

Атака на основі

Алгоритм шифрування;

 

 

Визначити

 

ключ ki для

 

відомого

Одна або декілька пар ВТ-ШТ (mi-ci),

хоча б однієї з пар, або ж

 

відкритого

згенерованих з допомогою секретного

якщо

шифрограми

 

тексту (Known

ключа

 

 

зашифровані

однаковим

 

PlaintextAttack)

 

 

 

ключем k,

то

визначити

 

 

 

 

 

 

 

 

 

 

 

початкове повідомлення

 

 

 

 

 

 

 

 

 

 

 

для нового шифротексту

3

Атака на основі

Алгоритм шифрування;

 

 

 

Мета атаки така ж як і в

 

вибраного

 

Одна або декілька пар ВТ-ШТ (mi-ci),

попередньої.

 

відкритого

 

згенерованих з допомогою секретного

 

 

тексту (Chosen

ключа, але на відміну від попередньої

 

 

PlaintextAttack)

атаки

криптоаналітик

має

можливість

 

 

 

 

вибрати початкові повідомлення (ВТ)

 

 

 

 

Можлива, коли криптоаналітик має

 

 

 

 

доступ до шифратора в відправника або

 

 

 

 

в системах розпізнавання свій-чужий

 

4

Атака на основі

Алгоритм шифрування;

 

 

 

Мета атаки така ж як і в

 

вибраного

 

Одна або декілька пар ВТ-ШТ (mi-ci),

попередньої

 

шифротексту

згенерованих з допомогою секретного

 

 

(Chosen

 

ключа, але на відміну від попередньої

 

 

CiphertextAttack)

атаки

криптоаналітик

має

можливість

 

 

 

 

вибрати шифротекст. Зловмисник має

 

 

 

 

засіб

 

розшифрування

з

введеним

 

 

 

 

ключем (на стороні отримувача), який

 

 

 

 

йому невідомий

 

 

 

 

 

 

 

 

 

Шифротексти обираються

заздалегідь

 

 

 

 

(lunchtime attack)

 

 

 

 

 

 

5

Адаптивні атаки

Алгоритм шифрування;

 

 

 

Мета атаки така ж як і в

 

3,4

з

Зловмисник

має

 

 

можливість

попередньої

 

послідовним

уточнювати вибір наступного тексту в

 

 

вибором

 

залежності від попередніх результатів

 

6

Атака на основі

Ключ може підбиратись з обмеженої

 

 

підібраного

множини ключів, якщо між ними існує

 

 

ключа

 

певний

зв’язок.

Криптоаналітику

 

 

 

 

відоме

 

співвідношення

між

парою

 

 

 

 

ключів

 

 

 

 

 

 

 

7

Атака

з

Криптоаналітику

відома

додаткова

 

 

використанням

інформація про реалізацію та роботу

 

 

інформації

зі

апаратури. Наприклад, споживання

 

 

стороннього

світла, час виконання, електро-магнітне

 

 

каналу

(Side-

випромінювання, атаки збоєм. Перші

 

 

Channel Attack)

реалізації AES були

нестійкими до

 

 

 

 

цього виду атак.

 

 

 

 

 

 

8

Грабіжницький

Ключі

 

отримують

 

на

основі

 

 

«аналіз»

 

використання агентури, шантажу,

 

 

 

 

підкупу, застосування тортур.

 

 

Криптосистема може бути надійно захищена від одного виду атак і бути вразливою по відношенню до інших.

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

Розглянемо інший приклад – шифр простої заміни. Ми вже згадували, що цей шифр є достатньо легким для частотного криптоаналізу. За відомим шифротекстом. Проте даний криптоаналіз все-таки вимагає виконання деякої роботи. Якщо проводити атаку на основі відомого відкритого тексту, то як тільки у відкритому тексті з’являться усі букви, то злом стає

достатньо тривіальною задачею. А при атаці на основі вибраного відкритого тексту, навіть не потрібно чекати щоб зустрілися всі букви, якщо першим повідомленням вислати алфавіт.

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

В криптографії розглядають два підходи до означення стійкості: теоретичну (абсолютну) та практичну (обчислювальну).

7. Теорія Шенона: ентропія, надмірність, відстань єдинності.