0.0.19 • Published 6 months ago

@yaffle/ecm v0.0.19

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago
  1. Lenstra elliptic-curve factorization

Usage:

npm install @yaffle/ecm

import ecm from './ecm.js';

console.log(ecm(2n**128n + 1n, true)); // 59649589127497217n, it takes about 2 seconds

function factors(n, count) {
  const f = ecm(n, true);
  return [f].concat(count === 2 ? [n / f] : factors(n / f, count - 1));
}

console.time();
console.log(factors(2n**2048n+1n, 5)); //  ~3 minutes
console.timeEnd();

console.time();
console.log(factors(2n**1024n+1n, 4)); //  ~2 days
console.timeEnd();

By default it searches for small factors only. The second argument unlimits the search to look for bigger factors. If a factor is not found 0n is returned.

Do not call for prime numbers.

0.0.18

6 months ago

0.0.19

6 months ago

0.0.15

6 months ago

0.0.16

6 months ago

0.0.17

6 months ago

0.0.10

7 months ago

0.0.12

7 months ago

0.0.9

7 months ago

0.0.8

7 months ago

0.0.7

7 months ago

0.0.6

7 months ago

0.0.5

7 months ago

0.0.3

7 months ago

0.0.2

7 months ago

0.0.4

7 months ago

0.0.1

8 months ago