Смекни!
smekni.com

Розробка імовірнісної моделі криптографічних протоколів (стр. 2 из 19)

Шифрувальник

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

Шифруваль

ник

TK

Шифврувальник

TK


Повідомлення Криптограма Повідомлення

Ключ К Ключ К

Мал. 1.1

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

Очевидно, шифрувальник на передавальному кінці виконує деяку функціональну операцію. Якщо М – повідомлення, К – ключ і Е – зашифроване повідомлення, то маємо

Е=¦ (М, К)

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

Е = Тi М.

Відображення Тi, застосоване до повідомлення М, дає криптограму Е. Індекс i відповідає конкретному використовуваному ключу.

Взагалі ми припускатимемо, що є лише кінцеве число можливих ключів, кожному з яких відповідає вірогідність рi. Таким чином, джерело ключів є статистичним процесом, або пристроєм, який вибирає одне з множини відображень Т1, …, Тm з імовірністю р1, …, рm відповідно. Також припускатимемо, що число можливих повідомлень скінчене, і ці повідомлення М1, …, Мn мають апріорну імовірність q1, …, qn. Наприклад, можливими повідомленнями могли б бути всілякі послідовності англійських букв, що включають по N букв кожна, а відповідною імовірністю тоді були б відносні частоти появи таких послідовностей в нормативній англійській мові.

Повинна бути можливість відновлювати М на приймальному кінці, коли відомі Е і К. Тому відображення Тi з нашого сімейства повинна мати єдине зворотне відображення Тi-1, так що Тi Тi-1=I, де I – тотожнє відображення. Таким чином, це зворотне відображення Тi-1 повинне існувати і бути єдиним для кожного Е, яке може бути одержане з М за допомогою ключа i.

1.2. Сучасні основні шифри

За характером використання ключа відомі кріптосистеми можна розподілити на два типи: симетричні (одноключові, з секретним ключем) і несиметричні (з відкритим ключем).

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

Як приклад симетричного алгоритму шифрування розглянемо достатньо стійкий і надійний алгоритм DES (Data Encryption Standard).

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

Як алгоритм з відкритим ключем далі розглянемо один з найбільш поширених шифр RSA (Rivest - Shamir - Adleman). Його надійність знаходиться в прямій залежності від складності розкладання великих чисел на множники. Якщо множники мають довжину близько 100 десяткових цифр, то в найкращому з відомих способів розкладання на множники необхідно близько 100 млн. років машинного часу, шифрування ж і дешифрування вимагає близько 1-2 с на блок.

Опис алгоритму DES.

У криптосистемі DES використовується блоковий принцип шифрування двійкового тексту. Довжина блоку шифрування складає 64 біта. Розмір ключа - також 64 біта. При цьому кожен восьмий біт є службовим і в шифруванні не бере участь. Кожен такий біт є двійковою сумою семи попередніх і служить лише для виявлення помилок при передачі ключа по каналу зв'язку. Процес криптоперетворення містить наступні три основні етапи.

1. Біти початкового повідомлення x піддаються початковій підстановці IP відповідно до табл. 1.1.

Таблиця 1.1

Підстановка IP

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7

Це означає, що 58-й біт стає першими, 50-й - другим і т.д. Потім одержаний вектор x0 = IP(x) представляється у вигляді x0 =L0R0, де L0 – ліва половина з 32 бітів, а R0 – права половина з 32 бітів.

2. Повідомлення L0R0 перетворюється далі 16 разів по так званій схемі Фейстеля:

Li =Ri-1, Ri = Li-1 Å ¦( Ri-1, Ki), i = 1, 2, …, 16,

де функція ¦ і розклад ключів K1, K2, …, K16 будуть описані окремо.

Мал. 1.2 Криптоперетворення Фейстеля

4. Повідомлення L16R16 перемішується підстановкою IP-1:

y = IP-1(L16R16),

де у – зашифроване повідомлення.

Таблиця 1.2

Підстановка IP-1

40

8

48

16

56

24

64

32

39

7

47

15

55

23

63

31

38

6

46

14

54

22

62

30

37

5

45

13

53

21

61

29

36

4

44

12

52

20

60

28

35

3

43

11

51

19

59

27

34

2

42

10

50

18

58

26

33

1

41

9

49

17

57

25

Шифрування здійснюється по схемі, приведеній на мал. 1.3.