logo
125 Кібербезпека / 4 Курс / 4

Алгоритм створення відкритого і секретного ключів

RSA-ключі генеруються таким чином:

1. Вибираються два випадкових простих числа p і q заданого розміру (наприклад, 1024 біта кожне).

2. Обчислюється їх добуток n = pq, яке називається модулем.

3. Обчислюється значення функції Ейлера від числа n:

4. Вибирається ціле число e, взаємно просте з значенням функції Ейлера. Звичайно як e беруть прості числа, що містять невелику кількість одиничних бітів в двійковій запису, наприклад, прості числа Ферма 17, 257, або 65 537.

o Число e називається відкритою експонентою (англ. public exponent)

o Час, необхідний для шифрування з використанням швидкого зведення в ступінь, пропорційно числу одиничних біт в e.

o Занадто малі значення e, наприклад 3, потенційно можуть послабити безпеку схеми RSA.

5. Обчислюється число d, мультиплікативно зворотне до числа e по модулю.

o Число d називається секретної експонентою.

o Зазвичай, воно обчислюється за допомогою розширеного алгоритму Евкліда.

6. Пара P = (e, n) публікується в якості відкритого ключа RSA (англ. RSA public key).

7. Пара S = (d, n) відіграє роль секретного ключа RSA (англ. RSA private key) і тримається в секреті.