ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π½Π° эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ…

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БрСдства ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ криптографичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΡΡ„Π΅Ρ€Π΅ финансовой ΠΈ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π˜Π½Ρ‚Π΅Ρ€Π΅Ρ ΠΊ Π½ΠΈΠΌ обусловлСн Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ общСствСнными потрСбностями Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ экономичСских ΠΈ Π³ΠΎΡΡƒΠ΄Π°Ρ€ΡΡ‚Π²Π΅Π½Π½ΠΎ-ΠΏΡ€Π°Π²ΠΎΠ²Ρ‹Ρ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Π½Π° «ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ основу», Π½ΠΎ ΠΈ ΡΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ²ΡˆΠΈΠΌΠΈΡΡ возмоТностями… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π½Π° эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ ГосударствСнноС ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ образования Π‘ΠΠ ΠΠ’ΠžΠ’Π‘ΠšΠ˜Π™ Π“ΠžΠ‘Π£Π”ΠΠ Π‘Π’Π’Π•ΠΠΠ«Π™ Π£ΠΠ˜Π’Π•Π Π‘Π˜Π’Π•Π’ Π˜ΠœΠ•ΠΠ˜ Н.Π“.Π§Π•Π ΠΠ«Π¨Π•Π’Π‘ΠšΠžΠ“Πž ΠšΠ°Ρ„Π΅Π΄Ρ€Π° тСорСтичСских основ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ бСзопасности ΠΈ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠšΠ£Π Π‘ΠžΠ’ΠΠ― Π ΠΠ‘ΠžΠ’Π ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π½Π° ΡΠ»Π»ΠΈΠΏΡ‚ичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ… студСнта 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) Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π―ΠΊΠΎΠ±ΠΈ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ