Π‘Ρ Π΅ΠΌΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π¨Π½ΠΎΡΡΠ°
ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ q, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΠΎ ΠΈ Ρ ΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (?160). q — (p — 1), Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, (p — 1) = 0 mod q. ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ e1, q-ΡΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» Π±Ρ ΡΠ°Π²Π΅Π½ 1 mod p. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Zp, e0 ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ e1 = e0(p-1)/q mod p. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ: ΠΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π‘Ρ Π΅ΠΌΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π¨Π½ΠΎΡΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡ Π΅ΠΌΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΠ»Ρ — ΠΠ°ΠΌΠ°Π»Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ p Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ° Zp*. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»ΠΈΠ½Π° p ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ 1024 Π±ΠΈΡΠΎΠ². ΠΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 2048 Π±ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ, Π¨Π½ΠΎΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» Π½ΠΎΠ²ΡΡ ΡΡ Π΅ΠΌΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΡ Π΅ΠΌΠ΅ ΠΠ»Ρ-ΠΠ°ΠΌΠ°Π»Ρ, Π½ΠΎ Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ: ΠΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΠ»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ ΠΈ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π²ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ.
- 1. ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ p, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π²Π½ΠΎ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ 1024 Π±ΠΈΡΠ°ΠΌ.
- 2. ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ q, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΠΎ ΠΈ Ρ ΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (?160). q | (p — 1), Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, (p — 1) = 0 mod q.
- 3. ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ e1, q-ΡΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ» Π±Ρ ΡΠ°Π²Π΅Π½ 1 mod p. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Zp, e0 ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ e1 = e0(p-1)/q mod p.
- 4. ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ d, ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΉ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ.
- 5. ΠΠ»ΠΈΡΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ e2 = e1d mod p.
ΠΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΠ»ΠΈΡΡ — (e1, e2, p, q), Π΅Π΅ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ — (d).
ΠΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈΠ΅:
- 1. ΠΠ»ΠΈΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ r. (ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΏΡΠΈ Π½ΠΎΠ²ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ) ΡΠ°ΠΊΠΎΠ΅ ΡΡΠΎ 1 < r < q.
- 2. ΠΠ»ΠΈΡΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ S1 = h (M | e1r mod p). Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠ΅Π΄ΠΈ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ e1r mod p, Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Ρ ΡΡ-ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Ρ ΡΡ. Ρ ΡΡ-ΡΡΠ½ΠΊΡΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π ΠΈ e1r mod p.
- 3. ΠΠ»ΠΈΡΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²ΡΠΎΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ S2 = r + d * S1 mod q.
- 4. ΠΠ»ΠΈΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π, S1 ΠΈ S2.
ΠΡΠΎΠ²Π΅ΡΠΊΠ°: ΠΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΠΎΠ±, ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π, S1 ΠΈ S2.
- 1. ΠΠΎΠ± Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ V = h (Π | e1S2 * e2-S1 mod p).
- 2. ΠΡΠ»ΠΈ S2 ΡΡΠ°Π²Π½ΠΈΠΌΠΎ Ρ V ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ p, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΡΠΎ; ΠΈΠ½Π°ΡΠ΅ ΠΎΠ½ΠΎ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ.