You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
928 B
25 lines
928 B
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getHash = getHash;
|
|
exports.createCurve = createCurve;
|
|
/**
|
|
* Utilities for short weierstrass curves, combined with noble-hashes.
|
|
* @module
|
|
*/
|
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
|
|
const hmac_1 = require("@noble/hashes/hmac");
|
|
const utils_1 = require("@noble/hashes/utils");
|
|
const weierstrass_ts_1 = require("./abstract/weierstrass.js");
|
|
/** connects noble-curves to noble-hashes */
|
|
function getHash(hash) {
|
|
return {
|
|
hash,
|
|
hmac: (key, ...msgs) => (0, hmac_1.hmac)(hash, key, (0, utils_1.concatBytes)(...msgs)),
|
|
randomBytes: utils_1.randomBytes,
|
|
};
|
|
}
|
|
function createCurve(curveDef, defHash) {
|
|
const create = (hash) => (0, weierstrass_ts_1.weierstrass)({ ...curveDef, ...getHash(hash) });
|
|
return { ...create(defHash), create };
|
|
}
|
|
//# sourceMappingURL=_shortw_utils.js.map
|