mirror of
https://github.com/arnaucube/ark-r1cs-std.git
synced 2026-01-13 09:21:35 +01:00
crypto-primitives no-std (#96)
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use crate::Error;
|
||||
use algebra::bytes::ToBytes;
|
||||
use core::hash::Hash;
|
||||
use rand::Rng;
|
||||
use std::hash::Hash;
|
||||
|
||||
#[cfg(feature = "r1cs")]
|
||||
pub mod constraints;
|
||||
@@ -54,14 +54,13 @@ pub trait SignatureScheme {
|
||||
mod test {
|
||||
use crate::{signature::schnorr::SchnorrSignature, SignatureScheme};
|
||||
use algebra::{
|
||||
curves::edwards_sw6::EdwardsAffine as Edwards, groups::Group, to_bytes, ToBytes,
|
||||
curves::edwards_sw6::EdwardsAffine as Edwards, groups::Group, test_rng, to_bytes, ToBytes,
|
||||
UniformRand,
|
||||
};
|
||||
use blake2::Blake2s;
|
||||
use rand::thread_rng;
|
||||
|
||||
fn sign_and_verify<S: SignatureScheme>(message: &[u8]) {
|
||||
let rng = &mut thread_rng();
|
||||
let rng = &mut test_rng();
|
||||
let parameters = S::setup::<_>(rng).unwrap();
|
||||
let (pk, sk) = S::keygen(¶meters, rng).unwrap();
|
||||
let sig = S::sign(¶meters, &sk, &message, rng).unwrap();
|
||||
@@ -69,7 +68,7 @@ mod test {
|
||||
}
|
||||
|
||||
fn failed_verification<S: SignatureScheme>(message: &[u8], bad_message: &[u8]) {
|
||||
let rng = &mut thread_rng();
|
||||
let rng = &mut test_rng();
|
||||
let parameters = S::setup::<_>(rng).unwrap();
|
||||
let (pk, sk) = S::keygen(¶meters, rng).unwrap();
|
||||
let sig = S::sign(¶meters, &sk, message, rng).unwrap();
|
||||
@@ -77,7 +76,7 @@ mod test {
|
||||
}
|
||||
|
||||
fn randomize_and_verify<S: SignatureScheme>(message: &[u8], randomness: &[u8]) {
|
||||
let rng = &mut thread_rng();
|
||||
let rng = &mut test_rng();
|
||||
let parameters = S::setup::<_>(rng).unwrap();
|
||||
let (pk, sk) = S::keygen(¶meters, rng).unwrap();
|
||||
let sig = S::sign(¶meters, &sk, message, rng).unwrap();
|
||||
@@ -90,7 +89,7 @@ mod test {
|
||||
#[test]
|
||||
fn schnorr_signature_test() {
|
||||
let message = "Hi, I am a Schnorr signature!";
|
||||
let rng = &mut thread_rng();
|
||||
let rng = &mut test_rng();
|
||||
sign_and_verify::<SchnorrSignature<Edwards, Blake2s>>(message.as_bytes());
|
||||
failed_verification::<SchnorrSignature<Edwards, Blake2s>>(
|
||||
message.as_bytes(),
|
||||
|
||||
@@ -4,7 +4,7 @@ use r1cs_std::prelude::*;
|
||||
|
||||
use crate::signature::SigRandomizePkGadget;
|
||||
|
||||
use std::{borrow::Borrow, marker::PhantomData};
|
||||
use core::{borrow::Borrow, marker::PhantomData};
|
||||
|
||||
use crate::signature::schnorr::{SchnorrPublicKey, SchnorrSigParameters, SchnorrSignature};
|
||||
use digest::Digest;
|
||||
|
||||
@@ -1,17 +1,14 @@
|
||||
use crate::{Error, SignatureScheme};
|
||||
use crate::{Error, SignatureScheme, Vec};
|
||||
use algebra::{
|
||||
bytes::ToBytes,
|
||||
fields::{Field, PrimeField},
|
||||
groups::Group,
|
||||
io::{Result as IoResult, Write},
|
||||
to_bytes, One, ToConstraintField, UniformRand, Zero,
|
||||
};
|
||||
use core::{hash::Hash, marker::PhantomData};
|
||||
use digest::Digest;
|
||||
use rand::Rng;
|
||||
use std::{
|
||||
hash::Hash,
|
||||
io::{Result as IoResult, Write},
|
||||
marker::PhantomData,
|
||||
};
|
||||
|
||||
#[cfg(feature = "r1cs")]
|
||||
pub mod constraints;
|
||||
|
||||
Reference in New Issue
Block a user