#elliptic-curve #big-integer #number-theory #prime #bignum #lenstra

ecm

Lenstra's Elliptic Curve Factorization Implementation with Big Integers

10 releases (2 stable)

1.0.1 Jun 25, 2024
0.4.3 Jun 25, 2024
0.4.2 Aug 28, 2023
0.4.1 Jul 29, 2023
0.1.1 Jun 19, 2023

#706 in Math

Download history 24/week @ 2024-08-12 14/week @ 2024-08-19 21/week @ 2024-08-26 57/week @ 2024-09-02 22/week @ 2024-09-09 41/week @ 2024-09-16 67/week @ 2024-09-23 71/week @ 2024-09-30 31/week @ 2024-10-07 37/week @ 2024-10-14 43/week @ 2024-10-21 73/week @ 2024-10-28 79/week @ 2024-11-04 33/week @ 2024-11-11 18/week @ 2024-11-18 18/week @ 2024-11-25

156 downloads per month
Used in rsacracker

MIT/Apache and LGPL-3.0+

26KB
474 lines

ecm-rs

CI Crate.io Codecov

Lenstra's Elliptic Curve Factorization Implementation with Big Integers.

The code is based on the sympy implementation and translated to Rust.

Performance

Using a Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz CPU, the following results were obtained:

Number sympy ecm-rs sympy / ecm-rs
398883434337287 0.074s 0.057s 1.23x faster
46167045131415113 0.148s 0.039s 3.8x faster
64211816600515193 0.552s 0.017s 32.47x faster
168541512131094651323 0.071s 0.038s 1.87x faster
631211032315670776841 0.081s 0.128s 0.63x faster
4132846513818654136451 0.266s 0.038s 7.0x faster
4516511326451341281684513 0.495s 0.038s 13.03x faster
3146531246531241245132451321 1.22s 0.22s 5.55x faster
4269021180054189416198169786894227 1.916s 0.018s 106.44x faster
7060005655815754299976961394452809 13.555s 3.467s 3.91x faster

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~21–28MB
~556K SLoC