public GlvTypeBParameters(BigInteger beta, BigInteger lambda, BigInteger[] v1, BigInteger[] v2, BigInteger g1, BigInteger g2, int bits) { this.m_beta = beta; this.m_lambda = lambda; this.m_splitParams = new ScalarSplitParameters(v1, v2, g1, g2, bits); }
public static BigInteger[] DecomposeScalar(ScalarSplitParameters p, BigInteger k) { int bits = p.Bits; BigInteger b1 = CalculateB(k, p.G1, bits); BigInteger b2 = CalculateB(k, p.G2, bits); BigInteger a = k.Subtract((b1.Multiply(p.V1A)).Add(b2.Multiply(p.V2A))); BigInteger b = (b1.Multiply(p.V1B)).Add(b2.Multiply(p.V2B)).Negate(); return(new BigInteger[] { a, b }); }
public GlvTypeAParameters(BigInteger i, BigInteger lambda, ScalarSplitParameters splitParams) { this.m_i = i; this.m_lambda = lambda; this.m_splitParams = splitParams; }
public GlvTypeBParameters(BigInteger beta, BigInteger lambda, ScalarSplitParameters splitParams) { this.m_beta = beta; this.m_lambda = lambda; this.m_splitParams = splitParams; }