public GrothVSSHE( int n, BigInteger p_ENC, BigInteger q_ENC, BigInteger g_ENC, BigInteger h_ENC, long ell_e, long fieldsize, long subgroupsize) { l_e = ell_e; IChannel lej = new ChannelOneWay(); p = p_ENC; q = q_ENC; g = g_ENC; h = h_ENC; // Initialize the commitment scheme and Groth's SKC argument com = new PedersenCommitmentScheme(n, fieldsize, subgroupsize); com.PublishGroup(lej); skc = new GrothSKC(n, lej, ell_e); // Compute $2^{\ell_e}$ for the input reduction. exp2l_e = new BigInteger(2).Pow(ell_e); }
public GrothVSSHE( int n, BigInteger p_ENC, BigInteger q_ENC, BigInteger k_ENC, BigInteger g_ENC, BigInteger h_ENC, long ell_e, long fieldsize, long subgroupsize) { l_e = ell_e; p = p_ENC; q = q_ENC; g = g_ENC; h = h_ENC; System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE p " + p_ENC.BitLength()); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE q " + q_ENC.BitLength()); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE k " + k_ENC.BitLength()); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE g " + g_ENC.BitLength()); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE h " + h_ENC.BitLength()); // Initialize the commitment scheme and Groth's SKC argument com = new PedersenCommitmentScheme(n, p_ENC, q_ENC, k_ENC, h_ENC, fieldsize, subgroupsize); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE h " + h_ENC.BitLength()); IChannel lej = new ChannelOneWay();//TODO this is ugly as hell!!! constructors should not take streams they should take symbols com.PublishGroup(lej); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE h " + h_ENC.BitLength()); skc = new GrothSKC(n, lej, ell_e, fieldsize, subgroupsize); // Compute $2^{\ell_e}$ for the input reduction. exp2l_e = new BigInteger(2).Pow((int)ell_e); System.Diagnostics.Debug.WriteLine("GrothVSSHE::GrothVSSHE h " + h_ENC.BitLength()); }
public GrothVSSHE( int n, IInputChannel input_channel, long ell_e, long fieldsize, long subgroupsize) { l_e = ell_e; p = input_channel.Recieve(); q = input_channel.Recieve(); g = input_channel.Recieve(); h = input_channel.Recieve(); com = new PedersenCommitmentScheme(n, input_channel, fieldsize, subgroupsize); IChannel lej = new ChannelOneWay();//TODO this is ugly as hell!!! constructors should not take streams they should take symbols com.PublishGroup(lej); skc = new GrothSKC(n, lej, ell_e, fieldsize, subgroupsize); // Compute $2^{\ell_e}$ for the input reduction. exp2l_e = new BigInteger(2).Pow(ell_e); }