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

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

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

Прикладна криптологія

1. Математична модель криптосистеми. Класифікація криптографічних методів. Сфери застосування.

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

Сучасна криптографія включає в себе чотири основних напрями:

1.Симетричні криптосистеми.

2.Криптосистеми с відкритим ключем.

3.Системи електронного підпису.

4.Управління ключами.

Сфера інтересів криптоаналізу – дослідження можливості розшифрування інформації без знання ключів.

Розглянемо спершу основні поняття криптографії.

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

В якості інформації будемо розглядати змістовні тексти, побудовані на деякому алфавіті. Під цими термінами розуміють наступне:

Відкритий текст (повідомлення) – текст (впорядкований набір із елементів алфавіту), який підлягає шифруванню (ВТ)

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

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

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

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

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

Тип атаки

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

Атака на основі відомого

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

шифротексту (Ciphertext Only)

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

Атака

на

основі

відомого

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

відкритого

тексту

(Known

Одна або декілька пар ВТ-ШТ, згенерованих з

Plaintext)

 

 

допомогою секретного ключа

Атака

на

основі

адаптивно

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

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

Зловмисник має можливість уточнювати вибір

 

 

 

 

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

 

 

 

 

результатів

Атака

на

основі

підібраного

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

відкритого

тексту

(Chosen

Одна або декілька пар ВТ-ШТ, згенерованих з

Plaintext)

 

 

допомогою секретного ключа, причому криптоаналітик

 

 

 

 

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

Атака

на

основі

підібраного

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

шифротексту (Chosen Ciphertext)

Вибраний криптоаналітиком ШТ та відповідний йому

 

 

 

 

ВТ. Зловмисник має засіб розшифрування з введеним

 

 

 

 

ключем, який йому невідомий

Атака

на

основі

підібраного

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

ключа

 

 

 

якщо між ними існує певний зв’язок

Грабіжницький «аналіз»

Ключі отримують на основі використання агентури,

 

 

 

 

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

Сфери застосування криптографії До 70-х років минулого століття криптографія використовувалась виключно з метою

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

web трафік: HTTP/HTTPS (SSL/TLS);

wireless трафік: протоколи WEP (IEEE 802.11, 1997), WPA (2003), WPA2

(IEEE 802.11i , 2004);

Мобільний трафік: GSM;

Bluetooth;

автентифікація користувача;

хешування паролів

безпечні транзакції кредитною карткою в мережі Інтернет

встановлення секретних паролів

цифрові підписи;

анонімне онлайн спілкування;

анонімна цифрова готівка;

вибори та багато-багато інших.

2.Історичні шифри перестановки (Скітали, маршрутні та інші)

I. Шифри типу «Перестановки»

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

1. Скітала (Scytale) : давньогрецька «палочка – шифрувалочка». Існує припущення, що ще в V- VII ст. до н.е. в Греції і Стародавній Спарті греки

застосовували спеціальний шифрувальний пристрій для зв’язку під час військових компаній. Цей пристрій складався з двох циліндричних дерев’яних палок однакової довжини та товщини: одну палку залишали собі, іншу передавали союзнику. Такі палки називали «скіталами». На рис. 1 зображено скіталу, яка датована, якщо вірити працівникам музею Сен-Сір, де виставлена така річ, близько 5 ст.до н.е.

Шифрування. Якщо правителю чи воєначальнику необхідно було передати якесь секретне повідомлення, то вони вирізали довгу і вузьку (на зразок ременя) смужку папіруса,

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

Секретний ключ: Ø діаметр палки.

Дешифрування. Зміст такого гаджету в тому, що прочитати його міг лиш власник скітали аналогічного розміру, намотавши на неї без щілин смужку отриманого папірусу: тоді букви розташовувалися в потрібному порядку і зміст написаного ставав зрозумілим. Пристрій був простим і практичним у використанні на полі бою, але надійним його назвати важко.

Метод криптоаналізу. Згідно з легендою, цей «шифр» зумів розгадати ще Арістотель. Для «злому» скітали необхідно взяти довгий конус, намотати на нього стрічку з текстом і поступово переміщувати вздовж конуса до вершини до тих пір поки текст не стане читабельним. Таким чином можна визначити діаметр скітали.

З плином часу в Греції винаходили все більше і більше різних методів передачі секретних повідомлень. Один грецький письменник Еней Тактик вважав це питання настільки важливим, що описав 16 різних способів передачі секретних депеш і шифрованих повідомлень в своїй книзі « Як пережити облогу» («How to survive under siege») IVст. до н.е. Деякі з методів стали реальними довгожителями і використовувались ще в часи другої світової війни

2.Шифр простої перестановки (анаграма – anagram)

Шифрування. Нехай задано деякий відкритий текст: = 1 2 3 , що складається з r символів. Для шифрування даного тексту методом простої перестановки використовується ключ, який є таблицею, що задає правило перестановки. Перша стрічка – позиція символу у відкритому тексті, друга стрічка – позиція в шифрограмі.

1

2

3

 

Секретний ключ: = ( 1

2

3

)

Простір ключів: | | = ! - росте експоненційно відносно розміру r.

6! = 720 ≈ 210 { 7! = 5040 ≈ 213

10! = 3,6 106 ≈ 222

Дешифрування. Для дешифрування необхідно побудувати на основі ключа k обернену ключ-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

таблицю −1 = ( 1

2

3

). Тут перша стрічка відповідає позиції символу в

1

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шифротексті , а друга – позиція у відкритому тексті.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шифрування: ВТ : m=”dormitory”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

3

 

4

 

5

6

 

 

7

 

8

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

o

 

 

r

 

m

 

i

t

 

 

o

 

r

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K = (1 2 3 4 5 6 7 8 9)

 

 

 

 

 

 

 

1

 

8

 

3

9

2

 

4

7

 

6

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

2

 

3

 

4

 

5

 

6

 

 

7

 

8

 

9

 

 

 

 

 

ШТ: с=”dirtyroom”

 

 

 

 

d

 

 

i

 

r

 

 

t

 

 

y

 

 

r

 

 

 

o

 

 

o

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−1 = (1 8 3 9 2 4 7 6 5)

 

 

 

 

 

 

 

 

 

1

 

 

2

 

3 4

 

 

5

 

6 7

8

 

9

 

 

 

 

 

 

 

 

 

 

1

 

2

 

3

 

4

 

 

5

 

 

6

 

 

7

 

 

8

 

 

9

 

 

 

 

 

 

 

 

 

 

d

 

o

 

 

r

 

 

m

 

 

i

 

t

 

 

o

 

 

r

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m=”dormitory”

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

Тому, якщо r >12, то використовують наступний підхід: розбивають текст на блоки однакової довжини і застосовують до кожного такого блоку фіксовану перестановку з l- елементів.

Приклад

ВТ: m=”cryptography”, нехай l=4 і секретний ключ

K=(1

2

3 4)

1

3

4 2

M= сryp│togr│aphy

C= cypr│tgro│ahyp

 

ШТ: с=”cyprtgroahyp”

 

 

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

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

3.Маршрутні шрифти (Route).

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

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

Шифр простої табличної перестановки

(Columnar transposition or row-column transpose)

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

Приклад

ВТ: m = “We are the champions”

 

W

E

 

_

A

R

 

 

 

 

 

 

 

 

ВТ

E

_

 

T

H

E

 

 

 

 

 

 

 

_

C

 

H

A

M

 

 

 

 

 

 

 

 

 

 

 

P

I

 

O

N

S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ШТ

 

 

 

 

 

 

 

 

 

 

ШТ: с= “WE_PE_CI_THOAHANREMS”

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

В складнішому випадку (Double transposition) встановлюється довільна нумерація стовпців і шифрограма виписується по стовпцях у відповідності з нумерацією.

Приклад

ВТ: m = “We are the champions”

2

1

4

5

3

 

 

 

 

 

W

E

_

A

R

 

 

 

 

 

E

_

T

H

E

 

 

 

 

 

_

C

H

A

M

 

 

 

 

 

P

I

O

N

S

 

 

 

 

 

ШТ: с= “E_CIWE_PREMS_THOAHAN”

В цьому випадку ключем є розмір таблиці і визначений порядок стовпців. Щоб приховати розмір таблиці, можна додавати будь-які букви в кінці.

Ускладнена таблична перестановка(Myszkowski transposition)

Більш зручним для використання є метод смислової перестановки , в якому стовпці чи\та рядки переставляються за ключовим словом. На практиці літери ключового слова впорядковують за алфавітним порядком.

Приклад

ВТ: m = “We are the champions”

 

 

2

1

3

5

4

 

 

l

e

m

o

n

 

 

 

 

 

 

 

3

l

_

C

H

A

M

 

 

 

 

 

 

 

2

i

E

_

T

H

E

 

 

 

 

 

 

 

4

m

P

I

O

N

S

 

 

 

 

 

 

 

1

e

W

E

_

A

R

 

 

 

 

 

 

 

ШТ: c= “C_IE_EPWHTO_MESRAHNA”

Магічні квадрати

Магічними квадратами називаються квадратні таблиці розміром nxn з вписаними послідовними натуральними числами від 1 до 2, які в сумі по кожному стовпцю, кожній стрічці та кожній діагоналі дають одне і теж число.

Квадрат 3х3

4

9

2

 

 

 

3

5

7

 

 

 

8

1

6

 

 

 

∑ = 34

Шифрування. Шифрування за магічним квадратом відбувається наступним Символи відкритого тексту послідовно

 

∑ = 15

 

 

 

Квадрат 4х4

 

 

 

 

 

16

 

3

2

13

 

 

 

 

 

 

 

 

 

5

 

10

11

8

 

 

 

 

 

 

 

 

 

9

 

6

7

12

 

 

 

 

 

 

 

 

 

4

 

15

14

1

чином.

 

 

 

 

 

 

 

 

 

 

 

 

 

вписуються в квадрат згідно записаних в них числам: позиція символу в тексті відповідає порядковому числу. В пусті клітинки ставиться крапка або будь-яка буква. Після чого шифрограма записується по порядку.

Ключ: магічний квадрат.

Приклад.

ВТ: m= “We are cool”

Використаємо вище наведений магічний квадрат розміром 4х4

O

_

E

.

 

 

 

 

R

O

L

C

 

 

 

 

O

E

_

A

 

 

 

 

A

E

E

W

 

 

 

 

ШТ: O_Е.ROLCOE_AAEEW

Простір ключів. Кількість магічних квадратів росте зі збільшенням їх розміру. Так при n=3 існує лише один магічний квадрат (без врахування його повороту), кількість магічних квадратів розміром 4х4 рівна 880, а вже для n=5 кількість квадратів дорівнює 250000. Тому магічні квадрати були хорошою основою для надійної системи шифрування того часу, тому що ручний перебір варіантів ключа був майже неможливим.

Решітка Кардано (Cardan grille)

Джероламо Кардано (1501-1576рр.) був автором геніального на той час винаходу – шифрування по трафарету (решітці).

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

Один з варіантів решітки Кардано – це квадратна решітка, яку можна застосовувати декілька раз обертаючи відносно центру. В більш складній формі ця решітка з’явилась в кінці XIXст., але до того часу зв’язок з Кардано залишився тільки в назві. Поворотна решітка Кардано дозволяє записати текст масивом символів так, що результат буде цілком нечитабельним. Зробити таку решітку Кардано досить просто. Для прикладу, якщо потрібно зашифрувати текст розміром до 64 символів, то необхідно взяти квадратний лист паперу, розграфити його на 64 клітинки (8х8). Далі необхідно розділити даний квадрат на 4 рівних частини (по 16 клітинок в кожній) двома перпендикулярами по черзі. Потім заповнити кожну з чотирьох зон номерами клітинок , нумерацію клітинок слід починати почергово з кожного кута і вести її щоразу за годинниковою стрілкою.

Потім необхідно закреслити в довільному порядку числа від 1 до 16 в різних частинах решітки так, щоб числа не повторювались. Закреслені числа – це клітинки, які необхідно вирізати. Приклад решітки наведено на рисунку 3.

Шифрування. Необхідно приставити готову решітку до листка і вписати текст, потім повернути на 90 градусів і знову вписати і так ще двічі.

Простір ключів

У випадку квадратної решітки розміром nхn

2

| | = 2 2

Тобто для таблиці 8х8 (до 64 символів) | | = 232

У випадку прямокутної решітки розміром mхn:

n m 2

|К| = 2

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

Для = 2 така решітка єдина, але для = 8 можна зробити більше 232

різних решіток.

 

 

 

 

 

 

Кількість

 

 

Простір ключів

 

символів

Усклад. табличних

Решітка

 

Звичайна перестановка

повідомлення

перестановка

Кардано

 

 

36

6! 6! ≈ 5 105

≈ 216

49 = 3 105

 

36!≈4*1041 ≈ 2140

64

8! 8! ≈ 2 109

≈ 230

416 ≈ 4 109

 

64! ≈ 1089 ≈ 2300

 

5! 13! ≈ 7 104 ≈ 213

 

 

 

 

 

100

10! 10! ≈ 1013

≈ 244

425 ≈ 1015

 

100! ≈ 10525

3. Моноалфавітні шифри заміни. Частотний аналіз

Моноалфавітні шифри при шифруванні тексту кожний i-ий символ тексту замінюють на деякий фіксований j-ий

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

1.Квадрат Полібія (Polybius square)

Один з найдавніших простих шифрів заміни приписують грецькому громадському історику Полібію (ІІІ-II ст. до н.е.). В 168 році до н.е. після завоювання римськими легіонами Македонії, Полібія перевезли до Риму, де він і провів решту свого життя. В одній із своїх робіт Полібій описав оригінальну систему шифрування з використанням таблиці у формі квадрату, розбитого на 25 комірок. В оригіналі це була квадратна таблиця розміром 5х5, заповнена літерами грецького алфавіту у випадковому порядку.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

3

 

4

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

α

 

β

 

γ

 

δ

 

ε

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

ζ

 

η

 

θ

 

ι

 

κ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

λ

 

μ

 

ν

 

ξ

 

ο

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

π

 

ρ

 

ς

 

σ

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

υ

 

φ

 

χ

 

ψ

 

ω

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для англійського алфавіту таблиця може мати вигляд

 

1

2

3

4

5

1

A

B

C

D

E

2

F

G

H

I/J

K

3

L

M

N

O

P

4

Q

R

S

T

U

5

V

W

X

Y

Z

 

 

 

 

 

 

Число літер в українській абетці відрізняється від числа букв у грецькому алфавіті, тому розмір таблиці вибрано інший (квадрат 6*6=36, оскільки 36 найбільш близьке число до 33). Для українського алфавіту квадрат може мати наступний вигляд:

 

1

2

3

4

5

6

1

А

Б

В

Г

Ґ

Д

2

Е

Є Ж

З

И

І

3

Ї

Й К

Л М Н

4

О П Р С Т У

5

Ф Х Ц Ч Ш Щ

6

Ь Ю Я

.

,

 

 

 

 

 

 

 

Можливий також інший варіант складання, що передбачає об'єднання букв Г і Ґ, И і Й, І і Ї. В даному випадку отримуємо наступну таблицю:

 

1

2

3

4

5

6

1

А

Б

В

Г/Ґ

Д

Е

2

Є Ж З И/Й І/Ї К

3

Л

М

Н

О

П

Р

4

С

Т

У

Ф

Х

Ц

5

Ч

Ш Щ

Ь

Ю

Я

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

В літературі описано декілька варіантів його шифру «Квадрат Полібія».

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

Дешифрування. Отримувач секретного повідомлення повинен був володіти аналогічною таблицею (секретний ключ) і при дешифруванні виконати всі наведені вище операції у зворотному порядку

2.Шифр Цезаря (зсуву)

Колекцію найстаріших моноалфавітних криптосистем заміни продовжує найбільш відомий древній шифр - шифр Цезаря, описаний істориком Древнього Рима Гаєм Светонієм. Римський імператор Гай Юлій Цезар (Gaius Julius Caesar 100-44 р.р. до н.е.) використовував шифр власного винаходу для приватного листування. Історик Светоній не наводить фактів дешифрування переписки Цезаря. Сам Цезар все життя використовував один і той самий ключ.

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

Такий метод шифрування можна відобразити шифрувальною таблицею, в якій вказано знаки заміни для кожного знаку криптограми. Використання таблиці очевидне. Отже, шифр Цезаря пов’язаний із використанням первинного алфавіту (для відкритого тексту) і вторинного алфавіту (для криптограми), циклічно зміщеного відносно первинного на три знаки вперед.

Номер

 

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

 

 

повідом-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лення

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак

 

x

y

 

z

 

a

b

 

c

 

 

d

 

e

f

 

 

g

 

h

 

i

 

j

 

k

 

l

m

 

n

 

o

 

p

 

q

 

r

 

s

 

t

 

u

 

 

v

w

 

 

шифроте

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ксту

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Можна також використовувати латинський алфавіт, що містить 26 літер і пробіл, який стоїть

 

 

після букви Z: ABCD EFGH IJKL MNOP QRST UVWX YZ Space

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Загальний випадок шифру Цезаря, що кожна буква відкритого повідомлення замінюється на

 

 

іншу букву того ж алфавіту, шляхом циклічного зсуву на k букв вперед. Величина k

є

 

 

 

ключем цього шифру.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секретний ключ. Для первинного алфавіту деякого обсягу n (0 ≤ j ≤ n-1) ключем є величина

 

 

зсуву {0,2, … , − 1}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Простір ключів

|К| = − 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

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

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і): = ( ) +

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

): = ( ) −

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k – ключ (число, що характеризує величину зсуву)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Криптоаналіз. Простий перебір всіх ключів (фтака "brute force"). Якщо відкрите

 

 

 

повідомлення достатньо довге,

то тільки один текст матиме смисл.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Недоліки моноалфавітної звичайної заміни Цезаря.

Мала кількість можливих ключів (рівна

 

 

обсягу алфавіта).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

Шифр афінної підстановки.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Афінна криптосистема є узагальненням Цезаря.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ШТ, що відповідає даному ВТ позначається: = "

 

… ".

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Секретний ключ – це така пара цілих чисел k = { , }

така що 0≤a, b≤n-1 (n – потужність

 

 

 

алфавіту) причому НСД (a, n)= 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|К| = ( ) , де ( ) - функція Ейлера.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шифрування:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

̅̅̅̅

( ) = ( (

)

+ ) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

̅̅̅̅

(

) = ( ( )

− )

−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

= 1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−1 обернений елемент до в полі , що існує гарантовано завдяки тому, що НСД (a, n)=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Можна знайти з допомогою розширеного алгоритму Евкліда.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер

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

повідом-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лення