Can one use zksnark to prove the knowledge of a discrete logarithm? In another word, can zksnark (R1CS) encode exponentiation?
Asked
Active
Viewed 299 times
2 Answers
2
final_exp_gadget<>() of libsnark could be a practical example to tune for DLP. The idea is, "final exponentiation" is a part of Ate pairing, that is verified as a part of check_e_equals_e_gadget<>(), which stands for Groth16 verification equation.
Vadym Fedyukovych
- 2,347
- 14
- 19
1
Yes, for sure! R1CS is an NP-complete language. It is basically a characterization of arithmetic circuits, hence every computation can be expressed as a R1CS.
There are compilers that reduce program executions to R1CS. One of my favourite tools is Zokrates.
István András Seres
- 1,204
- 1
- 10
- 23