shamirs-secret-sharing-ts
Version:
A simple implementation of Shamir's Secret Sharing configured to use a finite field in GF(2^8) with 128 bit padding
22 lines (21 loc) • 577 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const horner_1 = require("./horner");
function points(a0, opts) {
const prng = opts.random;
const a = [a0]; // p(0) = a0 = secret
const p = [];
const t = opts.threshold;
const n = opts.shares;
for (let i = 1; i < t; ++i) {
a[i] = parseInt(prng(1).toString('hex'), 16);
}
for (let i = 1; i < 1 + n; ++i) {
p[i - 1] = {
x: i,
y: horner_1.horner(i, a)
};
}
return p;
}
exports.points = points;