fixing jubjub

This commit is contained in:
ada
2021-02-12 20:10:00 +01:00
parent 2de8ac7b35
commit e9dc84a5d2
2 changed files with 9 additions and 14 deletions

View File

@@ -6,17 +6,17 @@
(
(let* [
u1 (alloc-input "u1" param1)
v1 (alloc-input "v1" param2)
u2 (alloc-input "u2" param3)
v2 (alloc-input "v2" param4)
u1 (alloc "u1" param1)
v1 (alloc "v1" param2)
u2 (alloc "u2" param3)
v2 (alloc "v2" param4)
EDWARDS_D (alloc-const "EDWARDS_D" (scalar "2a9318e74bfa2b48f5fd9207e6bd7fd4292d7f6d37579d2601065fd6d6343eb1"))
U (alloc "U" (* (+ u1 v1) (+ u2 v2)))
A (alloc "A" (* v2 u1))
B (alloc "B" (* u2 v1))
C (alloc "C" (* EDWARDS_D (* A B)))
u3 (alloc "u3" (/ (+ A B) (+ scalar::one C)))
v3 (alloc "v3" (/ (- (- U A) B) (- scalar::one C)))
u3 (alloc-input "u3" (/ (+ A B) (+ scalar::one C)))
v3 (alloc-input "v3" (/ (- (- U A) B) (- scalar::one C)))
]
(prove
(setup

View File

@@ -566,18 +566,13 @@ pub fn prove(_ast: MalVal, env: Env) -> MalRet {
let proof = groth16::create_random_proof(circuit, params.as_ref().unwrap(), &mut OsRng)?;
// todo save the proof and keys on a file
let mut vec_input = vec![];
for (k, val) in allocs_input.iter() {
if let MalVal::ZKScalar(v) = val {
vec_input.push(*v);
}
}
println!("vec input {:?}", vec_input);
let mut vec_public = Vec::new();
let result = groth16::verify_proof(
verifying_key.as_ref().unwrap(),
&proof,
vec_input.as_slice(),
&vec_public,
);
println!("vec public {:?}", vec_public);
println!("{:?}", result);
Ok(MalVal::Nil)