Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы криптологии. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
570 Кб
Скачать

Пример: Найти обратную величину для a = 5 при n = 7 :

a1 = 5ϕ (7)1mod7 = 561mod7 = 55mod7 =

= (( 52mod7 ) 2mod7 ×5)mod7 = ( ( 42 ) mod7 ×5)mod7 = ( 2 ×5) mod7 = 3.

Выполним проверку: ( 5×3) mod7 = 1.

3. Использование расширенного алгоритма Евклида: rm = НОД(а, b) = Sm ×a + tm ×b .

Так как а и n взаимно простые

величины, то

НОД(n, a)=1,

с другой стороны (b=n)

 

 

 

1 = (

S ×a + t ×n) mod n = (S ×a)mod n ,

 

т. е. сомножитель S,

полученный

в результате

применения

расширенного алгоритма Евклида, и является обратной величиной a1 к a .

Пример: найти обратную величину a1 к 5 при n = 7 :

7 = 5×1+ 2 Þ 2 = 7 5×1;

5 = 2× 2 + 1.

Обратный ход:

1 = (5 2× 2)mod7 = (5 2(7 5×1)mod7 = (3× 5 2× 7)mod7 = (3× 5)mod7 ;

a1 = 3.

4. АСИММЕТРИЧНЫЕ СИСТЕМЫ ШИФРОВАНИЯ. КРИПТОСИСТЕМА RSA

Первым алгоритмом асимметричного шифрования стал RSA, названный так по первым буквам фамилий его изобретателей Ривеста,

20

Шамира, Эделмана (1978 г.). Этот алгоритм предусматривает наличие двух ключей: открытого ключа k0 для шифрования данных и

секретного ключа kc для их расшифрования. Надежность алгоритма основывается на трудности факторизации (разложения на простые сомножители p, q) большого числа n = p ×q, , т. е. практически невозможно по значению n (500 десятичных знаков) найти p, q. Машинный перебор исчисляется годами машинного времени. С другой стороны, число n легко вычисляется по заданным p, q. В этом случае n называют односторонней функцией. Для обеспечения максимальной безопасности числа p, q выбирают равной длины и хранят в секрете. В основу алгоритма положена теорема Эйлера:

amodϕ (n)n = 1 НОД(a,n) = 1.

Открытый ключ выбирают так, чтобы:

1)1 < k0 < ϕ(n) ;

2)НОД (k0 ,ϕ(n)) = 1,

где ϕ(n) = ( p 1)×(q 1) – функция Эйлера.

Открытый ключ k0 и n – общедоступны. Любой пользователь может зашифровать свое сообщение m:

c = mmodk0 n ,

где с – шифротекст.

Секретный ключ kc является мультипликативной инверсией к открытому ключу k0 :

(kc ×k0 )modϕ (n) = 1.

21

Зная p и q, находим ϕ(n) . Далее, используя расширенный

алгоритм Евклида, находим kc :

 

 

 

 

 

 

 

 

1 = k

0

×k1 + S ×ϕ(n),

откуда

k

c

= k1

 

 

 

 

 

 

 

 

и расшифровываем сообщение:

 

 

 

 

 

 

ckc

 

= ( mk0 )kc

= ( m1S×ϕ (n) )

 

=

 

 

mod n

 

 

mod n

 

 

mod n

 

 

 

 

 

 

 

 

 

 

 

 

= m1mod n ×( mϕ (n)mod n ) S

= m

 

(1)

mod n

= m,

 

 

 

 

 

mod n

mod n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т. к. m < n.

Пример. Буквы русского алфавита пронумерованы от 0 до 32.

А Б В Г Д Е Ё Ж З

И Й

К Л М Н О

П

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

 

Используя криптосистему RSA с n=33 и k0 = 7, зашифровать сообщение «ВЕСНА».

«В»

m1 = 2

c1 = 27mod33 = 29

«Ь»

«Е»

m2

= 5

c2

= 57mod33 = 14

«Н»

«С»

m3

= 18

c3

= 187mod33 = 6

«Ё»

«Н»

m4

= 14

c4

= 147mod33 = 20

«У»

«А»

m5

= 0

c5

= 0

«А»

Криптоанализ: Перехвачен шифротекст «ЬНЁУА».

22

k0 = 7,n = 33 общедоступны. Проводится факторизация числа n:

33:2 – не делится, 33:3=11. Найдены простые сомножители p = 3,q = 11.

По ним вычисляется функция Эйлера:

ϕ(33) = (3 1) ×(111) = 20.

Используя расширенный алгоритм Евклида, находим

мультипликативную

инверсию к

k0

= 7

Она и будет секретным

 

.

ключом.

 

 

 

 

20 = 7× 2 + 6

6 = 20 7× 2

 

 

 

 

1 = 7 6×1 = 7 1× (20 7 × 2) =

 

7 = 6×1+ 1

 

= (3× 7 20×1)mod20 = 3× 7.

 

 

Отсюда kc = 3.

 

 

 

 

Расшифровываем сообщение.

 

 

«Ь»

c1 = 29

m1 = 293mod33 = 2

«В»

«Н»

c2

= 14

m2 = 143mod33 = 5

«Е»

«Ё»

c3

= 6

m3 = 63mod33 = 18

«С»

«У»

c4

= 20

m4 = 203mod33 = 14

«Н»

«А»

c5

= 0

m5 = 0

«А»

Открытый текст «ВЕСНА».

Из приведенного примера следует, что числа p и q должны быть существенно большими, чтобы на их определение методом делимости уходило неограниченно большое машинное время.

23