keybase-ecurve
Version:
Elliptic curve cryptography, which uses keybase/bn for bignums
22 lines (16 loc) • 542 B
JavaScript
var BigInteger = require('bn').BigInteger
var curves = require('./curves')
var Curve = require('./curve')
function getCurveByName(name) {
var curve = curves[name]
if (!curve) return null
var p = new BigInteger(curve.p, 16)
var a = new BigInteger(curve.a, 16)
var b = new BigInteger(curve.b, 16)
var n = new BigInteger(curve.n, 16)
var h = new BigInteger(curve.h, 16)
var Gx = new BigInteger(curve.Gx, 16)
var Gy = new BigInteger(curve.Gy, 16)
return new Curve(p, a, b, Gx, Gy, n, h)
}
module.exports = getCurveByName