[][src]Crate wedpr_l_crypto_zkp_discrete_logarithm_proof

Zero-knowledge proof (ZKP) functions based on DLP construction.

Functions

prove_product_relationship

Proves three commitments satisfying a product relationship, i.e. the values embedded in them satisfying c1_value * c2_value = c3_value. c3_value is not in the argument list, and will be directly computed from c1_value * c2_value. c?_blinding are random blinding values used in the commitments. The commitments (c?_valuevalue_basepoint+c?_blindingblinding_basepoint) are not in the argument list, as they are not directly used by the proof generation. It returns a proof for the above product relationship.

prove_sum_relationship

Proves three commitments satisfying a sum relationship, i.e. the values embedded in them satisfying c1_value + c2_value = c3_value. c3_value is not in the argument list, and will be directly computed from c1_value + c2_value. c?_blinding are random blinding values used in the commitments. The commitments (c?_valuevalue_basepoint+c?_blindingblinding_basepoint) are not in the argument list, as they are not directly used by the proof generation. It returns a proof for the above sum relationship.

verify_product_relationship

Verifies three commitments satisfying a product relationship, i.e. the values embedded in c1_point, c2_point, c3_point satisfying c1_value * c2_value = c3_value.

verify_sum_relationship

Verifies three commitments satisfying a sum relationship, i.e. the values embedded in c1_point, c2_point, c3_point satisfying c1_value + c2_value = c3_value.