Interested Article - Факторизация с помощью эллиптических кривых


- 2021-03-28
- 1
???????????? ? ??????? ????????????? ?????? ( ????. elliptic curve factorization method , ????. ECM ) ??? ????? ??????? ???????????? ? ??????? ????????????? ?????? ( ????. Lenstra elliptic curve factorization ) — ???????? ???????????? ???????????? ????? ? ?????????????? ????????????? ?????? . ?????? ???????? ????? ??????????????????? ????????? . ECM ???????? ??????? ?? ???????? ?????? ????? ?????? ?????? ?????? ????????? ???? ? ?????? ????????????? ?????? .
?? ???????? ????? ????? ???????? ??? ?????????? ????????? ??????? ????????? ?????, ? ??????? ????????? ?????????????????????? ??????????.
???????? ?????? ?????????? ??? ?????? ??????? ????????? ????? 20-25 ?????? (???????? 64…83 ???), ?????? ??? ??? ????????? ? ???????? ??????? ?? ??????????? ???????? ???????? p, ? ?? ?? ???????????????? ?????.
????? ???????????? ??? ????????? (????????????) ????????? ??????? ????????? ?????. ???? ?????????? ????? ?????? ????????? ????? ??? ??? ???????? ?????????, ?? ????????? ??????????? — ??????? ?????, ? ??? ??????????? ?????????? ????? ????? ???????????? ????? ????? ????????? ????????????.
????? ??????? ????????, ????????? ?????????????? ????? ?????????, ????? ????? 83 ????? ? ??? ?????? ??????? ????????? ( ????. Ryan Propper ) 7 ???????? 2013 ? .
????????
???????? ???????????? (?????????? ?????????????? ????????) ???????????? ????? :
- ?????????? ????????? ????????????? ?????? ??? , ? ?????????? ???? : , ?? ???? ?????? ?????????? ????????????? ????? . ??? ????? ???? ??????? ????????? ???????:
-
?????????? ????? ?????
, ?????????? ????????????? ???????? ?????????? ????? ?????. ????????, ? ????????
????? ???????:
- ????????? ?????????? ?????????? ????? .
- ???????????? ?????????? ????? ??????? ????? ? ????? ????????. ?? ???? ?????????? ??????? ????? (?? ????????????? ????????? ????? ), ? ??????? , ?????, ??? ????????? ?????????? ? ??????????????? ??????? ?? ??????????? ?????????? ????? :
-
- ??? — ?????????? ?? ????????? ???????????, ??? ??????? .
-
??????????? ????????????
?? ????????????? ??????
:
- , ??? — ???????? ????????, ???????????? ?? ?????????? ?????? .
- ???????? ???????? ??????? ?????????? ???????? ???????????? ???????, ???????????? ??????????? ?????, ?, ?????????????, ??????? ?????????? ???????? ??????? ?? ?????? n . ???????? ??????? ?? ?????? ?????????????? ? ??????? ???????????? ????????? ??????? . ? ?????????, ??????? ?? ????????? ????? v (mod n ) ???????? ? ???? ?????????? ??? ( v , n ) . ? ?????? ???( v , n ) 1, ???( v , n ) n , -???????? ?? ???? ?????-?? ????? ??????????? ?? ????????????? ??????, ?? ???? ???????, ??? ???( v , n ) — ????????????? ???????? n . ?????? ?? ?????, ? ???????? ?????????? ???????? ????????? ??????:
- ???? ? ???????? ?????????? ?? ??????????? ??????????? ???????? (mod n ) , ?? ?????????? ??????? ?????? ????????????? ?????? ? ????? ? ????????? ???????? ???????.
- ???? ?? ?????-?? ????? , ??? ( ), ?? ?????????? ??????? ?????? ????????????? ?????? ? ????? ? ????????? ???????? ???????, ?????? ??? ????? ????????? ?????????? ????? ?????????? ???????? ????????.
- ???? ?? ?????-?? ????? ?????????? ???( v , n ) 1 ? ???( v , n ) n , ?? ???( v , n ) — ??????? ????????????? ???????? n .
???????????
????????? , ?????? ?? ?????? ????? n ?????? ????????????? ?????? . ???? ????? p ? q — ??? ??????? ???????? ????? n , ?? ?????????????? ????????? ????? ????? ? ??? ?????? ?? ?????? p ??? ?? ?????? q . ?? ???? : ? : ??????, ??????????????, ??? ????????????? ?????? (???????, ??? ). ?????? ? ? ???????? ????????? ???????? — ?? ?????? ????????????? ??????: ??? ????? ???????? ???????? . ????? ??? ???????? N p ? N q ?????????, ??????????????, ????? ????:
- — ????? ????? ???????? ??????
- — ????????????? ?????, ????? ???: ??
- — ??????????? ??
?? ?? ??????? ???????? ?????, ???
- — ????????
??????????? ??????????? ??????????? ? ??? ?????? ?? ?????? q .
??????? ?????? ?????, ??????? ?? ????????????? ?????? ??? Z p , ???????? ??????? ????? ?????????: p + 1 ? 2 ? p p + 1 + 2 ? p
??? ???????? ????????? ????????????? ?????? ??????? N p ? N q ???????? ?????????? ???????, ????????????? ?? ??????? ????? (??. ????). ????????????, ??? ??????????? ??????? ????????? N p ? N q ?????????, ? ????????, ??? ??? ?????????? eP ?????????? ????????? ?? ?????? ? , ?? ?? ?? ?????? q , ??? ????????. ???? ??? ???, ?? kP ?? ?????????? ?? ???????? ??????, ? ? ??????????? ???? ??????? ????? v , ??? ???? ??? ( v , p ) = p , ???? ??? ( v , q ) = q , ?? ?? ????????????. ????? ??? ( v , n ) ???????? ????????????? ????????? ????? n .
ECM ???????? ?????????? ????? ??????? P-1 ?????? ???????? . ???????? p ? 1 ??????? ????? ??????? ???????? p , ??? ( p ? 1) — B-??????? ??? ?????????? ?????????? B . ??? ?????? e , ???????? ( p ? 1) , ? ??? ?????? a , ??????? ???????? ? p ?? ????? ??????? ????? ?????, ??? a e ? 1 (mod p ) . ????? ??? ( a e ? 1, n ) ? ??????? ???????????? ????? ????????? n . ??????, ???????? p ? 1 ?? ????????? , ????? ? p ???? ??????? ??????? ????????. ECM ? ???? ?????? ????????? ?????????, ?????? ??? ?????? ???????????? ????????????????? ?????? ??? Z p , ??????? ??????? ?????? ????? p ? 1 , ??????????????? ?????? ????????? ????????????? ?????? ??? ???????? ????? Z p .
??????? ?????? ?????, ??????? ?? ????????????? ?????? ??? Z p , ???????? ??????? ????? ?????????: p + 1 ? 2 ? p p + 1 + 2 ? p . ?????????????? ?????? ??????????? ??????????? ????, ??? ? ???? ????????? ????? ?????? ????????? ??????? ????? (? ???? ?????? ?????????? ??????, ??????? ??????? — ??????? ?????). ?? ?????????? ????????????? ????, ??? ? ????????? ????? ???? ?????? ????????? ??????? ?????, ?????? ?????????????? ????????????? ????????????? ???????, ??????? ????????-??????-?????????( ????. Canfield–Erd?s–Pomerance theorem ) ? L-??????? ?????????? ??????, ??? ?????????? ????? L [ ? 2 /2, ? 2 ] ?????? ?? ????????? ???????? ??????? ??????. ??? ????????????? ?????? ?????? ????????? ?? ????????.
??????
???????????? ????? n = 455839.
?????????? ????????????? ?????? ? ?????, ??????? ?? ???? ??????
??????????????? ??????????? 10! P :
1. ??????????? ?????????? ????? .
-
- ??????? ???? ??????? ??????????? ? ????? P ?????:
- ?????????? ????? :
- .
- ????? ????????, ??? ????? 2P ????????????? ????? ?? ??????:
2. ??????????? .
-
- ??????? ???? ??????? ??????????? ? ????? 2 P ??????????
-
.
- ??? ?????????? 593 / 106 ?? ?????? n ????? ??????????????? ??????????? ?????????? ??????? : 455839 = 4300·106 + 39, ????? 106 = 2·39 + 28, ????? 39 = 28 + 11, ????? 28 = 2·11 + 6, ????? 11 = 6 + 5, ????? 6 = 5 + 1. ?????????????, ???(455839, 106) = 1, ? ? ???????? ???????: 1 = 6 — 5 = 2·6 — 11 = 2·28 — 5·11 = 7·28 — 5·39 = 7·106 — 19·39 = 81707·106 — 19·455839. ?????? 1/106 = 81707 (mod 455839), ????? ???????, ?593 / 106 = 322522 (mod 455839).
- ? ?????? ???????????? s , ??????????? ?????????? ????? 2(2 P ), ??? ??, ??? ??? ???? ??????? ????: 4 P = (259851, 116255). ????? ????????, ??? ????? ????????????? ????? ?? ????? ????????????? ??????.
- ????????????? 4 P ? 2 P ????????? .
3. ??????????? ??????? ????? ????????? , , ? ??? ?????. ? ?????? ?????????? 640 P ????? ????????, ??? ????????? ?????????? ????????? ???????? ? 599 (mod 455839). ??? ??? 455839 ??????? ?? 599, ??????? ?????????? ???????: 455839 = 599·761.
?????????????? ?????????
????? ?????????? ???????? ????? n ????? p . ????? ?????????? ??????????? ?????????????? ???????? ????? ??????? ????????? : (??? ? L-??????? ). ???? ???????? p ?? , ?? ??????? ??????????????????? ?????? ?????????: .
???? ?????????? ????? ????????????? ?????? ? ??????? ???????? ????????????, ?? ???? ????? ????????? ? ?????? ??????????????????? ??????? ????????????, ?, ??????, ???????? ??????? ?????? ????????????????? ??????. ???? ?????????? ??? ? ??????? ????????????? ?????? (QS) ? ??????? ?????? ????????? ???? (NFS) , ?? ??? ??????? ?? ??????? ??????????? ???????? ????? n . ???? ????? n ??????? ??? ? RSA ? ???? ???????????? ???? ??????? ????? ???????? ?????????? ?????, ?? ????? ????????????? ?????? ????? ?? ?? ??????, ??? ? ????? ????????????? ??????, ?? ???????? ?????? ?????? ????????? ???? .
???????? ? ???????????? ????????????
?????? ??? ??????????? ??????????? ????????? ??? , ????? ??????????? ??????? ??????????? ????????? ??? ?: ?????? ????? ??????????????? ??????, ?????????? ????? 0. ?????? ????? ???? ?????? ? ??????? ????????? ????? ????????? ???????: ??? ????? ????? ???? ?????? ? ? c ? 0, ????? ??? x' = c x , y' = c y ? z' = c z . ? ???????????? ? ???? ?????????? ??????????????? , ???????????? ?????????? ??????????? ?????????? . ????? ????????? , ????????????? ?????? ??????????? ???????????? , ?????????? ????? 0. ???????, ??? ????? ?? ?????????? ? ???? ????????????, ??? ??? ?? ?????? ??????, ?????????? ????? 0. ???????? ??????? ?? ???????????? ????????????? ????????????? ???? ?, ???????? ???? ????? ???????????? ????????? ?????? ??? ????????????? ??????. ?????? ?? ?? ??????, ?? ? ?????????? ??? , ?? ???????? ??????, ???? ?? ???????? ??????? ??????. ????? ???????????? ? ??????? ????????????? ?????? ?????????? ??????????? ?????? ?????? ???????? ? ???????, ????? — ?? ???????.
???????? ???????????? ? ??????????? ??????????? :. ??????????? ??????? ? ???? ?????? ???????? ?????? ?? ????????????? . ????? n — ????? ? ????????????? ?????, ????????????? ?????? .
- ?????????? ( a ? 0).
- ??????????? . ????????????? ?????? E ???????? ??? (????? ????????????). ? ?????????????? ??????????? ????????? ????????????? ?????? ????? ???????? ? ???? ??????????? ????????? . ????? ?? ???? ??????.
- ?????????? ??????? ??????? . ??????????: ??????? ????? ???? ?????? ? ??????, ????? ??????? ?????? E ??? — B-??????? ?????. ??? ????????, ??? ??? ??????? ???????, E ??? ?????? ???? ?????? ??? ????? B .
- ??????????? ??? .
- ??????????? ? ?????? . ????? ????????, ??? ???? | | - B-??????? , ? n — ??????? (? ???? ?????? — ????), ?? . ?????? ? ??????, ???? | | - B-??????? ??? ?????????? ????? p , ??????????? ????????? n , ????????? ????? ???? ?? ????? (0:1:0), ?????? ??? ???????? ???????? ? ????????? ????? ?? ??? ?????? ????????, ???? n ?? ???????? ??????? ??????. ????? ??????? ???????? ????? ????????????? ???????? n .
- ???? ???????? ?? ??? ??????, ?? ???????? ??????????? ? ???? 2.
? ?????? 5 ?????????? ????? ???? ??????????, ??? ??? ???????? ???? ????? ??? ????????????? ?????? ??????? ?????????? , ??? ?? ?????? ????????, ???? n ?? ???????? ??????? ??????. ???????? ?????????? ????? ???? ????? ????????? ????????, ?? ????????? ???????? n (?? ????????? ????, ????? ???????? ?????):
- ,
- ,
- ,
- , ?????????? ? ?????????? ??????????? ?????????? (????????????? ???????? n ??????, ???? ??? ????????? ????????? ??????).
????????????? ?????? ????????
????????????? ????????? ??????? ?????????? ????????? ???????? ? ????????? ????? ?????????? ????????? ?? ????????? ? ?????????????? ??????? ? ????? ???????????? ( ) ? ? ( ).
???????????: ????? — ??? ????, ??????????????? ???????? ?? ???????? ????? , ? ????? . ????? ?????? ???????? ???????????? ??? ?????????? ???? ???????? ????????? ????????? ????? ?? ?????? ???????: ????????? ???????? ?????, ????????? ??????????? ?????, ????????? ??????????????? ????? ( ????. inverted points ), ????????? ??????????? ????? ( ????. extended points ) ? ????????? ??????????? ????? ( ????. completed points ). ????????, ????????? ???????? ????? ???????? ???: .
???????? ????????: ????? ???????? ???????? ???????? .
????? (0,1) — ??? ??????????? ???????, ? ???????? ? ????? ??? .
?????? ????? ?????????? ?????????? ????, ??? ??????????? ?????? ???????????? ?????????? ?? ???????? ??????.
?????? ????????: ????? ?????????????????? ????? ???????? ?? ??????? ????????????? ?????? ? ????? ???????? ? d =2: , ? ????? ?? ???. ???????????? ?????????, ??? ????? P 1 ? ??????????? ????????? (0,1) ????? P 1 . ?????????????:
? ?????? ????????????? ?????? ? ????? ??????? ?????????? ????? ??????? 4. ??????? ????????????? ?????? ?????? ???????? ??? ????????? ??? .
??? ???????????? ? ??????? ????????? ??????? ???????? ????????? ?????? ? .
?????? ??????, ??????? ???????? ????????????? ?????? , ?????????? :
? ?????? , ??????? ?? ????????? ????? ? ??????? ? ????? (0,-1).
- ?
- ?
??. ?????
- ????????????
- ????? ????????????? ??????
- P-1 ????? ????????
- ????? ????? ?????? ????????? ????
- P+1 ????? ????????
- ????? ???????????? ?????
??????????
- ? , ?. 331.
- .
- .
- .
- . ???? ?????????: 27 ?????? 2016. 20 ??????? 2009 ????.
- , ?. 16—20.
- ? .
- , ?. 16.
- .
- .
- , ?. 109.
- , ?. 331.
- , ?. 12.
- , ?. 112.
- , ?. 2—3.
- , ?. 19.
??????????
- Koblitz N. A. Course in number theory and cryptography (?????.) . — Springer-Verlag , 1987.
- Lenstra A. K., Lenstra H. W., Lovász L. Factoring polynomials with rational coefficients (?????.) // Math. Ann. . — 1982. — ?. 261 .
- Lenstra Jr., H. W. Factoring integers with elliptic curves (????.) // Annals of Mathematics : journal. — 1987. — Vol. 126 , no. 2 . — P. 649—673 .
- Trappe, W., Washington, L. C. Introduction to Cryptography with Coding Theory (????.) . — Second. — Pearson Prentice Hall , 2006. — ISBN 0-13-186239-1 .
- Daniel J. Bernstein, Peter Birkner, Tanja Lange, Christiane Peters. ECM using Edwards curves (????.) // Vol. 82 . — P. 1139—1179 . — doi : . : journal. — 2013. —
- ??????????? ?. ?. . — ??????: ?????. ??.. — 2011. — 190 ?.
- David Bressoud and Stan Wagon. A Course in Computational Number Theory. — Key College Publishing/Springer, 2000. — ?. 168—169. — 366 ?. — ISBN 978-1-930190-10-8 .
- Steven Galbraith. Mathematics of Public Key Cryptography. — Cambridge University Press, 2012. — ?. 330—332. — 630 ?. — ISBN 9781139012843 .
- ?. ?. ?????????. ?????????-???????? ????????? ? ????????????. — ?.: ?????, 2006. — 335 ?. — ISBN 5-94057-103-4 .
- W. Trappe and L. C. Washington. Introduction to Cryptography with Coding Theory. — Second. — Pearson Prentice Hall, 2006. — ISBN 0-13-186239-1 .
- Parker D. (????.) // University of Chicago: REU 2014. — 2014.
- E. R. Canfield , Paul Erd?s , Carl Pomerance. (????.) // Journal of number theory. — 1983. — ???. 17 .
- Richard P. Brent. (????.) // Australian Computer Science Communications 8, 149-163. — 1998.
- H. W. Lenstra, JR. (????.) // Proceedings of the International Congress of Mathematicians. — 1986. 29 ????? 2017 ????.
- Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen Lenstra, Emmanuel Thomé, Joppe Bos, Pierrick Gaudry, Alexander Kruppa, Peter Montgomery, Dag Arne Osvik, Herman te Riele, Andrey Timofeev, Paul Zimmermann. (????.) // Cryptology ePrint Archive, Report 2010/006. — 2010.
??????
-
- , ?????????? ? ???? Java-??????? , ???????????? ? ???? ECM ? ??????? ?????????????????????? ????? ????????????? ?????? (????????? ??????????, ????? ?? ??????? ??? ??????????? ??????).
- , ??????????? ?????????? ECM.
- , ??????? ?????????? ? ???? ??????-??????.
- , ?????????? ECM ?? Python 2.

- 2021-03-28
- 1