Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗИвТКС_МУ_ЛР.doc
Скачиваний:
50
Добавлен:
06.02.2016
Размер:
1.16 Mб
Скачать

Лабораторна робота №6 Алгоритм rsa

1. Опис методу шифрування.

1.1 Асиметрична криптосистема RSA. У 1977 р. вчені МІТ Рональд Рівест (Ronald Linn Rivest), Аді Шамір (Adi Shamir) та Леонард Адлеман (Leonard Adleman) запропонували асиметричний алгоритм перетворення цілих чисел в цілі числа. Цей алгоритм отримав назву RSA за першими літерами прізвищ її авторів. В основі алгоритма − задача множення та факторизації простих чисел.

Алгоритм формування відкритого і секретного ключів згідно RSA наведено нижче:

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

  2. випадковим образом обирається таке число , щоівзаємно прості числа, тобто

;

  1. обчислюються числа і, де

і

.

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

. (6.1)

Розшифровка здійснюється у відповідності до формули

. (6.2)

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

Можливі такі два варіанти:

  1. Нехай відкритий ключ, а закритий ключ. Швидко зашифрувати повідомлення може будь-який користувач. Однак здійснити швидку розшифровку можуть лише ті користувачі, яким відомий секретний ключ.

  2. Нехай відкритий ключ, а закритий ключ. Швидко розшифрувати шифротекст може будь-який користувач. Однак здійснити швидке шифрування можуть лише ті користувачі, яким відомий секретний ключ.

Приклад 6.1. Розглянемо роботу алгоритма RSA на прикладі.

1. Обираються два числа і. Ці числа тримаємо в таємниці.

2. Обчислюємо число . Це число може бути відоме всім.

3. Обчислюємо .

4. Обираємо відкритий ключ і. Нехай. Це число може бути відоме всім.

5. Обчислюємо секретний ключ і.

.

6. Зашифруємо текст за допомогою RSA.

.

Розшифруємо :

.

2. Завдання на проведення лабораторної роботи.

2.1. Зашифрувати і розшифрувати тексти івідповідно за допомогою алгоритма RSA. Варіанти завдань, а також числаінаведені в таблиці 6.1. Відкритий ключдля шифрування обрати самостійно.

Таблиця 6.1 − Варіанти завдань

№ варіанта

відкритий текст

шифротекст

1

13

73

24

42

2

13

71

25

52

3

13

67

26

62

4

13

61

27

72

5

17

61

28

82

6

17

59

34

43

7

17

53

35

53

8

17

47

36

63

9

19

53

37

73

10

19

47

38

83

11

19

43

45

54

12

19

41

46

64

13

23

41

47

74

14

23

37

48

84

15

23

31

56

65

16

23

29

57

75

17

29

31

58

85

18

29

37

67

76

19

29

43

68

86

20

29

47

78

87