crypto: add generatePrime/checkPrime
APIs for generating and checking pseudo-random primes.
Scratching an itch here. For a set of crypto benchmarks that I've been running I've needed the ability to generate prime test vectors but always had to rely on an external module. Which is silly since openssl has this built in and quite easy to expose.
One of the use cases is to generate primes for diffie hellman with a bit more control over the generation parameters.
crypto.generatePrime(32, {
safe: true,
add: 12n,
rem: 11n,
}, (err, prime) => {
const dh = crypto.createDiffieHellman(prime);
});
The crypto.checkPrime()
does exactly what its name suggest... verifies that an input is a prime within a reasonable margin of error.
Signed-off-by: James M Snell jasnell@gmail.com