UNPKG

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
"use strict"; 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;