INNER CODE UNIT · TypeScript

evaluate

privy-io/shamir-secret-sharing · src/index.ts:132

function evaluate(coefficients: Uint8Array, x: number, degree: number) {
  if (x === 0) {
    throw new Error('cannot evaluate secret polynomial at zero');
  }

  let result = coefficients[degree]!;

  for (let i = degree - 1; i >= 0; i--) {
    const coefficient = coefficients[i]!;
    result = add(mult(result, x), coefficient);
  }

  return result;
}

// Creates a pseudo-random set of coefficients for a polynomial.
function newCoefficients(intercept: number, degree: number): Readonly<Uint8Array> {
  const coefficients = new Uint8Array(degree + 1);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…