Shamir { public static EcPoint[] computeSharePublicKeys(final EcPoint[] feldmanValues, final int n) { final EcPoint[] sharePublicKeys = new EcPoint[n]; for (int i = 0; i < n; i++) { sharePublicKeys[i] = computeSharePublicKey(feldmanValues, i+1); } return sharePublicKeys; }  static BigInteger[] generateCoefficients(final int threshold); static BigInteger[] generateCoefficients(final int threshold, final int indexOfZero); static EcPoint[] generateFeldmanValues(final BigInteger[] coefficients); static EcPoint[] generateFeldmanValues(final BigInteger[] coefficients, final EcPoint base); static ShamirShare[] generateShares(final BigInteger[] coefficients, final int n); static void verifyShamirShareConsistency(final ShamirShare share, final EcPoint[] feldmanValues); static EcPoint[] computeSharePublicKeys(final EcPoint[] feldmanValues, final int n); static EcPoint computeSharePublicKey(final EcPoint[] feldmanValues, final int xPosition); final static EcCurve curve; final static BigInteger r; final static EcPoint G; }
@Test public void testComputeSharePublicKeys() { fail("Not yet implemented"); }