ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ³ΡΠ°ΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΡΡΠ΅ΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΉ ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ½ΡΠ΅ΡΠ΅Ρ ΠΊ Π½ΠΈΠΌ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π½Π° «ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ», Π½ΠΎ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΠ²ΡΠΈΠΌΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π΅Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π°Π³Π΅Π½ΡΡΡΠ²ΠΎ ΠΏΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΠ ΠΠ’ΠΠΠ‘ΠΠΠ ΠΠΠ‘Π£ΠΠΠ Π‘Π’ΠΠΠΠΠ«Π Π£ΠΠΠΠΠ Π‘ΠΠ’ΠΠ’ ΠΠΠΠΠ Π.Π.Π§ΠΠ ΠΠ«Π¨ΠΠΠ‘ΠΠΠΠ ΠΠ°ΡΠ΅Π΄ΡΠ° ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΡΠ½ΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΡΡΡΠ΄Π΅Π½ΡΠ° 4 ΠΊΡΡΡΠ° ΡΠ°ΠΊΡΠ»ΡΡΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ Π½Π°ΡΠΊ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΠ»Π°ΡΠΎΠ½ΠΎΠ²Π° ΠΡΡΠ΅ΠΌΠ° Π‘Π΅ΡΠ³Π΅Π΅Π²ΠΈΡΠ° ΠΠ°ΡΡΠ½ΡΠΉ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ Π΄ΠΎΡΠ΅Π½Ρ, ΠΊΠ°Π½Π΄. ΡΠΈΠ·.-ΠΌΠ°Ρ. Π½Π°ΡΠΊ Π. Π. ΠΠ°ΠΌΠΎΠ²Π° ΠΠ°Π². ΠΊΠ°ΡΠ΅Π΄ΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΊΠ°Π½Π΄. ΡΠΈΠ·.-ΠΌΠ°Ρ. Π½Π°ΡΠΊ Π. Π. Π‘Π°Π»ΠΈΠΉ Π‘Π°ΡΠ°ΡΠΎΠ² 2012
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ ΠΠ»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ ΠΡΡΠΏΠΏΠ° ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Π½Π°Π΄ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΡΠΈΠ²ΡΡ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (P)
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ (J)
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π§ΡΠ΄Π½ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ-Π―ΠΊΠΎΠ±ΠΈ (Jc)
ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ (Jm)
Π‘ΠΌΠ΅ΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ ΠΡΠΈΠΏΡΠΎΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π¨ΠΈΡΡ ΠΠ»Ρ-ΠΠ°ΠΌΠ°Π»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡ Π΅ΠΌ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ³ΡΠ°ΡΡ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² ΡΡΠ΅ΡΠ΅ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΉ ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ½ΡΠ΅ΡΠ΅Ρ ΠΊ Π½ΠΈΠΌ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎ-ΠΏΡΠ°Π²ΠΎΠ²ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π½Π° «ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ», Π½ΠΎ ΠΈ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΠ²ΡΠΈΠΌΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΊΡΠΈΠΏΡΠΎΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ», ΠΈΡΠΊΠ»ΡΡΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π»ΠΈΡΠ½ΠΎΠΉ Π²ΡΡΡΠ΅ΡΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½ΡΡ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ ΠΈ ΠΏΡΠ°Π²ΠΎΠ²ΡΡ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ. Π ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ (ΠΠ¦Π), ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
Π 1985 Π³ΠΎΠ΄Ρ ΠΠΈΠ» ΠΠΎΠ±Π»ΠΈΡ ΠΈ ΠΠΈΠΊΡΠΎΡ ΠΠΈΠ»Π»Π΅Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ . Π‘ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»ΠΎΡΡ Π±ΡΡΠ½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ (Elliptic Curve Cryptography, ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎ ECC). ΠΡΠΈΠΏΡΠΎΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ°ΠΊΡΡ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠ°ΠΊ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ RSA. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΡ ΠΊΡΠΈΠΏΡΠΎΡΡΠΎΠΉΠΊΠΎΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ° Π² Π³ΡΡΠΏΠΏΠ΅ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ (Elliptic Curve Discrete Logarithm Problem, ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎ ECDLP). Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π»ΡΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ECDLP ΠΈΠΌΠ΅ΡΡ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ° ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΡΠ±ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ ΠΏΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΊΠ»ΡΡΠ°, ΡΠ΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΡ Π΅ΠΌΠ΅ RSA. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 160-Π±ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² ECC ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΈ 1024-Π±ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² RSA. Π ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΎΡΠΈΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ (Elliptic Curve Digital Signature Algorithm, ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΠΎ ECDSA) Π½Π° ΡΠ·ΡΠΊΠ΅ Java.
Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΠΊΠ° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΡΠΈΠ²Π°Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»
ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ΄ΡΡ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ΅ΠΎΡΠΈΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ , Π΄Π°Π½Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ .
ΠΠ»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅
ΠΠ»Π³Π΅Π±ΡΠ°ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΏΠΎΡΡΠ΄ΠΊΠ° n Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ F Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ (x, y): x, y ?F, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ F (X, Y) = 0, Π³Π΄Π΅ F (X, Y) -ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ n Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ· F. ΠΠ°ΡΡ (x, y) ?F2, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΡΠΈΠ²ΠΎΠΉ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π΅Π΅ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
Π’ΠΎΡΠΊΠ° (x, y) ΠΊΡΠΈΠ²ΠΎΠΉ F (X, Y) = 0 Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΎΡΠΎΠ±ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π² Π½Π΅ΠΉ Π½Π΅ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ ΠΎΠ±Π΅ ΡΠ°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½Π° F (X, Y). ΠΡΠΈΠ²Π°Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΠΎΡΠΎΠ±ΠΎΠΉ, ΠΈΠ»ΠΈ Π³Π»Π°Π΄ΠΊΠΎΠΉ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ Π΅Π΅ ΡΠΎΡΠΊΠΈ — Π½Π΅ΠΎΡΠΎΠ±ΡΠ΅.
ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ E Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ F Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π³Π»Π°Π΄ΠΊΠ°Ρ ΠΊΡΠΈΠ²Π°Ρ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π°
Y2 + a1 XY + a3 Y = X3 + a2 X2 + a4 X + a6 , ai F.(1)
ΠΡΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ E (F) ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ (x, y) F2, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΡΡΠΎΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌΡΡ.
ΠΠ²Π΅ ΠΊΡΠΈΠ²ΡΠ΅ E ΠΈ E' Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ F Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΡΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π° ΠΏΡΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ Π·Π°ΠΌΠ΅Π½Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ
X := u2x + r, Y := u3Y + u2sX + t.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎΠ»Ρ F ΠΎΠ±ΡΠ΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΎ. ΠΠ°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ Π·Π°ΠΏΠΈΡΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 2, 3 ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ Π±ΠΎΠ»ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ.
ΠΠΎΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ F Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅ΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 2 ΠΈΠ»ΠΈ 3, ΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ
(x, y) ( , ),
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΡΠΈΠ²ΡΡ ΠΊ Π²ΠΈΠ΄Ρ
Y2 = X3 + aX + b, a, b F, char F? 2, 3(2)
C ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ (2) ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ E ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ
(E) = ?16(4a3 +27b2). (3)
ΠΠΎΠ½ΡΡΠΈΠ΅ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½ΡΠ° Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΡΠΈΠ²ΠΎΠΉ (1) Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ. Π ΠΈΠΌΠ΅Π½Π½ΠΎ,
(E) = — b22 b8 — 8b43 — 27b62 + 9b2b4b ,
Π³Π΄Π΅
b2 = a12 + 4a2 ,
b4 = 2a4 + a1a3 ,
b6 = a32 + 4a6 ,
b8 = a12a6 + 4a2a6 — a1a3a4 + a2a32 — a42;
ΠΡΠ»ΠΈ (E) = 0, ΡΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ»Π΅Π½ ΠΈΠΌΠ΅Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΡΠ½ΠΈ ΠΈ Π² ΡΠΎΡΠΊΠ΅ (x, 0) Π½Π°ΡΡΡΠ°Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π³Π»Π°Π΄ΠΊΠΎΡΡΠΈ ΠΊΡΠΈΠ²ΠΎΠΉ. ΠΡΠΈΠ²Π°Ρ Π ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π΄ΠΊΠΎΠΉ ΡΠΎΠ³Π΄Π° ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΅Π΅ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠΉ.
ΠΠΎΠ»Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 2. ΠΠ»Ρ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 2 ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π΄Π²Π° ΡΠ»ΡΡΠ°Ρ. ΠΡΠ»ΠΈ a1? 0, ΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ
(x, y) (x + , y + ),
ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΡΠΈΠ²Π°Ρ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ
Y2 + XY = X3 + a2X2 +Π°6, ai F(4)
ΠΡΠΈΠ²ΡΠ΅ Π²ΠΈΠ΄Π° (4) Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ. ΠΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΡΠ°Π²Π΅Π½ (E) = a6 .
ΠΡΠ»ΠΈ a1 = 0, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π·Π°ΠΌΠ΅Π½Ρ (x, y) (x + a2, y) ΠΈ ΠΊΡΠΈΠ²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄
Y2 + a3 X = X3 + a4 X +a6, ai F(5)
ΠΡΠΈΠ²ΡΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ, ΠΈ ΠΈΡ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ (E) = a34.
ΠΠΎΠ»Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 3. ΠΠ»Ρ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 3 ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π²Π΅ Π·Π°ΠΌΠ΅Π½Ρ. ΠΡΠ»ΠΈ a12 ? -a2, ΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ
(x, y) (x + , y + a1 x + a1 + a3 ),
Π³Π΄Π΅ d2 = a12 + a2, d4 = a4 - a1 a3 ΠΊΡΠΈΠ²Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ
Y2 = X3 + aX2 + b(6)
Π’Π°ΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ, ΡΠ°Π²Π½ΡΠΉ (E) = -Π°3 b.
ΠΡΠ»ΠΈ a12 = -a2, ΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ (x, y) (x, y + a1 x +a3) ΠΊΡΠΈΠ²Π°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ
Y2 = X3 + aX + b(7)
Π’Π°ΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°Π½Ρ, ΡΠ°Π²Π½ΡΠΉ (E) = -Π°3.
ΠΡΡΠΏΠΏΠ° ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ
ΠΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ E (F), ΡΠΎΡΡΠΎΡΡΠ΅ΠΌ ΠΈΠ· ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ (1) ΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° — Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΠΊΡΠΈΠ²ΠΎΠΉ O (ΡΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΡΡΠ΅ΠΉΡΡ ΡΠΎΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ), ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π°Π±Π΅Π»Π΅Π²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ.
ΠΡΠΈΠ½ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ Π³ΡΡΠΏΠΏΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π°Π΄Π΄ΠΈΡΠΈΠ²Π½ΡΡ Π³ΡΡΠΏΠΏΡ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π·Π½Π°ΠΊΠΎΠΌ ΠΏΠ»ΡΡ.
Π£ΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° O ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (Π² Π°Π΄Π΄ΠΈΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π½ΡΠ»Ρ) ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΡ.
ΠΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΊΠΈ (x,y) E(F)
(x, y) + O = O + (x, y) = (x, y);
O + O = O;
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π°Π±Π΅Π»Π΅Π²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ, ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠ΅ (x,y) ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΡΠΎΡΠΊΡ (Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠ°Ρ ΡΠΎΡΠΊΠ° ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΠΊΠΎΠΉ —(x,y), ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΊ (x,y) ΡΠΎΡΠΊΠΎΠΉ Π² Π³ΡΡΠΏΠΏΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ). ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΡΠΊΠΎΠΉ (x,y) ΠΊΡΠΈΠ²Π°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΈ ΡΠΎΡΠΊΡ
(x,y') = (x, —a1x - a3 - y);
Π£Π±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΠ² X = x ΠΈ Y = -a1x - a3 - y, ΠΈ ΡΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ ΠΏΡΠΈ X = x ΠΈ Y = y ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ. Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Ρ ΡΠΎΡΠΊΠ΅ (x, y') ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΠΎΡΠΊΠ° (x, y), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΈΠ½Π²ΠΎΠ»ΡΡΠΈΠ²Π½ΡΠΉ Π·Π°ΠΊΠΎΠ½:
(x, y) = (x, y'').
ΠΡΠ»ΠΈ ΠΊΡΠΈΠ²Π°Ρ E ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ (2), ΡΠΎ
(x, y') = (x, —y)
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π»Ρ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π», ΡΠΎΡΠΊΠΈ (x, y) ΠΈ (x, —y) ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΠΏΡΡΠΌΠΎΠΉ Y = x ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈ Π°Π±ΡΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ 2 ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° (x, y') ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ (x, y') = (x, y+1) ΠΈ (x, y') = (x, x+y).
ΠΠΎΠ»Π°Π³Π°Π΅ΡΡΡ, ΡΡΠΎ (x, y) + (x, y') = O ΠΈ (x, y') ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ -(x, y). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ E(F) ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ Π΄Π²ΡΠΌ Π°ΠΊΡΠΈΠΎΠΌΠ°ΠΌ Π³ΡΡΠΏΠΏΡ (ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ).
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠΎΡΠ΅ΠΊ ΡΠ°Π²Π½Π° O ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΎΡΠΊΠΈ.
ΠΠ»Ρ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ (x1, y1), (x2, y2), ΡΠ°ΠΊΠΈΡ , ΡΡΠΎ x1 ? x2 ΠΈΠ»ΠΈ x1 = x2, y1 = y2 ΡΡΠΌΠΌΠΎΠΉ Π΄Π²ΡΡ ΡΡΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΊΠ°
P + Q = -R = -(x3, y3) (Π² ΡΠ»ΡΡΠ°Π΅ x1 ? x2)
P + P = 2P = -R = -(x3, y3) (Π² ΡΠ»ΡΡΠ°Π΅ x1 = x2, y1 = y2)
ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠΎΡΠΊΠΈ R Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ «ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ». ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ R Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΠ΅Π».
ΠΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π°Π·Π²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΌΡ ΡΠΎΡΠΊΡ R, Π½ΠΎ ΡΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠΆΠ΄Π΅ΡΡΠ²ΠΎ
P + Q = R P = R — Q.
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ E(F) ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠ²Π½Π° ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½Π° (ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΡΠΌΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ R). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ E(F) (ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΡΠΊΠΎΠΉ Π) Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅, ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±Π΅Π»Π΅Π²ΠΎΠΉ Π³ΡΡΠΏΠΏΠΎΠΉ.
ΠΠΎΡΡΠ΄ΠΊΠΎΠΌ ΡΠΎΡΠΊΠΈ P ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ E Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ n, ΡΠ°ΠΊΠΎΠ΅, ΡΡΠΎ nP = O. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΡΠΎΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ.
ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Π½Π°Π΄ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ
ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Π½Π°Π΄ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ Π³ΡΡΠΏΠΏΡ ΡΠΎΡΠ΅ΠΊ. ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ. ΠΠΎ ΡΠ΅ΠΎΡΠ΅ΠΌΠ΅ ΠΠ°Π³ΡΠ°Π½ΠΆΠ° ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΠΊΠΈ Π΄Π΅Π»ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ. ΠΠ·ΠΎΠΌΠΎΡΡΠ½ΡΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π³ΡΡΠΏΠΏΡ, Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π°Π»Π΅Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΡΠΈΠ²ΡΡ Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° (2), (4), (5), (6), (7).
ΠΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ ΠΠ΅ΠΆΠ°Π½Π΄ΡΠ°, Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ ΡΠΈΡΠ»Π° ΡΠΎΡΠ΅ΠΊ Π½Π° ΠΊΡΠΈΠ²ΠΎΠΉ Y2 = f(X) Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ GF(p), p > 2 (ΠΏΠΎΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ). ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Y2 = f(X) (mod p) ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Y ΠΏΡΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ X ΠΈΠΌΠ΅Π΅Ρ (ΠΏΡΠΈ p > 2) 1 + ΡΠ΅ΡΠ΅Π½ΠΈΠΉ (ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ ΠΈ ΠΏΡΠΈ f(x) = 0). Π£ΡΠΈΡΡΠ²Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ GF(p), p > 2 Π² Π²ΠΈΠ΄Π΅
ΠΡΠΈ ΠΌΠ°Π»ΡΡ ΠΏΡΠΎΡΡΡΡ p, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΎΠΉ ΠΈ ΡΠ΅ΠΎΡΠΈΠ΅ΠΉ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ Π²ΡΡΠ΅ΡΠΎΠ² ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ GF (p) Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ. ΠΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΡΡΠΎ ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠ±ΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π° Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°. ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π΄Π°ΠΆΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π·Π° ΠΏΠΎΠ»ΠΈΠ½ΠΎΠΌΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π½Π°ΠΉΡΠΈ ΠΊΡΠΈΠ²ΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ Π½Π°Π΄ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ°. ΠΡΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ Π²Π°ΠΆΠ½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΡΠΈΠ²ΡΠ΅, ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ. ΠΠ»Ρ ΠΊΡΠΈΠ²ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π΄ΠΊΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ (Ρ.Π΅. ΡΠ°Π·Π»Π°Π³Π°ΡΡΠΈΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΌΠ°Π»ΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅) ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΡΠ΅Π½Π° ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ ΠΠΎΠ»ΠΈΠ³Π°-Π₯Π΅Π»Π»ΠΌΠ°Π½Π°-ΠΠΈΠ»ΡΠ±Π΅ΡΠ°.
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ .
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Π½Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ (ECDSA). Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π», ΠΌΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ° Java. ΠΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ , ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π³ΡΡΠΏΠΏΠ΅ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΎΠ±ΡΠ°Ρ ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ P1 = (x1 , y1 ) ΠΈ P2 = (x2 , y2 ) Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡ ΠΎΠ΄: ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ, ΡΠΎΡΠΊΠΈ P1 ΠΈ P2.
ΠΡΡ ΠΎΠ΄: R = P1 + P2.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ: Π΅ΡΠ»ΠΈ P1 = O, ΡΠΎ R = P2 ,
Π΅ΡΠ»ΠΈ P2 = O, ΡΠΎ R = P1 ,
Π΅ΡΠ»ΠΈ P2 = - P1, ΡΠΎ R = O ,
Π΅ΡΠ»ΠΈ x2 ? x1, ΡΠΎ R = P1 + P2 = -(x3 , y3 ) ,
ΠΈΠ½Π°ΡΠ΅ R = 2P1 = -(x3 , y3 ).
ΠΠ΅ΡΠ½ΡΡΡ: R.
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x3, y3 Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠΎΡΠΌΡΠ»Π°ΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²ΠΈΠ΄Π° ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ.
ΠΠ»Ρ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ΠΉ 3 (Ρ.Π΅. Π΄Π»Ρ ΠΊΡΠΈΠ²ΡΡ , ΠΈΠΌΠ΅ΡΡΠΈΡ Π²ΠΈΠ΄ Y2 = X3 + aX + b) ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ ΡΠΎΡΠΊΠΈ P (x, y) Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ —P = P (x , —y). ΠΡΠ»ΠΈ P1 ? P2, ΡΠΎ ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ R Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ:
x3 = 2 -x1 - x2 ,
y3 = y1 + (x3 - x1), Π³Π΄Π΅ =
Π ΡΠ»ΡΡΠ°Π΅ P1 = P2 = (x, y) ΡΠΎΡΠΌΡΠ»Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
x3 = (')2 — 2x,
y3 = y + '(x3 - x), Π³Π΄Π΅ ' =
ΠΠ»Ρ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΡΠΈ (Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ Y2 = X3 + a2X2 + a4X + a6) ΠΏΡΠΈ P1 ? P2 ΡΠΎΡΠΌΡΠ»Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄:
x3 = (2 -a2 ) -x1 — x2 ,
y3 = y1 + (x3 -x1 ), Π³Π΄Π΅ =
Π ΠΏΡΠΈ P1 = P2
x3 = ((')2 -a2 ) — 2x ,
y3 = y + '(x3 -x ), Π³Π΄Π΅ ' =
ΠΠ»Ρ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π²Π° ΡΠ»ΡΡΠ°ΠΈ ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ. Π’ΠΎΡΠΊΠ° ΠΊΡΠΈΠ²ΠΎΠΉ, ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Π°Ρ ΡΠΎΡΠΊΠ΅ (x,y) ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (x,x+y). ΠΠ»Ρ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ (Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ Y2 + XY = X3 + a2X2 +Π°6) ΠΏΡΠΈ P1 ? P2 ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ R Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠΎΡΠΌΡΠ»Π°ΠΌ:
x3 = 2 + + a2 + x1 + x2 ,
y3 = x3 + y1 + (x3 + x1 ), Π³Π΄Π΅ =
Π ΠΏΡΠΈ P1 = P2
x3 = (')2 + (') + a2,
y3 = x2 + (' + 1)x3, Π³Π΄Π΅ ' =
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ (Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ Y2 + a3 X = X3 + a4 X +a6) ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ (x,y) Π±ΡΠ΄Π΅Ρ (x,y + a3). ΠΡΠΈ P1 ? P2
x3 = + x1 + x2
y3 = a3 + y1 + (x3 + x1 ), Π³Π΄Π΅ =
Π ΠΏΡΠΈ P1 = P2
x3 = (')2
y3 ='(x + x3) + y + a3, Π³Π΄Π΅ ' =
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΈ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅ ΡΠΎΡΠΌΡΠ»Π°ΠΌΠΈ, ΡΠ°ΠΌΠ°Ρ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ΅ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ — ΠΌΡΠ»ΡΡΠΈΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΠΊΡΠΈΠ²ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ΠΉ 3, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1 Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ (ΠΌΠ΅ΡΠΎΠ΄ pointAdd ΠΊΠ»Π°ΡΡΠ° eCurve).
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ P ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π° ΡΠΈΡΠ»ΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ k (ΠΊΡΠ°ΡΠΊΠΎ — Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ kP), ΠΎΠ½ΠΈ ΠΆΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ, ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ Π² Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ . Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΡΠΈΠ²ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ , ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ kP ΠΏΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌ P (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, P ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Π² Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ).
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π°Π½Π°Π»ΠΎΠ³ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π±ΡΡΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ Π΄Π»Ρ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ .
ΠΡ ΠΎΠ΄: k = (kt?1,.. ., k1, k0)2, P ΠΡ E (Fq).
ΠΡΡ ΠΎΠ΄: kP.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ: 1. Q<O.
2. ΠΠ»Ρ Π²ΡΠ΅Ρ i ΠΎΡ 0 Π΄ΠΎ t ?1:
2.1 ΠΡΠ»ΠΈ ki = 1 ΡΠΎ Q<Q + P.
2.2 P<2P.
ΠΠ΅ΡΠ½ΡΡΡ: Q.
Π§ΠΈΡΠ»ΠΎ k ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ. Π’ΠΎΡΠΊΠ° Q Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ°Π³Π΅ ΡΠ°Π²Π½ΡΠ΅ΡΡΡ O, Ρ. Π΅. ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΉΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΈΠΊΠ» Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°Π³ΠΎΠ², ΡΠ°Π²Π½ΡΠΌ Π΄Π»ΠΈΠ½Π΅ k Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Π΅ΡΠ»ΠΈ ki = 1, ΡΠΎ Q ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠΎΡΠΊΠΎΠΉ P. Π ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°Π³Π° P ΡΠ΄Π²Π°ΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΎΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π°Π²ΠΈΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ.
ΠΡΠ»ΠΈ ΡΠΎΡΠΊΠ° P ΠΈΠ·Π²Π΅ΡΡΠ½Π° Π·Π°ΡΠ°Π½Π΅Π΅, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΡΠΈΡΠ»ΠΈΠ² Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ 2P, 22P … 2t-1P ΠΌΠΎΠΆΠ½ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ. ΠΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ (ECDSA) ΠΏΡΠΈΠ½ΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ°Ρ . Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ ANSI X9.62, FIPS 186−2 (NIST), IEEE 1363−2000, ISO/IEC 14 888−3, ISO/IEC 15 946−3, SEC-1, SEC-2 ΠΈ Π΄Ρ.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ANSI X9.62 ECDSA. Π ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΊΡΠΈΠ²ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
1. ΠΡΠΈΠ²ΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ Π½Π°Π΄ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ (ΠΏΠΎΡΡΠ΄ΠΎΠΊ q ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π²Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΌΡ ΡΠΈΡΠ»Ρ p), ΠΈΠ»ΠΈ Π½Π°Π΄ ΠΏΠΎΠ»ΡΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π²Π° (Ρ ΠΊΠΎΡΠΎΡΡΡ q = 2m).
2. ΠΠ»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π±Π°Π·ΠΈΡ, ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΡΠΉ ΡΡΠ΅Ρ ΡΠ»Π΅Π½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΡΠΈΡΠ»Π΅Π½ΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π³Π°ΡΡΡΠΎΠ² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ Π±Π°Π·ΠΈΡ (GNB).
3. ΠΡΠΈΠ²Π°Ρ E Π·Π°Π΄Π°Π΅ΡΡΡ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² a, b ΠΏΠΎΠ»Ρ GF (q). Π ΡΠ»ΡΡΠ°Π΅ p > 2 ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ y2 = x3+ ax + b, Π° Π² ΡΠ»ΡΡΠ°Π΅ p = 2 Π²ΠΈΠ΄ y2+ xy = x3+ ax2+ b. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΠ΅ ΠΊΡΠΈΠ²ΡΠ΅.
4. ΠΠ° ΠΊΡΠΈΠ²ΠΎΠΉ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΡΠΊΠ° (xG, yG), xG, yG? GF (q) ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° n > 2160, n > 4 ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΊΠΎΡΠ°ΠΊΡΠΎΡ h = |E (GF (q))|/n. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΡΠΈΠ²ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ p = 2 ΠΊΡΠΈΠ²ΡΠ΅, Ρ ΠΊΠΎΡΠΎΡΡΡ a, b ΡΠ°Π²Π½Ρ 0, 1, Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π²ΡΠ΅ ΠΆΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΊΡΠΈΠ²ΡΠ΅, Ρ. Π΅. ΠΊΡΠΈΠ²ΡΠ΅ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΡΠΌΠΈ a, b.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ :
1) Π‘Π»ΡΡΠ°ΠΉ q = p. ΠΠΎΠ»ΠΎΠΆΠΈΠΌ
t = log2 p, s = (t? 1)/160, v = t? 160s.
1. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΡΠΊΡ Π±ΠΈΡΠΎΠ² seedE Π΄Π»ΠΈΠ½ΠΎΠΉ g? 160 Π±ΠΈΡ, ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ z ΡΠ°Π²Π½ΡΠΌ ΡΠΈΡΠ»Ρ, Π΄Π²ΠΎΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ seedE.
2. ΠΡΠΈΠΌΠ΅Π½ΡΡ ΠΊ seedE ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ SHΠ1, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ g-Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ H = SHA1(seedE). ΠΡΠ±ΠΈΡΠ°Ρ Π² H v ΡΠ°ΠΌΡΡ ΠΏΡΠ°Π²ΡΡ Π±ΠΈΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠΎΠΊΡ c0 Π΄Π»ΠΈΠ½ΠΎΠΉ v Π±ΠΈΡΠΎΠ².
3. ΠΠ°ΠΌΠ΅Π½ΡΡ Π² c0 ΡΠ°ΠΌΡΠΉ Π»Π΅Π²ΡΠΉ Π±ΠΈΡ Π½Π° 0, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠΎΠΊΡ W0.
4. ΠΠ»Ρ i ΠΎΡ 1 Π΄ΠΎ s Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
4.1 ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ si ΡΠ°Π²Π½ΠΎΠΉ g?Π±ΠΈΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΠ²Π»ΡΡΡΠ΅ΠΉΡΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΡΠΈΡΠ»Π° z + i mod 2g
4.2 Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ g-Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Wi= SHΠ1(si).
5. ΠΠΎΠ»Π°Π³Π°Π΅ΠΌ Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ W ΡΠ°Π²Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ (ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ) Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊ Wi, i = 0,. .. , s, Ρ. Π΅. W = W0.. . Ws.
6. ΠΠΎΠ»Π°Π³Π°Π΅ΠΌ r ΡΠ°Π²Π½ΡΠΌ ΡΠ΅Π»ΠΎΠΌΡ ΡΠΈΡΠ»Ρ Ρ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ W. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ½ΠΊΡΠ° 3 Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ r < p.
7. ΠΡΠ»ΠΈ r = 0 ΠΈΠ»ΠΈ 4r + 27? 0(mod p), ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΡΠ°Π³Ρ 1.
8. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π΅Π½ΡΠ»Π΅Π²ΡΠ΅ a, b ΠΡ GF (p) ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ rb2? a3(mod p). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²Π·ΡΡΡ a = b = r.
9. ΠΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΊΡΠΈΠ²Π°Ρ Π΅ΡΡΡ E: y2 = x3 + ax + b.
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅Π²ΡΡΠΎΠΆΠ΄Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΡΠΈΠ²ΠΎΠΉ 4a3 + 27b2 6? 0 (mod p) Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ b? 0, r = a3/b2mod p ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ r? 0, 4r + 27? 0 (mod p). ΠΠΌΠ΅Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π΅ ΠΏΠΎΠΏΠ°ΡΠ½ΠΎ Π½Π΅ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½ΡΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ r. ΠΡΠΈ ΠΊΡΠΈΠ²ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΡΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΈ ΡΡΠΌΠΌΠ° ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ² ΡΠ°Π²Π½Π° 2 + 2p. ΠΡΠΈΠ²ΡΠ΅ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ r Π½Π΅ΠΈΠ·ΠΎΠΌΠΎΡΡΠ½Ρ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ. ΠΠ° ΡΠ°Π³Π΅ 8 ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΡΡ ΠΏΠΎ ΡΡΡΠ΅ΡΡΠ²Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° a ΠΈ b, ΠΊΡΠΎΠΌΠ΅ ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ.
2) Π‘Π»ΡΡΠ°ΠΉ q = 2m. ΠΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΡΠ΅, s = (t? 1)/160, v = t? 160s.
1. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠΎΡΠΊΡ Π±ΠΈΡΠΎΠ² seedE Π΄Π»ΠΈΠ½ΠΎΠΉ g? 160 Π±ΠΈΡ, ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ z, ΡΠ°Π²Π½ΡΠΌ ΡΠΈΡΠ»Ρ, Π΄Π²ΠΎΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ seedE.
2. ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ g-Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ H = SHA1(seedE). ΠΡΠ±ΠΈΡΠ°Ρ Π² H v ΡΠ°ΠΌΡΡ ΠΏΡΠ°Π²ΡΡ Π±ΠΈΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠΎΠΊΡ b0 Π΄Π»ΠΈΠ½ΠΎΠΉ v Π±ΠΈΡΠΎΠ².
3. ΠΠ°ΠΌΠ΅Π½ΡΡ Π² b0 ΡΠ°ΠΌΡΠΉ Π»Π΅Π²ΡΠΉ Π±ΠΈΡ Π½Π° 0, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠΎΠΊΡ W0.
4. ΠΠ»Ρ i ΠΎΡ 1 Π΄ΠΎ s Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
4.1 ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ si ΡΠ°Π²Π½ΠΎΠΉ g?Π±ΠΈΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, ΡΠ²Π»ΡΡΡΠ΅ΠΉΡΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΡΠΈΡΠ»Π° z + i mod 2g
4.2 Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ g-Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ bi = SHA1(si).
5. ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π±ΠΈΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ b = b0... bs ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ b ΡΠ°Π²Π½ΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»Ρ GF (q).
6. ΠΡΠ»ΠΈ b = 0, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ ΡΠ°Π³Ρ 1.
7. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ a ΠΡ GF (q).
8. ΠΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΠΊΡΠΈΠ²Π°Ρ Π΅ΡΡΡ E: y2 + xy = x3 + ax2 + b.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΡΠΈΠ²ΡΡ .
Π‘ΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΡΠΈΠ²ΡΡ .
1. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ E (GF (q)) Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²ΡΡΠ΅.
2. ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π΅Π΅ ΠΏΠΎΡΡΠ΄ΠΎΠΊ N = |E (GF (q))|.
3. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π΄Π΅Π»ΠΈΡΡΡ Π»ΠΈ N Π½Π° ΡΠ°Π½Π΅Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΡΡΠΎΠ΅ n (n > 2160, n > 4). ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°Π³Ρ 1.
4. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ n Π½Π΅ Π΄Π΅Π»ΠΈΡ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠΈΡΠ΅Π» qk? 1, k = 1,. .. 20. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°Π³Ρ 1.
5. ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ n? q. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΡΠ°Π³Ρ 1.
6. ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠΊΡ G0 ΠΡ E (GF (q)) ΠΈ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ G = (N/n) G0. ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ G? O.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ — ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠΈΠ²ΡΡ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ GF(2m) ΠΏΡΠΈ m ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π²Π½ΡΠΌ 200 ΠΌΠΎΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΠΎΠ². Π Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ ECDSA Π²ΠΊΠ»ΡΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΠΎΠ²ΡΡΠ°ΡΡΠΈΠΌΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΡΠΈΡ ΠΊΡΠΈΠ²ΡΡ . Π‘ΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ NIST ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡΡΡ ΠΊΡΠΈΠ²ΡΠ΅ P-192, P-224, P-256, P-384, P-521 Π½Π°Π΄ ΠΏΠΎΠ»ΡΠΌΠΈ Π±ΠΎΠ»ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ (ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΡΠΈΠ²ΡΠ΅ Π²ΠΈΠ΄Π° y2 =x3-3x+b, ΡΠΎ Π΅ΡΡΡ a=-3). ΠΠ»Ρ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π²Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Ρ Π΄Π²Π΅ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ — Π½Π΅ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½Π°Ρ ΠΊΡΠΈΠ²Π°Ρ (Π²ΠΈΠ΄Π° y2 + xy = x3 + x2 + b) ΠΈ ΠΊΡΠΈΠ²Π°Ρ ΠΠΎΠ±Π»ΠΈΡΠ° (ΠΊΡΠΈΠ²ΡΠ΅ Π²ΠΈΠ΄Π° y2 + xy = x3 + x2 + 1, Π³Π΄Π΅ a = 0,1). ΠΠΎΡ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ NIST ΠΊΡΠΈΠ²Π°Ρ Π΄Π»Ρ ΠΏΠΎΠ»Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ P-192.
Curve P-192
p = 6 277 101 735 386 680 763 835 789 423 207 666 416 102 355 444 464 034 512 896
r = 6 277 101 735 386 680 763 835 789 423 207 666 416 102 355 444 464 034 512 896
s = 3045ae6f c8422f64 ed579528 d38120ea e12196d5
c = 3099d2bb bfcb2538 542dcd5f b078b6ef 5f3d6fe2 c745de65
b = 64 210 519 e59c80e7 0fa7e9ab 72 243 049 feb8deec c146b9b1
Gx = 188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012
Gy = 07192b95 ffc8da78 63 1011ed 6b24cdd5 73f977a1 1e794811
ΠΠ»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ Π·Π°Π΄Π°Π½Ρ:
ΠΡΠΎΡΡΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ p — Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠ»Ρ.
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΊΡΠΈΠ²ΠΎΠΉ r
ΠΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Ρ ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ SHA1 s = seedE
ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡ-ΡΡΠ½ΠΊΡΠΈΠΈ SHA1 c.
ΠΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ b
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ G (Gx, Gy)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»Π° «Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ», ΠΏΡΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ, Π±ΠΎΠ»ΡΡΠ΅ΠΉ 3 (Ρ.Π΅. Π΄Π»Ρ ΠΊΡΠΈΠ²ΠΎΠΉ, ΠΈΠΌΠ΅ΡΡΠΈΡ Π²ΠΈΠ΄ y2 = x3 + ax + b) ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΄Π²Π° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ΄Π½ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΈ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π° ΡΡΠ΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π΄Π»Ρ ΠΊΡΠΈΠ²ΡΡ Π½Π°Π΄ ΠΏΠΎΠ»ΡΠΌΠΈ Π±ΠΎΠ»ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ (y2 = x3 + ax + b):
Β· ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ
Β· ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ
Β· ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π§ΡΠ΄Π½ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ-Π―ΠΊΠΎΠ±ΠΈ
Β· ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΡΠ°ΡΠΈΡΡ Π½Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°.
ΠΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΡΡ ΠΊΡΠΈΠ²ΡΡ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ K, ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ c ΠΈ d ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ Π½Π° Π½Π΅Π½ΡΠ»Π΅Π²ΡΡ ΡΡΠΎΠΉΠΊΠ°Ρ ΠΈΠ· K3 ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
(X1, Y1, Z1) ~ (X2, Y2, Z2) Π΅ΡΠ»ΠΈ X1 = c X2, Y1= d Y2, Z1 = Z2 Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ K.
ΠΠ»Π°ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΠΎΠΉΠΊΡ (X, Y, Z) K3 {(0, 0, 0)}, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
(X : Y: Z) = {(c X, d Y, Z): K }.
ΠΠ»Π°ΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ (X : Y: Z) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π° (X, Y, Z) — Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΌ. ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ P(K). Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ (X', Y', Z') (X : Y: Z), ΡΠΎ (X': Y': Z') = (X : Y: Z). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΠΆΠΈΡΡ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΌ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ Z? 0, ΡΠΎ (X / Zc, Y / Zd, 1) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ (X : Y: Z), ΠΏΡΠΈΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΌ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΠΉ Z = 1. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΎΡΠ΅ΠΊ
P (K) = {(X: Y: Z): X, Y, Z K, Z? 0}
ΠΈ Π½Π°Π±ΠΎΡΠΎΠΌ Π°ΡΡΠΈΠ½Π½ΡΡ ΡΠΎΡΠ΅ΠΊ
A (K) = {(x, y): x, y K}.
ΠΠ°Π±ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠΎΡΠ΅ΠΊ
P (K)0 = {(X: Y: Z): X, Y, Z ΠΡ K, Z = 0}
Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΠΌΠΎΠΉ Π² Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΡΠΊΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ Π°ΡΡΠΈΠ½Π½ΡΠΌ ΡΠΎΡΠΊΠ°ΠΌ.
ΠΡΠΎΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΎΡΠΌΠ° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ E Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ K ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ x = X / Zc, y = Y / Zd ΠΈ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ Π·Π½Π°ΠΌΠ΅Π½Π°ΡΠ΅Π»Π΅ΠΉ (ΡΠΎ Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ Π΄ΠΎΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Z Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ). ΠΡΠ»ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ° (X, Y, Z) K3 {(0, 0, 0)} ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΡΠΎ Π΅ΠΌΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΊΠ»Π°ΡΡΠ° (X:Y:Z). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΎΡΠΊΠ° (X : Y: Z) Π»Π΅ΠΆΠΈΡ Π½Π° ΠΊΡΠΈΠ²ΠΎΠΉ E. ΠΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΈΠ· P(K)0, Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π½Π° ΠΊΡΠΈΠ²ΠΎΠΉ E, Π±ΡΠ΄ΡΡ ΡΠ²Π»ΡΡΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΎΡΠΊΠ°ΠΌΠΈ.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π²Π²Π΅Π΄Π΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΏΡΠΎΠΏΠΈΡΠ½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ Π°Π»ΡΠ°Π²ΠΈΡΠ°, Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΠΈΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π±ΡΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ A). ΠΠ°Π΄ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠΈΠΌΡΡ ΠΏΡΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ:
M — ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π»,
S — Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ,
I — ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°.
ΠΠ°Π»Π΅Π΅, ΡΠΈΡΠ»ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ (ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ) Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π±ΡΠ΄Π΅ΠΌ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
t (X1 + X2 = X3) = nM + kS + lI, Π³Π΄Π΅ n — ΡΠΈΡΠ»ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ, k — ΡΠΈΡΠ»ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ, l — ΡΠΈΡΠ»ΠΎ ΡΡΠ΅Π±ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ, X1 ΠΈ X2 — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, X3 — ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ (Π΅ΡΠ»ΠΈ X1 = X2 = X3, ΡΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΠΌ Π·Π°ΠΏΠΈΡΡ Π΄ΠΎ t (X + X)).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡΡ Π΄Π»Ρ Π°ΡΡΠΈΠ½Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ:
t (A + A) = 2M + S + I, t (2A) = 2M + 2S + I.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (P)
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ c = d = 1. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΈΠ²ΠΎΠΉ y2 = x3 + ax + b ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ:
Y 2Z = X 3 + aXZ 2 + bZ 3
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (0, 1, 0). ΠΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ (X, Y, Z) Π±ΡΠ΄Π΅Ρ ΡΠΎΡΠΊΠ° (X, —Y, Z).
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ P1 = (X1, Y1, Z1), P2 = (X2, Y2, Z2), ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ. Π’ΠΎΠ³Π΄Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ P3:
P3 = P1 + P2 = (X3, Y3, Z3)
Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΡΠΌΡΠ»Π°ΠΌ (ΡΡΠΈ ΡΠΎΡΠΌΡΠ»Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π°ΠΌΠ΅Π½ x, y Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡΠ»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ):
ΠΡΠ»ΠΈ P1? ±P2 ,
u = Y2Z1? Y1Z2,
v = X2Z1? X1Z2,
w = u2Z1Z2? v3? 2v2X1Z2,
X3 = vw,
Y3 = u(v2X1Z2? w)? v3Y1Z2,
Z3 = v3Z1Z2.
ΠΠ²Π΅Π΄Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΡΠ΅Π»ΡΡ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
t1= Y1Z2; t2 = X1Z2 ;
t3 = Z1Z2; v2 = v2 ;
v3 = v3 = v2v; t4 = v2t2 ;
ΠΠΎΠ΄ΡΡΠ°Π²Π»ΡΡ ΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΡΠ»Ρ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠΈΠΌ, ΡΡΠΎ t (P+P) = 12M + 2S.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ»ΡΡΠ°ΠΉ P1 = P2 (ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ):
t = aZ12 + 3X12 ,
u = Y1Z1 ,
v = uX1Y1 ,
w = t2? 8v,
X3 = 2uw,
Y3 = t(4v? w)? 8Y12u2 ,
Z3 = 8u3.
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ, ΡΡΠΎ t (2P) = 7M + 5S.
ΠΡΠΈ P1 = ?P2 ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ P3 = O.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠΉ Π²ΡΠΈΠ³ΡΡΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. Π ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΈ ΠΏΡΠΈ ΠΎΡΠ΅Π½ΠΊΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΡΠΈΡΡΠ²Π°ΡΡ.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ Π½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ 2 ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ΄Π½ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ ΠΈ ΠΎΠ΄Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ Π½Π° 10 ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π° 1 Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅, Π½ΠΎ Π½Π°ΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΠΡΠΈ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠΈ ΡΠΎΡΠΊΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ Π½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½Π° 5 ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π° 3 Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π΄Π°Π²Π°Π»ΠΎ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ Π±ΡΠ»Π° Ρ ΠΎΡΡ Π±Ρ Π² 11 ΡΠ°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΈ Π² 8 ΡΠ°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π±ΡΠ»Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° (test.java Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΌΠ΅ΡΠΎΠ΄ compMultInv). ΠΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ BigInteger ΡΠ·ΡΠΊΠ° java (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΏΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ECDSA). Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠΎΠ»Ρ K Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² 14−16 ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠ»Ρ K Π²ΡΠ±ΠΈΡΠ°Π»Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅Π΅ Π΄Π»ΠΈΠ½Π° ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ ΡΠ°Π²Π½ΠΎΠΉ 200 Π±ΠΈΡΠ°ΠΌ). ΠΠ· ΡΡΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄: Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π² ~1.28 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅, Π° ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ — Π² ~1.58 ΡΠ°Π· Π±ΡΡΡΡΠ΅Π΅.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π½Π° ΡΡΠΏΠ΅ΡΡΠΈΠ½Π³ΡΠ»ΡΡΠ½ΡΡ ΠΊΡΠΈΠ²ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΏΡΠΈΡΠΎΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠ°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈΡΡ 9 ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π΄Π»Ρ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ — ΡΠΎΠ»ΡΠΊΠΎ 6 Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΉ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ² ΡΠΈΡΠ»ΠΎ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²ΡΠ΅Π³ΠΎ Π² 4.5 ΡΠ°Π·Π°.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ, ΡΡΠΎ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ . ΠΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ Π°ΡΡΠΈΠ½Π½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ X, Y ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π½Π° Z.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ (J)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ. Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ c = 2, d = 3, ΡΠΎ Π΅ΡΡΡ (X: Y: Z) ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π°ΡΡΠΈΠ½Π½ΡΡ ΡΠΎΡΠΊΡ (X / Z2, Y / Z3). ΠΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΡΠΈΠ²Π°Ρ y2 = x3 + ax + b ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ:
Y 2 = X 3 + aXZ 4 + bZ 6.
ΠΠ΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ (1: 1: 0). ΠΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ Π΄Π»Ρ (X, Y, Z) Π±ΡΠ΄Π΅Ρ ΡΠΎΡΠΊΠ° (X, —Y, Z).
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π΄Π²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ P1 = (X1, Y1, Z1), P2 = (X2, Y2, Z2), ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π½Π°ΡΠ΅ΠΉ ΠΊΡΠΈΠ²ΠΎΠΉ. Π’ΠΎΠ³Π΄Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠΊΠΈ P3:
P3 = P1 + P2 = (X3, Y3, Z3)
Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΡΠΌΡΠ»Π°ΠΌ:
ΠΡΠ»ΠΈ P1? ±P2 ,
r = X1Z22, s = X2Z12,
t = Y1Z23, u = Y2Z13,
v = s — r, w = u — t,
X3 = -v3 — 2rv2 + w2,
Y3 = -tv3 + (rv2 — X3)w,
Z3 = vZ1Z2.
ΠΡΠ»ΠΈ P1 = P2 (ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ):
v = 4X1Y12, w = 3X12 + aZ14,
X3 = -2v + w2,
Y3 = -8Y14 + (v — X3)w,
Z3 = 2Y1Z1.
ΠΡΠΈ P1 = ?P2 ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ P3 = O.
Π ΡΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ t (J + J) = 12M + 4S. Π£Π΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ t (2J) = 3M + 6S. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π° 4 ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ΄Π½ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ Π±ΠΎΠ»ΡΡΠ΅.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»Π»ΠΈΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΡΠΈΠ²ΡΡ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ ΠΊΡΠΈΠ²ΠΎΠΉ a = -3, ΡΠΎ
w = 3X12 + aZ14 = 3(X12 — Z14) = 3(X1 — Z12)(X1 + Z12).
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ t (2J) = 4M + 4S. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ NIST Π½Π°Π΄ ΠΏΠΎΠ»ΡΠΌΠΈ Π±ΠΎΠ»ΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π²ΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΊΡΠΈΠ²ΡΠ΅ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ y2 = x3 — 3x + b.
ΠΠΎΠ»Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ Π΄Π»Ρ ΡΠ»ΡΡΠ°Ρ a = -3 Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡ ΠΎΠ΄: ΡΠΎΡΠΊΠ° P = (X1: Y1: Z1) Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ Π»Π΅ΠΆΠ°ΡΠ°Ρ Π½Π° ΠΊΡΠΈΠ²ΠΎΠΉ y2 = x3 — 3x + b.
ΠΡΡ ΠΎΠ΄: 2P = (X3: Y3: Z3) Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π―ΠΊΠΎΠ±ΠΈ.