UNPKG

@dedis/kyber

Version:

A typescript implementation of Kyber interfaces

36 lines (35 loc) 1.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const edwards25519_1 = __importDefault(require("./edwards25519")); exports.edwards25519 = edwards25519_1.default; const nist_1 = __importDefault(require("./nist")); exports.nist = nist_1.default; function p256Group() { return new nist_1.default.Curve(nist_1.default.Params.p256); } const mappings = new Map([ ["edwards25519", () => new edwards25519_1.default.Curve()], ["p256", p256Group], ]); /** * availableCurves returns all the curves currently implemented as an array of string */ function availableCurves() { return Array.from(mappings.keys()); } exports.availableCurves = availableCurves; /** * newCurve returns a new curve from its name. The name must be in the list returned by `availableCurves()`. * @throws {Error} if the name is not known. */ function newCurve(name) { const got = mappings.get(name); if (got === undefined) { throw new Error("curve not known"); } return got(); } exports.newCurve = newCurve;