Skip to content

Commit cdf1bc5

Browse files
committed
cargo fmt + add deprecation flag
1 parent b059d04 commit cdf1bc5

24 files changed

+248
-255
lines changed

benches/dleq_benches.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ mod dleq_benches {
2323
use curve25519_dalek::constants as dalek_constants;
2424
use curve25519_dalek::ristretto::RistrettoPoint;
2525
use curve25519_dalek::scalar::Scalar;
26+
use sigma_rs::old::Transcript;
2627
use sigma_rs::old::{
2728
batch_verifier::BatchVerifier, prover::Prover, verifier::Verifier, SchnorrCS,
2829
};
29-
use sigma_rs::old::Transcript;
3030

3131
#[allow(non_snake_case)]
3232
fn dleq_statement<CS: SchnorrCS>(

src/codec/keccak_codec.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020
//! - `KeccakPermutationState`: Low-level Keccak-f[1600] state representation
2121
//! - `KeccakDuplexSponge`: Duplex sponge over 200-byte state buffer
2222
//! - `ByteSchnorrCodec`: Fiat-Shamir transcript codec compatible with Sage Schnorr proofs
23-
use crate::codec::r#trait::{DuplexSpongeInterface, Codec};
23+
use crate::codec::r#trait::{Codec, DuplexSpongeInterface};
2424
use crate::serialisation::GroupSerialisation;
2525
use ff::PrimeField;
2626
use group::{Group, GroupEncoding};
2727
use num_bigint::BigUint;
28+
use num_traits::identities::One;
2829
use std::convert::TryInto;
2930
use tiny_keccak::keccakf;
30-
use num_traits::identities::One;
3131

3232
const R: usize = 136;
3333
const N: usize = 136 + 64;
@@ -162,7 +162,7 @@ impl DuplexSpongeInterface for KeccakDuplexSponge {
162162
self.squeeze_index += chunk_size;
163163
length -= chunk_size;
164164
output.extend_from_slice(
165-
&self.state.state[self.squeeze_index..self.squeeze_index + chunk_size]
165+
&self.state.state[self.squeeze_index..self.squeeze_index + chunk_size],
166166
);
167167
}
168168

src/errors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ pub enum ProofError {
1919
/// Occurs when a feature is not implemented yet.
2020
#[error("The method is not yet implemented for this struct")]
2121
NotImplemented(&'static str),
22-
}
22+
}

src/fiat_shamir.rs

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@
1313
//! - `C`: the codec (`Codec` trait).
1414
//! - `G`: the group used for commitments and operations (`Group` trait).
1515
16-
use crate::{
17-
codec::Codec, CompactProtocol, ProofError, SigmaProtocol
18-
};
16+
use crate::{codec::Codec, CompactProtocol, ProofError, SigmaProtocol};
1917

2018
use group::{Group, GroupEncoding};
2119
use rand::{CryptoRng, RngCore};
@@ -67,7 +65,7 @@ where
6765
pub fn prove(
6866
&mut self,
6967
witness: &P::Witness,
70-
rng: &mut (impl RngCore + CryptoRng)
68+
rng: &mut (impl RngCore + CryptoRng),
7169
) -> (P::Commitment, P::Challenge, P::Response) {
7270
let mut codec = self.hash_state.clone();
7371

@@ -78,9 +76,7 @@ where
7876
data.extend_from_slice(commit.to_bytes().as_ref());
7977
}
8078
// Fiat Shamir challenge
81-
let challenge = codec
82-
.prover_message(&data)
83-
.verifier_challenge();
79+
let challenge = codec.prover_message(&data).verifier_challenge();
8480
// Prover's response
8581
let response = self.sigmap.prover_response(prover_state, &challenge);
8682
// Local verification of the proof
@@ -96,7 +92,7 @@ where
9692
&mut self,
9793
commitment: &P::Commitment,
9894
challenge: &P::Challenge,
99-
response: &P::Response
95+
response: &P::Response,
10096
) -> Result<(), ProofError> {
10197
let mut codec = self.hash_state.clone();
10298

@@ -106,9 +102,7 @@ where
106102
data.extend_from_slice(commit.to_bytes().as_ref());
107103
}
108104
// Recompute the challenge
109-
let expected_challenge = codec
110-
.prover_message(&data)
111-
.verifier_challenge();
105+
let expected_challenge = codec.prover_message(&data).verifier_challenge();
112106
// Verification of the proof
113107
match *challenge == expected_challenge {
114108
true => self.sigmap.verifier(commitment, challenge, response),
@@ -119,17 +113,14 @@ where
119113
pub fn prove_batchable(
120114
&mut self,
121115
witness: &P::Witness,
122-
rng: &mut (impl RngCore + CryptoRng)
116+
rng: &mut (impl RngCore + CryptoRng),
123117
) -> Vec<u8> {
124118
let (commitment, challenge, response) = self.prove(witness, rng);
125119
self.sigmap
126120
.serialize_batchable(&commitment, &challenge, &response)
127121
}
128122

129-
pub fn verify_batchable(
130-
&mut self,
131-
proof: &[u8]
132-
) -> Result<(), ProofError> {
123+
pub fn verify_batchable(&mut self, proof: &[u8]) -> Result<(), ProofError> {
133124
let (commitment, response) = self.sigmap.deserialize_batchable(proof).unwrap();
134125

135126
let mut codec = self.hash_state.clone();
@@ -140,9 +131,7 @@ where
140131
data.extend_from_slice(commit.to_bytes().as_ref());
141132
}
142133
// Recompute the challenge
143-
let challenge = codec
144-
.prover_message(&data)
145-
.verifier_challenge();
134+
let challenge = codec.prover_message(&data).verifier_challenge();
146135
// Verification of the proof
147136
self.sigmap.verifier(&commitment, &challenge, &response)
148137
}
@@ -157,21 +146,18 @@ where
157146
pub fn prove_compact(
158147
&mut self,
159148
witness: &P::Witness,
160-
rng: &mut (impl RngCore + CryptoRng)
149+
rng: &mut (impl RngCore + CryptoRng),
161150
) -> Vec<u8> {
162151
let (commitment, challenge, response) = self.prove(witness, rng);
163152
self.sigmap
164153
.serialize_compact(&commitment, &challenge, &response)
165154
}
166155

167-
pub fn verify_compact(
168-
&mut self,
169-
proof: &[u8]
170-
) -> Result<(), ProofError> {
156+
pub fn verify_compact(&mut self, proof: &[u8]) -> Result<(), ProofError> {
171157
let (challenge, response) = self.sigmap.deserialize_compact(proof).unwrap();
172158
// Compute the commitments
173159
let commitment = self.sigmap.get_commitment(&challenge, &response);
174160
// Verify the proof
175161
self.verify(&commitment, &challenge, &response)
176162
}
177-
}
163+
}

src/group_morphism.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ impl<G: Group> Morphism<G> {
9292
self.linear_combination
9393
.iter()
9494
.map(|lc| {
95-
let coefficients: Vec<_> = lc.scalar_indices.iter().map(|&i| scalars[i.0]).collect();
95+
let coefficients: Vec<_> =
96+
lc.scalar_indices.iter().map(|&i| scalars[i.0]).collect();
9697
let elements: Vec<_> = lc
9798
.element_indices
9899
.iter()
@@ -172,7 +173,9 @@ where
172173
let start = self.morphism.num_elements;
173174
let indices: Vec<usize> = (start..start + n).collect();
174175

175-
self.morphism.group_elements.extend(iter::repeat(G::identity()).take(n));
176+
self.morphism
177+
.group_elements
178+
.extend(iter::repeat(G::identity()).take(n));
176179
let mut points = Vec::new();
177180
for i in indices.iter() {
178181
points.push(PointVar(*i));

src/lib.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,23 @@ pub mod errors;
1717
pub mod fiat_shamir;
1818
pub mod group_morphism;
1919
pub mod group_serialisation;
20+
pub mod proof_builder;
2021
pub mod proof_composition;
2122
pub mod schnorr_proof;
22-
pub mod r#trait;
23-
pub mod proof_builder;
2423
pub mod serialisation;
24+
pub mod r#trait;
2525

2626
pub use errors::*;
2727
pub use fiat_shamir::*;
2828
pub use group_morphism::*;
29+
pub use proof_builder::*;
2930
pub use proof_composition::*;
30-
pub use schnorr_proof::*;
3131
pub use r#trait::*;
32-
pub use proof_builder::*;
32+
pub use schnorr_proof::*;
3333

3434
pub mod codec;
35+
#[deprecated(
36+
since = "0.2.0",
37+
note = "This module contains the old implementation of Sigma protocols from Henry de Valence."
38+
)]
3539
pub mod old;

src/old/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
pub mod toolbox;
21
pub mod macros;
32
pub mod proofs;
3+
pub mod toolbox;
44
pub mod util;
55

6-
pub use toolbox::*;
6+
pub use merlin::Transcript;
77
pub use proofs::*;
8+
pub use toolbox::*;
89
pub use util::*;
9-
pub use merlin::Transcript;

src/old/toolbox/mod.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@
3535
3636
/// Implements batch verification of batchable proofs.
3737
pub mod batch_verifier;
38-
/// Implements proof creation.
39-
pub mod prover;
4038
/// Contains lower-level tools that allow programmable specification of proof statements.
4139
pub mod constraints;
40+
/// Implements proof creation.
41+
pub mod prover;
4242
/// Implements proof verification of compact and batchable proofs.
4343
pub mod verifier;
4444

@@ -47,8 +47,7 @@ use curve25519_dalek::scalar::Scalar;
4747
use curve25519_dalek::traits::IsIdentity;
4848

4949
use crate::old::Transcript;
50-
use crate::{ProofError};
51-
50+
use crate::ProofError;
5251

5352
/// An interface for specifying proof statements, common between
5453
/// provers and verifiers.

src/old/toolbox/prover.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ use curve25519_dalek::ristretto::{CompressedRistretto, RistrettoPoint};
44
use curve25519_dalek::scalar::Scalar;
55
use curve25519_dalek::traits::MultiscalarMul;
66

7-
use crate::old::toolbox::SchnorrCS;
87
use crate::old::toolbox::constraints::TranscriptProtocol;
8+
use crate::old::toolbox::SchnorrCS;
99
use crate::old::{BatchableProof, CompactProof, Transcript};
1010

1111
/// Used to create proofs.

src/old/toolbox/verifier.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use curve25519_dalek::ristretto::{CompressedRistretto, RistrettoPoint};
55
use curve25519_dalek::scalar::Scalar;
66
use curve25519_dalek::traits::{IsIdentity, VartimeMultiscalarMul};
77

8-
use crate::old::SchnorrCS;
98
use crate::old::toolbox::constraints::TranscriptProtocol;
9+
use crate::old::SchnorrCS;
1010
use crate::old::{BatchableProof, CompactProof, Transcript};
1111
use crate::ProofError;
1212

0 commit comments

Comments
 (0)