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

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

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

Рисунок 3 – Загальна схема алгоритму шифрування DES

Шляхом копіювання крайніх елементів вісім 4-бітних блоки перетворюються у вісім 6-бітних блоків (рис. 6). Отриманий блок E(Ri 1 ) має 48 бітів.

 

Рисунок 4 – Матриця

Рисунок 5 – Розбиття Ri 1

на

 

 

зворотної перестановки IP 1

 

вісім блоків

 

 

Крок

2 Блок

E(Ri 1 ) порозрядно

сумують

за модулем 2 з

поточним значенням

ключа

Ki (ki,1 , ki,2 , ki,48 )

,

а потім розбивають на

вісім 6-бітних

блоки B1 , B2 , , B8 ,

тобто

E(Ri 1 ) Ki

B1 B2 B8 .

 

 

 

 

Крок 3 Кожен B j

блок (1 j 8 ) подається на вхід підстановки S-бокс (рис 7). Індекс j

вказує,

який з масивів S-боксу використовувати. Застосувавши операцію вибору до кожного із блоків B j , одержимо 32-бітний потік.

Рисунок 6 – Таблиця розподілення бітів E

31

Відзначимо, що вибір елемента в масиві S j

здійснюється досить оригінальним способом. Нехай

на вхід подається 6-бітний блок

B j

(z j ,1 z j ,2 z j ,3 z j ,4 z j ,5

z j ,6 ) ,

дві

крайні

позиції

(z j ,1 z j ,6 )

інтерпретуються як двійкове подання цілих чисел з набору {0, 1, 2, 3}.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Номер стовпця

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

2

3

 

4

5

6

7

8

 

9

 

10

11

 

12

 

13

14

15

 

 

 

 

 

 

 

 

 

0

14

4

13

1

 

2

15

11

8

3

 

10

 

6

12

 

5

 

9

0

7

 

 

 

 

 

 

 

 

 

1

0

15

7

4

 

14

2

13

1

10

 

6

 

12

11

 

9

 

5

3

8

 

 

 

 

 

 

 

 

 

2

4

1

14

89

 

13

6

2

11

15

 

12

 

9

7

 

3

 

10

5

0

 

 

 

 

 

 

 

 

 

3

15 12

8

2

 

4

9

1

7

5

 

11

 

3

14

 

10 0

6

13

S1

 

 

 

 

 

 

 

 

0

15

1

8

14

 

6

11

3

4

9

 

7

 

2

13

 

12

 

0

5

10

 

 

 

 

 

 

 

 

 

1

3

13

4

7

 

15

2

8

14

12

 

0

 

1

10

 

6

 

9

11

5

 

 

 

 

 

 

 

 

 

2

0

14

7

11

 

10

4

13

1

5

 

8

 

12

6

 

9

 

3

2

15

 

 

 

 

 

 

 

 

 

3

13 8

10 1

 

3

15 4

2

11 6

 

7

12

 

0

 

5

14

9

S2

 

 

 

 

 

 

 

 

0

10

0

9

14

 

6

3

15

5

1

 

13

 

12

7

 

11

 

4

2

8

 

 

 

 

 

 

 

 

 

1

13

7

0

9

 

3

4

6

10

2

 

8

 

5

14

 

12

 

11

15

1

 

 

 

 

 

 

 

 

 

2

13

6

4

9

 

8

15

3

0

11

 

1

 

2

12

 

5

 

10

14

7

 

 

 

 

 

 

 

 

 

3

1

10 13 0

 

6

9

8

7

4

 

15 14

3

11 5

2

12

S3

 

 

 

 

 

 

 

 

0

7

13

14

3

 

0

6

9

10

1

 

2

 

8

5

 

11

 

12

4

15

 

 

 

 

 

 

 

рядка

 

1

13

8

11

5

 

6

15

0

3

4

 

7

 

2

12

 

1

 

10

14

9

 

 

 

 

 

 

 

 

2

10

6

9

0

 

12

11

7

13

15

 

1

 

3

14

 

5

 

2

8

4

 

 

 

 

 

 

 

 

3

3

15 0

6

 

10 1

13 8

9

 

4

 

5

11

 

12 7

2

14

S4

 

 

 

 

 

 

Номер

 

 

 

 

 

 

 

 

 

 

 

 

0

2

12

4

1

 

7

10

11

6

8

 

5

 

3

15

 

13

 

0

14

9

 

 

 

 

 

 

 

 

1

14

11

2

12

 

4

7

13

1

5

 

0

 

15

10

 

3

 

9

8

6

 

 

 

 

 

 

 

 

2

4

2

1

11

 

10

13

7

8

15

 

9

 

12

5

 

6

 

3

0

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

11 8

12 7

 

1

14

2

13

6

 

15 0

9

10 4

5

3

S5

 

 

 

 

 

 

 

 

0

12

1

10

15

 

9

2

6

8

0

 

13

 

3

4

 

14

 

7

5

11

 

 

 

 

 

 

 

 

 

1

10

15

4

2

 

7

12

9

5

6

 

1

 

13

14

 

0

 

11

3

8

 

 

 

 

 

 

 

 

 

2

9

14

15

5

 

2

8

12

3

7

 

0

 

4

10

 

1

 

13

11

6

 

 

 

 

 

 

 

 

 

3

4

3

2

12 9

5

15

10 11

 

14 1

7

6

 

0

8

13

S6

 

 

 

 

 

 

 

 

0

4

11

2

14

 

15

0

8

13

3

 

12

 

9

7

 

5

 

10

6

1

 

 

 

 

 

 

 

 

 

1

13

0

11

7

 

4

9

1

10

14

 

3

 

5

12

 

2

 

15

8

6

 

 

 

 

 

 

 

 

 

2

1

4

11

13

 

12

3

7

14

10

 

15

 

6

8

 

0

 

5

9

2

 

 

 

 

 

 

 

 

 

3

6

11 13

8

 

1

4

10 7

9

 

5

 

0

15

 

14

 

2

3

12

S7

 

 

 

 

 

 

 

 

0

13

2

8

4

 

6

15

11

1

10

 

9

 

3

14

 

5

 

0

12

7

 

 

 

 

 

 

 

 

 

1

1

15

13

8

 

10

3

7

4

12

 

5

 

6

11

 

0

 

14

9

2

 

 

 

 

 

 

 

 

 

2

7

11

4

1

 

9

12

14

2

0

 

6

 

10

13

 

15

 

3

5

8

 

 

 

 

 

 

 

 

 

3

2

1

14 7

 

4

10 8

13 15 12 9

0

3

 

5

6

11

S8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 7 – S-бокс

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ці числа визначають номер

рядка

(від

0

до

3)

масиву

S j .

 

 

Чотири

біти, що залишилися,

(z j ,2 z j ,3 z j ,4 z j ,5 ) інтерпретуються

як

двійкове подання цілих

чисел

з

набору {0, 1, 2,

, 15}

і

використовуються для визначення стовпця (від 0 до 15) у масиві

S j .

 

 

 

 

 

 

 

 

 

Таким чином, вхідний блок, наприклад,

B2 (100110) ,

 

відповідає

десятковому

числу

9,

розміщеному в другому рядку та в третьому стовпці масиву S2

, Число 9 у двійковому поданні являє

собою 4-бітний блок (1001).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У результаті застосувавши до кожного з

блоків

B j

( 1 j 8 )

операцію

вибору в

S-боксі,

одержимо 32-бітний блок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1(B1)S2 (B2 )S3 (B3 ) S8 (B8 ) .

 

 

 

 

 

 

 

 

 

Крок 4 Отриманий блок S1(B1)S2 (B2 )S3 (B3 ) S8 (B8 ) перетворюється

за допомогою

матриці

перестановки P (рис. 8).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 8 – Матриця перестановки P

Таким чином,

f (Ri 1 , Ki ) P(S1 (B1 )S2 (B2 )S3 (B3 ) S8 (B8 )) .

32

Обчислення значень ключів

Ще раз відзначимо, що на кожній ітерації використовується нове значення ключа Ki (ki,1 , ki,2 , ki,48 ) , яке обчислюється із початкового значення ключа K . Ключ K – 64-бітний блок з

вісьмома бітами контролю парності, що розміщені в позиціях 8, 16, 24, 32, 40, 48, 56, 64.

Для видалення контрольних бітів і підготовки ключа до роботи використовується матриця PC 1 (рис. 9).

Рисунок 9 – Матриця попередньої підготовки ключа PC 1

Результат перетворення

PC 1(K )

розбивається на дві половини C0

та D0

по 28 бітів кожна.

Після цього блоки C0 та D0

на кожній ітерації послідовно зміщуються

вліво.

Нехай Ci та Di

позначають значення, які отримані в результаті i-ї операції:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ci LSi (Ci 1 ),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Di LSi (Di 1 ),

 

 

 

 

 

 

 

де LSi i-й елемент матриці здвигу LS (рис. 10).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

і

1

 

2

3

4

5

6

7

8

9

10

11

 

12

13

14

15

 

16

 

 

 

LSi

1

1

2

2

2

2

2

2

1

2

2

2

2

2

2

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 10 – Матриця здвигу LS для обчислення ключа

 

Отримане значення Ci Di

знову “перемішується” у відповідності до матриці PC 2 (рис. 11).

Рисунок 11 – Матриця кінцевої обробки ключа PC 2 Схема алгоритму обчислення ключа наведена на рисунку 12.

33

Рисунок 12 – Схема алгоритму генерації ключа Відзначимо, що відновлення вихідного тексту виконується за допомогою такої самої

послідовності дій, що й при шифруванні, але (!) спочатку використовують ключ K15 , K14 і т.д.

Аналіз ефективності алгоритму DES

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

Однак даний алгоритм має ряд недоліків. За час, що пройшов після створення DES, комп'ютерна техніка розвинулася настільки швидко, що виявилося можливим здійснювати вичерпний перебір ключів і тим самим розкривати шифр. Вартість цієї атаки постійно знижується. В 1998 р. була побудована машина вартістю близько 100 тис. доларів, здатна по даній парі (вихідний текст, шифрований текст) відновити ключ за середній час 3 доби. Таким чином, при стандартному використанні алгоритм DES став далеко не оптимальним вибором для задоволення вимогам таємності даних.

Була висунута велика кількість пропозицій по вдосконаленню алгоритму DES, які частково компенсують зазначені недоліки.

Задачі

1.Порівняйте таблицю початкової перестановки IP (рис. 2 ) з матрицею попередньою перестановкою ключа PC-1 (рис. 9 ). Чи подібні структури цих перестановок? Якщо так, то в чому полягає їх подібність? Яки висновки можна зробити з цього аналізу?

2.Реалізувати алгоритм генерації ключів для алгоритму DES.

3. Виконати шифрування довільного тексту, довжина якого не менша 16 символів, а потім розшифрувати одержану криптограму, виконуючи програмну реалізацію алгоритму DES.

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

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

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

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

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

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

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

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

34

Асиметричні криптосистеми

План

1 Концепція криптосистеми з відкритим ключем

2 Односпрямовані функції

3 Криптосистема шифрування даних RSA

4 Схема шифрування Поліга - Хеллмана

5 Алгоритм шифрування Ель Гамаля

6 Схема шифрування Рабіна

35

1 Концепція криптосистеми з відкритим ключем

Ефективними системами криптографічного захисту даних є асиметричні криптосистеми, які називають також криптосистемами з відкритим ключем. У

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

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

Узагальнена схема криптосистеми з відкритим ключем показана на рисунку 1. В цій криптосистемі застосовують два різних ключі: K A – відкритий ключ

відправника A; K B – таємний ключ одержувача В.

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

залежать від початкового стану генератора ключів.

Розкриття таємного ключа K B за значенням відомого відкритого ключа K A

повинно бути обчислювально нерозв’язаною задачею.

 

Рисунок 1 – Узагальнена схема асиметричної криптосистеми

 

Характерні риси асиметричних криптосистем:

 

 

 

1

Відкритий ключ K A і криптограма C

можуть бути відправлені

по

незахищених каналах, тобто зловмиснику відомі значення K A та C.

 

 

2

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

: M C ) і

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

: C M

є

 

 

A

 

B

 

відкритими.

Захист інформації в асиметричній криптосистемі засновано на таємності ключа

K B .

У.Діффі та М.Хеллман сформулювали вимоги, які забезпечують безпеку асиметричної криптосистеми:

1 Обчислення пари ключів ( K A , K B ) одержувачем B на основі початкової

умови повинно бути простим.

2 Відправник A, знаючи відкритий ключ K A і повідомлення М, може легко

обчислити криптограму

C EK

(M ) E A (M ) .

(4.1)

 

A

 

3 Одержувач В, використовуючи таємний ключ K B і криптограму C, може

легко відновити вихідне повідомлення

36

M DK

(C) DB (C) DB [EA (M )] . (4.2)

 

B

4Зловмисник, знаючи відкритий ключ K A , при спробі обчислити таємний ключ K B натрапляє на непереборну обчислювальну проблему.

5Зловмисник, знаючи пари ( K A , C), при спробі обчислити вихідне

повідомлення M натрапляє на непереборну обчислювальну проблему.

2 Односпрямовані функції

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

Нехай Х і Y – деякі довільні множини. Функція f : X Y є односпрямованою, якщо для всіх x X можна легко обчислити функцію y f (x), y Y , але для більшості y Y досить складно одержати значення x X , таке, що f (x) y (при цьому вважають, що існує принаймні одне таке значення x ).

Основним критерієм віднесення функції f до класу односпрямованих функцій є

відсутність ефективних алгоритмів зворотного перетворення Y X .

Як приклад односпрямованої функції розглянемо множення цілих чисел. Пряма задача – обчислення добутку двох дуже великих цілих чисел P й Q , тобто

знаходження значення

N P * Q

(4.3)

є простою задачею для ЕОМ.

Зворотна задача – розкладання на множники великого цілого числа, тобто знаходження дільників P і Q великого цілого числа N P * Q , є практично

нерозв’язною задачею при досить великих значеннях N .

За сучасними оцінками теорії чисел при цілому N 2664 й P Q для розкладання числа N буде потрібно близько 1023 операцій, тобто задача практично

нерозв’язна.

 

 

Наступний характерний приклад односпрямованої функції – це модульна

експонента з фіксованими підставою й модулем. Нехай A й N цілі числа, такі,

що 1 A N . Визначимо множину Z N

Z N 0, 1, 2, N 1 .

Тоді модульна експонента з основою A за модулем N являє собою функцію

f A, N : Z N Z N

f

A,N

(x) Ax (mod N) ,

 

 

де x – ціле число, 1 x N 1.

Існують ефективні алгоритми, що дозволяють досить швидко обчислити значення функції f A, N (x) .

Якщо y Ax , то, природно, x log A ( y) .

Тому, задачу обернення функції f A, N (x) називають задачею знаходження

дискретного логарифма або задачею дискретного логарифмування.

Задача дискретного логарифмування формулюється в такий спосіб. Для відомих цілих A, N , y знайти ціле число x , таке, що

Ax (mod N) y .

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

37

За сучасними оцінками теорії чисел при досить великих цілих числах A 2664 й N 2664 рішення задачі дискретного логарифмування (знаходження показника ступеня x для відомого y ) потребує близько 1026 операцій, тобто ця задача має в

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

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

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

Функція f : X Y належить до класу односпрямованих функцій з "потаємним

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

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

3 Криптосистема шифрування даних RSA

Алгоритм RSA запропонували в 1978 р. Р.Райвест (Rivest), А.Шамір (Shamir) і А.Адлеман (Adleman). Алгоритм одержав свою назву від перших букв прізвищ його авторів. Алгоритм RSA став першим повноцінним алгоритмом з відкритим ключем, що може працювати як у режимі шифрування даних, так і у режимі електронного цифрового підпису.

Надійність алгоритму ґрунтується на труднощі факторизації великих чисел і труднощі обчислення дискретних логарифмів.

У криптосистемі RSA розглядають: відкритий ключ K A ; таємний ключ K B ;

повідомлення M й криптограма C належать множині цілих чисел

Z N 0, 1, 2, N 1 ,

(4.4)

де N - модуль

 

N P * Q .

(4.5)

Тут P й Q – випадкові великі прості числа. Для забезпечення максимальної безпеки вибирають P і Q однакової довжини й зберігають у секреті. Множина Z N з операціями додавання та множення за модулем N утворює

арифметику за модулем N .

Відкритий ключ K A вибирають випадково так, щоб виконувалися умови:

1 K A (N),

(4.6)

НОД (K A , (N)) 1,

(4.7)

де (N ) – функція Ейлера.

 

Функція Ейлера (N ) вказує кількість додатних цілих чисел в інтервалі від 1

до N , які взаємно прості з N

 

(N ) (P 1)(Q 1) .

 

Умова (3.7) означає, що відкритий ключ K A

і функція Ейлера (N ) повинні бути

взаємно простими.

 

38

Далі, використовуючи розширений алгоритм Евкліда, обчислюють таємний ключ K B , такий, що

KB * K A 1mod (N)

(4.8)

або

 

 

 

K

B

K 1 mod( P 1)(Q 1)

.

 

A

Це можна здійснити, тому що одержувач B знає пару простих чисел P, Q і може

легко знайти (N ) . Помітимо, що K B й N повинні бути взаємно простими. Відкритий ключ K A використовують для шифрування даних, а таємний ключ K B

для розшифрування.

Процес зашифрування визначає криптограму C через пару ( K A , М) у відповідності

до формули (4.9).

 

 

C E

K

(M ) E

A

(M ) M K A mod N

(4.9)

 

 

 

A

 

 

 

 

 

 

 

 

 

 

 

Обернення функції C M K A mod N , тобто

визначення значення M за відомим значенням

C, K

A

, N практично не здійсненне при N2512.

 

 

 

 

 

 

 

 

Однак обернену задачу, тобто задачу розшифрування криптограми C, можна вирішити, використовуючи пару ( K B , C ) за формулою (4.10).

M D

(C) D (C) C KB mod N . (4.10)

KB

B

Процес розшифрування можна записати так:

DB (EA (M )) M

(4.11)

Підставляючи в (4.11) значення (4.9) і (4.10), одержуємо:

(M K A )KB M mod N

 

або

 

M K A KB M mod N .

(4.12)

Відповідно до теореми Ейлера, яка стверджує, що якщо НСД x, N 1 , то

x ( N ) 1mod N

 

або

 

x n* ( N ) 1 x mod N .

(4.13)

Порівнюючи вираження (4.12) і (4.13), одержуємо

K A * KB n * (N) 1

або, що те саме,

K A * KB 1mod (N) .

Саме тому для обчислення таємного ключа K B використовують співвідношення

(4.8).

Таким чином, якщо криптограму

C M K A mod N

піднести до степеня K B , то в результаті відновлюється вихідний відкритий текст

М, тому що

(M K A )KB M K AKB M n* ( N ) 1 M mod N .

Отже, одержувач B, що створює криптосистему, захищає два параметри: таємний ключ K B і пару чисел P, Q , добуток яких дає значення модуля N. З

іншого боку, одержувач B відкриває значення модуля N і відкритий ключ K A . Зловмиснику відомі лише значення K A та N. Якби він зміг розкласти число N на множники P й Q, то він довідався б "потаємний хід" – трійку чисел {P,Q, K A} , обчислив значення функції Ейлера (N ) та визначив значення таємного ключа

K B .

39

Однак, як було відзначено раніше, розкладання дуже великого числа N на множники не здійсненно обчислювальними методами (за умови, що довжини обраних Р и Q становлять не менше 100 десяткових знаків).

Процедури шифрування та розшифрування в криптосистемі RSA

Припустимо, що користувач A хоче передати користувачеві B повідомлення в зашифрованому вигляді, використовуючи криптосистему RSA. У такому випадку користувач A є в ролі відправника повідомлення, а користувач B – у ролі одержувача. Як відзначалося вище, криптосистему RSA повинен сформувати одержувач повідомлення, тобто користувач В. Розглянемо послідовність дій користувача В і користувача A.

1Користувач B вибирає два довільних великих простих числа P й Q.

2Користувач B обчислює значення модуля N згідно з (4.5).

3Користувач B обчислює функцію Ейлера (N ) й вибирає значення відкритого ключа K A з урахуванням виконання умов (4.6) і (4.7).

4Користувач B обчислює значення таємного ключа K B за формулою (4.8), використовуючи розширений алгоритм Евкліда.

5Користувач B пересилає незахищеним каналом користувачу A пару чисел (N, K A ).

Якщо користувач A має бажання передати користувачу B повідомлення М, він виконує такі

кроки.

6.Користувач A розбиває вихідний відкритий текст М на блоки, кожний з яких може бути поданий у вигляді числа M i , 0 M i N 1.

7.Користувач A шифрує текст, поданий у вигляді послідовності чисел М, за формулою

Ci M iK A mod N

і відправляє користувачеві В криптограму

C1 , C2 , C3 , ,Ci , .

8.Користувач B розшифровує прийняту криптограму C1 , C2 , C3 , ,Ci , , використовуючи таємний ключ K B , за формулою

M i CikB mod N .

40

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