From df8530c24d919eaa5082eea07c4ab7302dddaad2 Mon Sep 17 00:00:00 2001 From: arnau <17317030+arnaucube@users.noreply.github.com> Date: Tue, 29 Sep 2020 20:08:54 +0200 Subject: [PATCH] Add GHA, small clean --- .github/workflows/rust.yml | 13 +++++++++++++ .travis.yml | 9 --------- README.md | 2 +- benches/bench_mimc_hash.rs | 2 +- gen_constants/src/main.rs | 3 --- src/lib.rs | 21 +++++++-------------- 6 files changed, 22 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/rust.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml new file mode 100644 index 0000000..9635bb9 --- /dev/null +++ b/.github/workflows/rust.yml @@ -0,0 +1,13 @@ +name: Test +on: [push, pull_request] +env: + CARGO_TERM_COLOR: always +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Build + run: cargo build --verbose + - name: Run tests + run: cargo test --verbose diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9f108b7..0000000 --- a/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: rust -rust: -- stable - -cache: -- cargo - -script: -- RUST_BACKTRACE=1 cargo test --all diff --git a/README.md b/README.md index 20a92ba..411aa42 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# mimc-rs [![Crates.io](https://img.shields.io/crates/v/mimc-rs.svg)](https://crates.io/crates/mimc-rs) [![Build Status](https://travis-ci.org/arnaucube/mimc-rs.svg?branch=master)](https://travis-ci.org/arnaucube/mimc-rs) +# mimc-rs [![Crates.io](https://img.shields.io/crates/v/mimc-rs.svg)](https://crates.io/crates/mimc-rs) [![Test](https://github.com/arnaucube/mimc-rs/workflows/Test/badge.svg)](https://github.com/arnaucube/mimc-rs/actions?query=workflow%3ATest) MIMC7 hash implementation in Rust, a zkSNARK friendly hash function. https://eprint.iacr.org/2016/492.pdf diff --git a/benches/bench_mimc_hash.rs b/benches/bench_mimc_hash.rs index efcdcc7..cb1188f 100644 --- a/benches/bench_mimc_hash.rs +++ b/benches/bench_mimc_hash.rs @@ -20,7 +20,7 @@ fn criterion_benchmark(c: &mut Criterion) { big_arr.push(b2.clone()); let mimc7 = Mimc7::new(); - c.bench_function("hash", |b| b.iter(|| mimc7.hash(big_arr.clone()).unwrap())); + c.bench_function("hash", |b| b.iter(|| mimc7.hash(big_arr.clone()))); } criterion_group!(benches, criterion_benchmark); diff --git a/gen_constants/src/main.rs b/gen_constants/src/main.rs index d961b96..6643216 100644 --- a/gen_constants/src/main.rs +++ b/gen_constants/src/main.rs @@ -90,9 +90,6 @@ fn main() { println!(" {:?},", c.cts[i].to_string()); } println!("];"); - println!("let r: Fr = Fr::from_str("); - println!(" {:?},", c.r.to_string()); - println!(").unwrap();"); println!("let n_rounds: i64 = {:?};", c.n_rounds); } diff --git a/src/lib.rs b/src/lib.rs index 113471e..8119b0e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -9,7 +9,6 @@ use ff::*; pub struct Fr(FrRepr); pub struct Constants { - r: Fr, n_rounds: i64, cts: Vec, } @@ -109,10 +108,6 @@ pub fn load_constants() -> Constants { "18979889247746272055963929241596362599320706910852082477600815822482192194401", "13602139229813231349386885113156901793661719180900395818909719758150455500533", ]; - let r: Fr = Fr::from_str( - "21888242871839275222246405745257275088548364400416034343698204186575808495617", - ) - .unwrap(); let n_rounds: i64 = 91; let mut cts: Vec = Vec::new(); @@ -121,7 +116,6 @@ pub fn load_constants() -> Constants { cts.push(n); } Constants { - r: r, n_rounds: n_rounds, cts: cts, } @@ -159,14 +153,13 @@ impl Mimc7 { t.add_assign(&k); t.add_assign(&self.constants.cts[i]); } - let mut t5 = t.clone(); - t5.mul_assign(&t); - t5.mul_assign(&t); - t5.mul_assign(&t); - t5.mul_assign(&t); - t5.mul_assign(&t); - t5.mul_assign(&t); - h = t5.clone(); + let mut t2 = t.clone(); + t2.square(); + let mut t7 = t2.clone(); + t7.square(); + t7.mul_assign(&t2); + t7.mul_assign(&t); + h = t7.clone(); } h.add_assign(&k); h