Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторна криптографія.doc
Скачиваний:
9
Добавлен:
09.12.2018
Размер:
266.24 Кб
Скачать

Криптографічна система rsa (Rivest-Shamir-Adleman)

Авторами алгоритму RSA, запропонованого в 1977 р., є Р.Рівест (Rivest), А.Шамір (Shamir) і А.Адлеман (Adleman). Надійність алгоритму базується на складності факторизації (розкладення на множники) великих чисел і складності обчислення дискретних алгоритмів (знахождення x при відомих a, b і n із рівняння ax = b (mod n) ).

Алгоритм RSA складається з трьох частин: генерування ключів, шифрування і дешифрування.

  1. Генерування ключів.

Оберемо два великих різних простих числа p і q (Натуральне число називається простим, якщо воно ділиться тільки на себе і на 1.) та знайдемо їх добуток

n = pq .

Обчислимо функцію Ейлера (n) за формулою

(n) = (p-1)(q-1).

Закритий ключ d обираємо з умов

d < (n) і

d взаємно просте з (n),

тобто d і (n) не мають спільних дільників.

Відкритий ключ e обираємо з умов

e < (n) і

de = 1(mod (n)) .

Остання умова означає, що різниця de - 1 повинна ділитись на (n) без залишку. Для визначення числа e слід підібрати таке число k, що

de - 1 = (n)*k .

В алгоритмі RSA

( e, n ) – відкритий ключ,

( d, n ) – секретний ключ.

  1. Шифрування.

Вихідне повідомлення розбивається на блоки Mi однакової довжини. Кожен блок представляється у вигляді великого десяткового числа, менше n , і шифрується окремо. Шифрування блока M (M – десяткове число) здійснюється за наступною формулою

Me = C (mod n) ,

де C – шифрблок, що відповідає блоку відкритого повідомлення M. Шифрблоки з`єднуються в шифрограму.

  1. Дешифрування.

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

Cd = M (mod n) .

Додаток Д. Таблиця простих чисел

1

2

3

5

7

11

13

17

19

23

29

31

37

41

43

47

53

59

61

67

71

73

79

83

89

97

101

103

107

109

113

127

131

137

139

149

151

157

163

167

173

179

181

191

193

197

199

211

223

227

229

233

239

241

251

257

263

269

271

277

281

283

293

307

311

313

317

331

337

347

349

353

359

367

373

379

383

389

397

401

409

419

421

431

433

439

443

449

457

461

463

467

479

487

491

499

503

509

521

523

541

547

557

563

569

571

577

587

593

599