0.0.19 • Published 10 months ago

@yaffle/ecm v0.0.19

Weekly downloads
-
License
ISC
Repository
github
Last release
10 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

10 months ago

0.0.19

10 months ago

0.0.15

10 months ago

0.0.16

10 months ago

0.0.17

10 months ago

0.0.10

10 months ago

0.0.12

10 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.4

11 months ago

0.0.1

11 months ago