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

Опорный конспект

.pdf
Скачиваний:
20
Добавлен:
30.05.2020
Размер:
2.34 Mб
Скачать

Традиційні симетричні криптосистеми

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

План

1 Полібіанський квадрат

2 Система шифрування Цезаря

3 Аффінна система підстановок Цезаря

4 Система Цезаря із ключовим словом

5 Таблиці Трисемуса

6 Біграмний шифр Плейфейра

7 Криптосистема Хілла

8 Система омофонів

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

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

1 Полібіанський квадрат

Одним з перших шифрів простої заміни вважається так званий полібіанський квадрат. За два століття до нашої ери грецький письменник-історик Полібій винайшов для цілей шифрування квадратну таблицю розміром 5 5, заповнену буквами грецького алфавіту у випадковому порядку (рис. 1).

(лямбда)

(ні)

(тета)

(сігма)

(хі)

(ро)

(пі)

(іпсилон)

(альфа)

(йота)

(мі)

(ета)

(дельта)

(фі)

(гама)

(псі)

(ксі)

(бета)

(омега)

(омікрон)

(каппа)

(епсилон)

 

(дзета)

(тау)

Рисунок 1 – Полібіанський квадрат При шифруванні в полібіанському квадраті знаходили букву відкритого тексту та записували в

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

одержимо такий шифротекст

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

2 Система шифрування Цезаря

Шифр Цезаря є окремим випадком шифру простої заміни (одноалфавітної підстановки). Шифр одержав свою назву від імені римського імператора Гая Юлія Цезаря, який використовував цей шифр при листуванні із Цицероном (близько 50 р. до н.е.).

При шифруванні вихідного тексту кожна буква замінялася на іншу букву того самого алфавіту за таким правилом. Буква для підстановки визначалася шляхом зсуву по алфавіту від букви відкритого тексту на K позицій. При досягненні кінця алфавіту виконувався циклічний перехід до його початку. Цезар використав шифр із значенням K=3.

Наприклад, послання Цезаря ALEA JACTA EST («Жереб кинутий») для ключа K=3 у зашифрованому вигляді виглядає так: DOHD MDFWD HVW.

Таким чином, система Цезаря являє собою одноалфавітну підстановку, що шифрує n-грамуx0 , x1 , x2 , , xn 1 відкритого тексту в n-граму y0 , y1 , y2 , , yn 1 шифротексту відповідно до такого правила:

11

 

yi EK (xi ), 0 i n,

 

: j ( j K ) mod m, 0 K m,

EK

де

j – числовий код букви відкритого тексту;

( j K ) mod m – числовий код відповідної букви шифротексту.

Система шифрування Цезаря утворює сімейство одноалфавітних підстановок для обраних значень ключа K , причому 0 K m.

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

підстановки, що виконуються відповідно до системи Цезаря, не маскують частот появи букв вихідного відкритого тексту;

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

число можливих ключів K досить мале і обмежене кількістю букв алфавіту;

шифр Цезаря легко розкривається на основі аналізу частот появи букв у шифротексті.

Криптоаналіз шифру Цезаря

Алгоритм злому шифру Цезаря можна виконати, використовуючи такий алгоритм:

1Визначити частоти символів алфавіту. Занести їх у масив FiA.

2Визначити частоти символів шифротексту. Занести їх у масив FiC:

а) обчислити скільки разів трапляється той або інший символ у шифротексті (занести в масив freq);

б) визначити кількість символів у шифротексті (l);

в) нормувати частоти символів, обчислені в пункті 2(a), результат помістити в масив FiC, тобто

FiC[i] friq[i] . l

3 Знайти таке значення k, при якому сума одноіменних різниць d була б мінімальною: а) обчислити для всіх значень k=0, 1, … , 26 суми різниць

26

 

FiA j FiC m

 

 

d

 

 

, де m ( j k 27) mod 27 ;

 

 

j 0

 

 

б) знайти мінімальну суму різниць d; в) запам'ятати значення k.

4 Розшифрувати шифротекст, використовуючи ключ k.

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

3 Аффінна система підстановок Цезаря

У системі шифрування Цезаря використовувалися тільки адитивні властивості множини цілих

чисел Zm . Однак елементи множини Zm можна також множити за модулем m. Застосовуючи одночасно

операції додавання та множення за модулем m над елементами множини Zm , можна одержати систему

підстановок, яку називають аффінною системою підстановок Цезаря.

Визначимо перетворення в такій системі:

Ea,b : Zm Zm ,Ea,b : t Ea,b t ,

Ea,b t (at b) mod m,

де a,b Zm , 0 a<m, 0 b<m , НСД (a, m) 1.

У такому перетворенні літера, що відповідає числу t, замінюється літерою, що відповідає числовому значенню (at+b) за модулем m.

12

Слід помітити, що перетворення Ea,b t є взаємно однозначним відображенням на множині

Zm тільки в тому випадку, якщо числа а та m є взаємно простими.

Наприклад, візьмемо m = 26 (літери англійського алфавіту), а = 3, b = 5. Видно, НСД (3,26)=1. Отримаємо таку відповідність між числовими кодами букв:

T

0

1

2

3

4

5

6

7

8

9

10

11

12

3t+5

5

8

11

14

17

20

23

0

3

6

9

12

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

13

14

15

16

17

18

19

20

21

22

23

24

25

3t+5

18

21

24

1

4

7

10

13

16

19

22

25

2

Після відображення чисел в літери, отримуємо таку відповідність для літер відкритого тексту та шифротексту:

T

A

B

C

D

E

F

G

H

I

J

K

L

M

3t+5

F

I

L

O

R

U

X

A

D

Q

J

M

P

 

 

 

 

 

 

 

T

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

3t+5

S

V

Y

B

E

H

K

N

Q

T

W

Z

C

Таким чином, вихідне повідомлення FANCIFUL перетвориться в шифротекст UFSLDUNM Перевагою аффінної системи є зручне керування ключами – ключі шифрування та

розшифрування подаються в компактній формі у вигляді пари чисел (а, b). Недоліки аффінної системи аналогічні недолікам системи шифрування Цезаря.

4 Система Цезаря із ключовим словом

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

Виберемо деяке число k, 0k<25, і слово або коротку фразу як ключове слово. Бажано, щоб всі букви ключового слова були різними. Однак ця вимога не є обов'язковою. Можна просто записати ключове слово (або фразу) без повторення однакових букв.

Нехай ключовим словом є слово «DIPLOMACY» і число k = 5.

Ключове слово записується під буквами алфавіту, починаючи з букви, числовий код якої збігається з обраним числом k:

0

 

 

 

 

5

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

25

А

B

C

D

Е

F

G

Н

I

J

К

L

М

N

O

Р

Q

R

S

T

U

V

W

Х

Y

Z

 

 

 

 

 

D

I

P

L

O

M

A

C

Y

 

 

 

 

 

 

 

 

 

 

 

 

Букви, що залишилися, алфавіту підстановки записуються після ключового слова за абеткою:

0

 

 

 

 

5

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

25

А

B

C

D

Е

F

G

Н

I

J

К

L

М

N

0

Р

Q

R

S

T

U

V

W

Х

Y

Z

U

V

W

Х

Z

D

I

P

L

O

M

A

C

Y

B

E

F

G

H

J

K

N

Q

R

S

T

Маючи підстановку для кожної букви довільного повідомлення, легко виконати шифрування. Так вихідне повідомлення CHANGE DETALIES шифрується як WPUYIZ XZJUALZH.

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

5 Таблиці Трисемуса

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

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

13

Розглянемо цей метод шифрування на прикладі. Для українського алфавіту таблиця, що шифрує, може мати розмір 4 8 (32 літери алфавіту). Виберемо як ключ слово “БАНДЕРОЛЬ”. Таблиця для шифрування має вигляд, поданий на рисунку 2.

Б

А

Н

Д

Е

Р

О

Л

Ь

В

Г

Є

Ж

З

И

І

Ї

Й

К

М

П

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ю

Я

Рисунок 2 – Таблиця для шифрування за методом Трисемуса з ключовим словом “БАНДЕРОЛЬ” При шифруванні в таблиці знаходять чергову букву відкритого тексту й записують у шифротекст

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

Наприклад, при шифруванні за допомогою таблиці (рис. 2) повідомлення “МАГІСТРАЛЬ ЗРУЙНОВАНО”, одержимо шифротекст, записаний блоками по п’ять букв

ЧВКУЩ ЮЗВШЇ СЗЯХГ ИЙВГИ.

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

букві.

Криптографічний аналіз системи одноалфавітної заміни

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

6 Біграмний шифр Плейфейра

Шифр Плейфейра (1854 р.), є найбільш відомим біграмним шифром заміни. Він застосовувався Великобританією під час Першої світової війни.

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

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

Процедура шифрування вміщує такі кроки:

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

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

якщо обидві літери біграми відкритого тексту не стоять в одному рядку або стовпці, наприклад, літери А і П (рис. 2), тоді знаходять літери в кутах прямокутника, обумовленого вихідною парою літер. У нашому прикладі це букви АЙПЕ. Пара літер АП відображається в пару ЙЕ. Послідовність літер у біграмі шифротексту повинна бути дзеркально розміщеною щодо послідовності літер у біграмі відкритого тексту;

якщо обидві літери біграми відкритого тексту належать одному стовпцю таблиці, то за літери шифротексту беруть літери, які лежать під ними. Наприклад, біграма НК (рис 2) дає біграму шифротексту ГЦ. Якщо при цьому літера відкритого тексту стоїть в нижньому рядку, то для шифротексту береться відповідна літера з верхнього рядка того самого стовпця. Наприклад, біграма НЦ дає біграму шифротексту ГН;

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

14

правому стовпці, то для шифру беруть відповідну літеру з лівого стовпця у тому самому рядку. Так біграма ЕЛ дає біграму шифротексту РБ).

Виконаємо зашифрування тексту ВСЕ ТАЄМНЕ СТАЄ ЯВНИМ.

Розіб’ємо текст на біграми

ВС ЕТ АЄ МН ЕС ТА ЄЯ ВН ИМ.

Дана послідовність біграм відкритого тексту перетворюється за допомогою таблиці для шифрування (рис. 2) в таку послідовність біграм шифротексту:

ЗЙ ОП ДВ КД РП ЙО ІЧ ГА ЄТ. При розшифруванні застосовується зворотний порядок дій.

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

7 Криптосистема Хілла

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

Ea,b : Zm Zm ,

Ea,b : t Ea,b t ,

Ea,b t at b(mod m)

для визначення n-грам, був сформульований Лестером С. Хіллом.

Множина цілих чисел Zm , для яких визначені операції додавання, віднімання та множення за модулем m, є кільцем.

Множина всіх n-грам x =(x0, x1, x2, …, xn-1) з компонентами кільця Zm утворить векторний

простір Zm,n над кільцем Zm . Кожна n-грама x називається вектором. У векторному просторі Zm,n для

векторів x визначені операції додавання та віднімання за модулем m, а також скалярне множення вектора на елемент t кільця Zm . Додавання і скалярне множення є операціями, що задовольняють комутативний, асоціативний та дистрибутивний закони.

Вектор x є лінійною комбінацією векторів x(i) : 0 i L , якщо

 

 

 

 

 

 

 

 

 

 

(0)

t

 

(1) ... t

 

 

( L 1) ) mod m . (3.1)

 

x (t

0

x

x

L 1

x

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лінійне перетворення T є відображенням

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T : Zm,n Zm,n ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T : x y,

 

 

y T (x) ,

 

(3.2)

яке задовольняє умову лінійності

T (t * x s * y) (t *T (x) s *T ( y)) mod m

для всіх s, t Zm та x, y Zm,n .

Лінійне перетворення T може бути представлене матрицею розміром n n вигляду

 

 

0,0

0,1

 

0, j

 

0,n 1

 

 

 

 

 

 

 

 

 

1,0

1,1

 

1, j

 

1,n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

 

,

(3.3)

i,0

i,1

i, j

i,n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1,0

n 1,1

 

n 1, j

n 1,n 1

 

 

 

причому

 

yi

i,0 x0 i,1 x1 i, j x j

i,n 1 xn 1 (mod m)

 

n 1

 

 

або

yi i, j x j (mod m),

0 i n 1.

 

 

j 0

 

 

15

Базисом для векторного простору Zm,n є набір векторів з x(i) : 0 i L , які лінійно незалежні і породжують Zm . Кожен базис для Zm,n містить n лінійно незалежних векторів. Довільний набір з n

векторів, які лінійно незалежні над Zm,n , є базисом.

Нехай T є лінійним перетворенням, що описується матрицею (3.3), причому

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T : Zm,n Zm,n .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(i) : 0 i L

 

 

 

 

 

 

 

 

, тоді їх образи

 

(

 

(i) ) : 0 i n лінійно

 

 

Якщо вектори

x

лінійно незалежні над Zm,n

T

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

незалежні над

Zm,n тільки в тому випадку, якщо визначник матриці T det(T ) не ділиться на будь-яке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

просте p, що ділить m. У цьому

 

 

випадку перетворення T

називається невиродженим лінійним

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перетворенням, що має зворотне перетворення T 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T 1 : Z

m,n

 

Z

m,n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TT 1 T 1T I ,

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.4)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T 1 також є лінійним перетворенням.

де I - одинична матриця. Крім того,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для розшифрування n-грам

 

y j

 

 

 

шифротексту відновлення n-грам x j відкритого тексту необхідно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

виконати зворотне перетворення

T 1 відповідно до рівняння

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

j

 

* y

j

.

 

 

 

 

 

 

 

 

 

 

(3.5)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад. Виконати шифрування відкритого тексту DETERMINANT.

Маємо алфавіт , що складається із символів латинського алфавіту. Встановимо взаємно

однозначну відповідність між алфавітом і множиною цілих чисел

 

 

 

 

 

 

 

 

 

 

Z26 .

 

 

 

A

B

 

 

C

 

 

D

E

F

G

H

 

 

 

 

I

 

J

 

 

0

1

 

 

2

 

 

3

 

4

 

5

6

 

7

 

 

 

8

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K

L

 

 

M

 

 

N

 

O

 

P

Q

 

R

 

 

 

S

 

T

 

 

10

11

 

 

12

 

 

13

 

14

 

15

16

 

17

 

18

 

 

19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U

V

 

 

W

 

 

X

 

Y

 

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

20

21

 

 

22

 

 

23

 

24

 

25

 

 

 

 

 

 

 

 

 

 

 

 

Розглянемо матрицю

Т=

3

2

. Детермінант

матриці

(T ) =5

і модуль m=26 є взаємно

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

простими числами, отже, матрицю Т можна використати як матрицю перетворення T .

 

 

Виконаємо шифрування відкритого тексту. Розіб’ємо текст на біграми DE | TE | RM | IN | AN | TS і

 

 

 

 

 

 

 

 

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

26

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3, 4) | (19, 4) | (17, 12) | (8, 13) | (0, 13) | (19, 18).

 

 

 

 

 

 

 

 

 

 

 

Щоб одержати шифротекст, перемножуємо матрицю перетворення T на вектор кожної біграми.

3

2

3

17

 

17

 

 

 

 

 

 

 

 

 

 

 

DE:

 

*

 

 

 

mod 26 RA,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

7

4

52

 

 

0

 

 

 

 

 

 

 

 

 

 

 

3

2 19

65

 

13

 

 

 

 

 

 

 

 

 

TE:

 

*

 

 

 

 

 

mod 26 NY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

7

 

4

180

 

24

 

 

 

 

 

 

 

 

 

і так далі.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У результаті отримаємо такі біграми шифротексту:

 

 

 

 

 

 

 

 

 

 

 

 

 

(17, 0) | (13, 24) | (23, 12) | (24, 25) | (0, 13) | (15, 18).

 

 

 

 

 

Звернувшись до встановленої відповідності отримаємо шифротекст RANYXMYZANPS.

Виконаємо розшифрування шифротексту RANYXMYZANPS.

 

 

Очевидно, що матрицею зворотного перетворення є

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T 1 =

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

11

 

 

16

Щоб одержати відкритий текст перемножуємо матрицю перетворення T 1 на вектор кожної біграми шифротексту.

17

10

17

 

289

 

3

 

 

DE,

RA:

 

*

 

 

=

 

 

 

mod 26

 

 

 

0

 

 

238

 

 

 

 

 

14

11

 

 

 

 

4

 

 

 

17

10

13

 

 

461

19

 

 

NY:

 

*

 

 

=

 

 

 

 

mod 26 TE

 

 

 

 

 

 

 

 

 

 

 

 

14

11

 

24

 

446

4

 

 

і так далі.

Виконавши всі перетворення, переконаємося, що з шифротексту RANYXMYZANPS дійсно отримали відкритий текст DETERMINANT.

8 Система омофонів

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

Дані про розподіли ймовірностей літер у російському та англійському текстах наведені в таблицях 1 і 2 додатка A відповідно. Букви в таблицях зазначені в порядку спадання ймовірності появи їх у тексті. Наприклад, російська літера О трапляється у 30 разів частіше, ніж літера Щ, а англійська літера Е – в 123 рази частіше, ніж літера Z.

Шифруючи букву вихідного повідомлення, вибирають випадковим образом одну з її замін. Заміни, які часто називають омофонами, можуть бути представлені трb розрядними числами від 000 до 999. Наприклад, в англійському алфавіті букві Е привласнюються 123 випадкові номери, буквам У и G – по 16 номерів, а буквам J й Z – по 1 номеру. Якщо омофони (заміни) привласнюються випадково різним появам однієї й тієї самої букви, тоді кожен омофон трапляється в шифротексті з однаковою ймовірністю.

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

17

ДОДАТОК А Відомості про розподіл ймовірностей літер в російському та англійському текстах

Таблиця 1

 

 

Таблиця 2

 

Пробіл

0,175

 

Пробіл

 

0,222

О

0,090

 

Е

 

0,123

Е

0,072

 

Т

 

0,096

А

0,062

 

А

 

0,081

И

0,062

 

O

 

0,079

Н

0,053

 

N

 

0,072

Т

0,053

 

I

 

0,071

C

0,045

 

S

 

0,066

Р

0,040

 

R

 

0,060

В

0,038

 

Н

 

0,051

Л

0,035

 

L

 

0,040

K

0,028

 

D

 

0,036

M

0,026

 

С

 

0,032

Д

0,025

 

U

 

0,031

П

0,023

 

Р

 

0,023

У

0,021

 

F

 

0,023

Я

0,018

 

М

 

0,022

Ы

0.016

 

W

 

0,020

3

0,016

 

Y

 

0,019

Ъ

0,014

 

В

 

0,016

Б

0,014

 

G

 

0,016

Г

0,013

 

V

 

0,009

Ч

0,012

 

К

 

0,005

Й

0,010

 

Q

 

0,002

X

0,009

 

X

 

0,002

Ж

0,007

 

J

 

0,001

Ю

0,006

 

Z

 

0,001

Ш

0,006

 

 

 

 

Ц

0,004

 

 

 

 

Щ

0,003

 

 

 

 

Э

0,003

 

 

 

 

Ф

0,002

 

 

 

 

18

Задачі

1.За допомогою афінної системи Цезаря виконати шифрування відкритого тексту M. Як ключ Key обрати одну із наведених пар чисел, обґрунтувати вибір.

М = «СЕЛО! І СЕРЦЕ ОДПОЧИНЕ. СЕЛО НА НАШІЙ УКРАЇНІ – НЕНАЧЕ ПИСАНКА, СЕЛО.

ЗЕЛЕНИМ ГАЄМ ПРОРОСЛО»

Key ={(a=3, b=7), (a=4, b=8), (a=5, b=11)}.

2.Чи можливо зламати шифри, які використовують перестановки, за допомогою частотного аналізу.

3.У криптосистемі Хілла виконати шифрування (зашифрувати та розшифрувати) відкритого тексту М=«ВХІД ЗАБОРОНЕНО», який складено з використанням алфавіту Z. За матрицю перетворення T

вибрати одну з нижченаведених матриць T1 ,T2 , T3 , обґрунтувати вибір.

М= ЛОГІКА”

Z={А, Б, В, Г, Д, Е, Є, Ж, З, І, И, Ї, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ь, Ю, Я, (апостроф), _ (пропуск), .(крапка) }

 

7

1

 

 

4

3

 

 

11

3

 

, T

, T

T

 

 

 

 

 

 

 

 

 

.

1

 

7

 

2

 

6

7

 

3

 

3

1

 

 

 

3

 

 

 

 

 

 

 

 

Список літератури

15Усатенко Т.М. Криптологія: Навчальний посібник. – Суми: Вид-во СумДУ, 2008. – 164 с.

16Шнайдер Брюс. Прикладная криптология. Протоколы, алгоритмы, исходные тексты на языке Си. – М.: Издательство ТРИУМФ, 2002

17Столлингс Вильям. Криптография и защита сетей: принципы и практика /Пер. с англ – М.: Издательский дом «Вильямс», 2001.

18Иванов М.А. Криптографические методы защиты информации в компьютерных системах и сетях. – М.: КУДИЦ-ОБРАЗ, 2001.

19Брассар Ж. Современная криптология / Пер с англ. – М.: Полимед, 1999.

20Жельников В. Криптография от папируса до компьютера. –М.: ABF, 1996.

21Введение в криптографию /Под общей ред. В.В. Ященко. – СПб.: Питер, 2001.

19

Традиційні симетричні криптосистеми

Шифри складної заміни

План

1 Шифр Гронсфельда

2 Система шифрування Віженера

3 Шифр “Подвійний квадрат Уітстона”

4 Одноразова система шифрування

5 Шифрування методом Вернама

6 Роторні машини

7 Шифрування методом гамірування

Шифри складної заміни

Шифри складної заміни називають багатоалфавітними тому, що для шифрування кожного

символа вихідного повідомлення застосовують свій шифр простої заміни.

 

 

Багатоалфавітна підстановка послідовно й циклічно змінює використовувані алфавіти.

 

 

При r-алфавітній підстановці символ

x0 вихідного повідомлення замінюється символом

y0

з

алфавіту B0 , символ x1 – символом

y1

з алфавіту

B1

і т. д.,

символ xr 1 заміняється символом

yr 1

з

алфавіту Br 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Загальна схема багатоалфавітної підстановки для випадку r 4 наведена в таблиці 1.

 

 

 

Таблиця 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вхідний символ:

X0

X1

X2

 

X3

X4

 

X5

X6

X7

X8

X9

 

 

 

 

Алфавіт підстановки:

В0

B1

B2

 

В3

В0

 

B1

B2

В3

В0

B1

 

 

 

Ефект використання багатоалфавітної підстановки полягає в тому, що забезпечується маскування природної статистики вихідної мови, тому що конкретний символ з вихідного алфавіту А може бути перетворений у кілька різних символів шифрувальних алфавітів B j , 0 j r . Ступінь забезпечуваного

захисту теоретично пропорційна довжині періоду r у послідовності використовуваних алфавітів B j .

Багатоалфавітні шифри заміни запропонував та ввів у практику криптографії Ліон Баттіста Альберті, що також був відомим архітектором і теоретиком мистецтва. Його книга «Трактат про шифр», написана в 1566 р., являла собою першу у Европі наукову працю з криптології. Крім шифру багатоалфавітної заміни, Альберті також докладно описав пристрій з обертових колес для його реалізації. Криптологи всього світу вважають Л. Альберті основоположником криптології.

1 Шифр Гронсфельда

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

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

Наприклад, застосовуючи як ключ натуральне число 2718, одержимо для вихідного повідомлення ТАЄМНИЙ КЛЮЧ такий шифротекст:

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

Т

А

Є

М

Н

И

Й

 

К

Л

Ю

Ч

Ключ

2

7

1

8

2

7

1

 

8

2

7

1

Шифротекст

Ф

Є

Ж

Ф

П

Н

Л

 

Т

Н

Е

Ш

Щоб зашифрувати першу букву повідомлення Т, використовуючи першу цифру ключа 2, потрібно відрахувати другу літеру від Т у алфавіті

Т

У

Ф

 

1

2

виходить перша літера шифротексту Ф.

Криптоаналіз шифру Гронсфельда

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

20

Соседние файлы в предмете Защита информации