Intermediary testing commit

This commit is contained in:
Evan Laufer
2022-07-12 15:52:39 -07:00
parent c45f736e72
commit 8005aa2e37
19 changed files with 426 additions and 177 deletions

View File

@@ -32,16 +32,18 @@ use circ::target::r1cs::bellman::{gen_params, prove, verify};
use circ::target::r1cs::opt::reduce_linearities;
use circ::target::r1cs::trans::to_r1cs;
#[cfg(feature = "marlin")]
use circ::target::r1cs::marlin;
#[cfg(feature = "marlin")]
use ark_bls12_381::{Bls12_381, Fr as BlsFr};
#[cfg(feature = "marlin")]
use ark_poly_commit::marlin::marlin_pc::MarlinKZG10;
use ark_marlin::SimpleHashFiatShamirRng;
#[cfg(feature = "marlin")]
use ark_poly::univariate::DensePolynomial;
#[cfg(feature = "marlin")]
use ark_marlin::rng::FiatShamirRng;
use ark_poly_commit::marlin::marlin_pc::MarlinKZG10;
#[cfg(feature = "marlin")]
use circ::target::r1cs::marlin;
#[cfg(feature = "marlin")]
use rand_chacha::ChaChaRng;
#[cfg(feature = "marlin")]
use sha2::Sha256;
@@ -274,13 +276,14 @@ fn main() {
Mode::Proof | Mode::ProofOfHighValue(_) => opt(
cs,
vec![
Opt::RamExt,
Opt::ScalarizeVars,
Opt::Flatten,
Opt::Sha,
Opt::ConstantFold(Box::new([])),
Opt::Flatten,
Opt::Inline,
Opt::Tuple,
Opt::RamExt,
// Tuples must be eliminated before oblivious array elim
Opt::Tuple,
Opt::ConstantFold(Box::new([])),
@@ -328,21 +331,24 @@ fn main() {
&verifier_data,
)
.unwrap();
},
}
#[cfg(feature = "marlin")]
ProofSystem::Marlin => {
marlin::gen_params::<BlsFr, MarlinKZG10<Bls12_381, DensePolynomial<BlsFr>>, Sha256, _, _>(
prover_key,
verifier_key,
&prover_data,
&verifier_data,
marlin::gen_params::<
BlsFr,
MarlinKZG10<Bls12_381, DensePolynomial<BlsFr>>,
SimpleHashFiatShamirRng<Sha256, ChaChaRng>,
_,
_,
>(
prover_key, verifier_key, &prover_data, &verifier_data
)
.unwrap();
},
}
#[cfg(not(feature = "marlin"))]
ProofSystem::Marlin => {
panic!("Missing feature: marlin");
},
}
}
}
}

View File

@@ -14,9 +14,11 @@ use ark_poly_commit::marlin::marlin_pc::MarlinKZG10;
#[cfg(feature = "marlin")]
use ark_poly::univariate::DensePolynomial;
#[cfg(feature = "marlin")]
use ark_marlin::rng::FiatShamirRng;
use ark_marlin::SimpleHashFiatShamirRng;
#[cfg(feature = "marlin")]
use sha2::Sha256;
#[cfg(feature = "marlin")]
use rand_chacha::ChaChaRng;
#[derive(Debug, StructOpt)]
#[structopt(name = "circ", about = "CirC: the circuit compiler")]
@@ -67,7 +69,7 @@ fn main() {
},
#[cfg(feature = "marlin")]
ProofSystem::Marlin => {
marlin::prove::<BlsFr, MarlinKZG10<Bls12_381, DensePolynomial<BlsFr>>, Sha256, _, _>(opts.prover_key, opts.proof, &input_map).unwrap();
marlin::prove::<BlsFr, MarlinKZG10<Bls12_381, DensePolynomial<BlsFr>>, SimpleHashFiatShamirRng<Sha256, ChaChaRng>, _, _>(opts.prover_key, opts.proof, &input_map).unwrap();
}
#[cfg(not(feature = "marlin"))]
ProofSystem::Marlin => {
@@ -83,7 +85,7 @@ fn main() {
},
#[cfg(feature = "marlin")]
ProofSystem::Marlin => {
marlin::verify::<BlsFr, MarlinKZG10<Bls12_381, DensePolynomial<BlsFr>>, Sha256, _, _>(opts.verifier_key, opts.proof, &input_map).unwrap();
marlin::verify::<BlsFr, MarlinKZG10<Bls12_381, DensePolynomial<BlsFr>>, SimpleHashFiatShamirRng<Sha256, ChaChaRng>, _, _>(opts.verifier_key, opts.proof, &input_map).unwrap();
}
#[cfg(not(feature = "marlin"))]
ProofSystem::Marlin => {