ΠΠ΅ΡΠ²ΡΠΌ ΡΡΠ°ΠΏΠΎΠΌ Π»ΡΠ±ΠΎΠ³ΠΎ Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ: ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΊΡΡΡΠΎΠ³ΠΎ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° «ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ». ΠΠ»Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° RSA ΡΡΠ°ΠΏ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ :
ΠΡΠ±ΠΈΡΠ°ΡΡΡΡ Π΄Π²Π° ΠΏΡΠΎΡΡΡΡ
(!) ΡΠΈΡΠ»Π° p ΠΈ q.
ΠΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΈΡ
ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ n (=p*q).
ΠΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ e (e.
ΠΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΠ²ΠΊΠ»ΠΈΠ΄Π° ΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ»Π°Ρ
(!) ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ e*d+(p-1)(q-1)*y=1. ΠΠ΄Π΅ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ d ΠΈ y — ΠΌΠ΅ΡΠΎΠ΄ ΠΠ²ΠΊΠ»ΠΈΠ΄Π° ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ°Ρ (d, y), ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π² ΡΠ΅Π»ΡΡ
ΡΠΈΡΠ»Π°Ρ
. ΠΠ²Π° ΡΠΈΡΠ»Π° (e, n) — ΠΏΡΠ±Π»ΠΈΠΊΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ.
Π§ΠΈΡΠ»ΠΎ d Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ΡΡΡΠΎΠΆΠ°ΠΉΡΠ΅ΠΌ ΡΠ΅ΠΊΡΠ΅ΡΠ΅ — ΡΡΠΎ ΠΈ Π΅ΡΡΡ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π°Π½ΠΈΡ, Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΡ ΡΠΈΡΠ΅Π» (e, n).
Π¨ΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅/ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π½ΠΈΠ΅
ΠΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΈ, ΡΠ°Π²Π½ΡΠ΅ k=[log2(n)] Π±ΠΈΡ, Π³Π΄Π΅ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π²Π·ΡΡΠΈΠ΅ ΡΠ΅Π»ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΡ Π΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°.
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΉ Π±Π»ΠΎΠΊ, ΠΊΠ°ΠΊ ΠΡ Π·Π½Π°Π΅ΡΠ΅, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ΡΠΈΡΠ»ΠΎ ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° (0;2k-1). ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° (mi) Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ci=((mi)e)mod n. ΠΠ»ΠΎΠΊΠΈ ci ΠΈ Π΅ΡΡΡ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΈ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΏΠΎ ΠΎΡΠΊΡΡΡΠΎΠΌΡ ΠΊΠ°Π½Π°Π»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ°ΡΠΈΠΌΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. ΠΠ±ΡΠ°ΡΠ½Π°Ρ Π΅ΠΉ Π·Π°Π΄Π°ΡΠ° Π½ΠΎΡΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ «Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ»Π΅» ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. Π’ΠΎ Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π·Π½Π°Π΅Ρ ΡΠΈΡΠ»Π° e ΠΈ n, ΡΠΎ ΠΏΠΎ ci ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ mi ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΡΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ mi.
Π Π²ΠΎΡ Π½Π° ΠΏΡΠΈΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΡΠΎΡΠ΅ΡΡ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΌ Π² ΡΡΠΎΠΌ Ρ
ΡΠ°Π½ΠΈΠΌΠΎΠ΅ Π² ΡΠ΅ΠΊΡΠ΅ΡΠ΅ ΡΠΈΡΠ»ΠΎ d. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π°Π²Π½ΠΎ Π±ΡΠ»Π° Π΄ΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ΅ΠΎΡΠ΅ΠΌΠ° ΠΠΉΠ»Π΅ΡΠ°, ΡΠ°ΡΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ n ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌΠΎ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΡ
ΠΏΡΠΎΡΡΡΡ
ΡΠΈΡΠ΅Π» p ΠΈ q, ΡΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ x ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ (x (p-1)(q-1))mod n = 1. ΠΠ»Ρ Π΄Π΅ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ RSA-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ.
ΠΠΎΠ·Π²Π΅Π΄Π΅ΠΌ ΠΎΠ±Π΅ Π΅Π΅ ΡΠ°ΡΡΠΈ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ.
(-y): (x (-y)(p-1)(q-1))mod n = 1(-y) = 1.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΌΠ½ΠΎΠΆΠΈΠΌ ΠΎΠ±Π΅ Π΅Π΅ ΡΠ°ΡΡΠΈ Π½Π° x:
(x (-y)(p-1)(q-1)+1)mod n = 1*x = x.
Π ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈ Π·Π°ΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡΠΈ. Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΠ²ΠΊΠ»ΠΈΠ΄Π° ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π»ΠΎΡΡ ΡΠ°ΠΊΠΎΠ΅ d, ΡΡΠΎ e*d+(p-1)(q-1)*y=1, ΡΠΎ Π΅ΡΡΡ e*d=(-y)(p-1)(q-1)+1. Π ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ Π°Π±Π·Π°ΡΠ° ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ Π½Π° ΡΠΈΡΠ»ΠΎ (e*d). ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ (xe*d)mod n = x. Π’ΠΎ Π΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ci=((mi)e)mod n Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΎΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ d ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ m:
((ci)d)mod n = ((mi)e*d)mod n = mi.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠΈΡΠ΅Π» Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈ Π΄Π»Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ Π±Π»ΠΎΡΠ½ΡΠΌ ΡΠΈΡΡΠΎΠΌ (Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΡΠΌ), Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ° ΡΠ΅Π°Π½ΡΠ°, Π° Π²ΠΎΡ ΡΠ°ΠΌ ΠΊΠ»ΡΡ ΡΠ΅Π°Π½ΡΠ° ΡΠΈΡΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π· Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΉΠ»Π°.