Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
zudo committed Jun 13, 2023
1 parent b16346e commit 4383efc
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 53 deletions.
19 changes: 7 additions & 12 deletions examples/blsag.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,14 @@ use ring_signature::blsag::BLSAG;
use ring_signature::Ring;
use ring_signature::Secret;
use sha2::Sha512;
const X: usize = 11;
const DATA: &[u8] = b"hi";
fn main() {
let rng = &mut OsRng {};
let secret = Secret::new(rng);
let n = 2;
let data_0 = b"hello";
let data_1 = b"world";
let ring_0 = Ring::random(n - 1);
let ring_1 = Ring::random(n - 1);
let blsag_0 = BLSAG::sign::<Sha512>(rng, &secret, ring_0, data_0).unwrap();
let blsag_1 = BLSAG::sign::<Sha512>(rng, &secret, ring_1, data_1).unwrap();
println!("{:?}", blsag_0);
println!("{:?}", blsag_1);
println!("{:?}", blsag_0.verify::<Sha512>(data_0));
println!("{:?}", blsag_1.verify::<Sha512>(data_1));
println!("{}", BLSAG::link(&[blsag_0.image, blsag_1.image]));
let ring = Ring::random(X - 1);
let blsag = BLSAG::sign::<Sha512>(rng, &secret, ring, DATA).unwrap();
println!("{:?}", blsag);
println!("Bytes: {}", bincode::serialize(&blsag).unwrap().len());
println!("Valid: {}", blsag.verify::<Sha512>(DATA));
}
45 changes: 9 additions & 36 deletions examples/clsag.rs
Original file line number Diff line number Diff line change
@@ -1,44 +1,17 @@
use rand_core::OsRng;
use ring_signature::clsag::CLSAG;
use ring_signature::point;
use ring_signature::Rings;
use ring_signature::Secret;
use sha2::Sha512;
const X: usize = 11;
const Y: usize = 2;
const DATA: &[u8] = b"hi";
fn main() {
let rng = &mut OsRng {};
let ring_size = 11; // 10 decoys
let ring_layers = 2; // 2 inputs
let secrets = (0..ring_layers)
.map(|_| Secret::new(rng))
.collect::<Vec<_>>();
let data_0 = b"hello";
let data_1 = b"world";
let ring_0 = Rings::decompress(
&(0..(ring_size - 1))
.map(|_| {
(0..ring_layers)
.map(|_| point::random().compress().to_bytes())
.collect()
})
.collect::<Vec<Vec<_>>>(),
)
.unwrap();
let ring_1 = Rings::decompress(
&(0..(ring_size - 1))
.map(|_| {
(0..ring_layers)
.map(|_| point::random().compress().to_bytes())
.collect()
})
.collect::<Vec<Vec<_>>>(),
)
.unwrap();
let blsag_0 = CLSAG::sign::<Sha512>(rng, &secrets.clone(), ring_0, data_0).unwrap();
let blsag_1 = CLSAG::sign::<Sha512>(rng, &secrets.clone(), ring_1, data_1).unwrap();
println!("{:?}", blsag_0);
println!("{:?}", blsag_1);
println!("{:?}", blsag_0.verify::<Sha512>(data_0));
println!("{:?}", blsag_1.verify::<Sha512>(data_1));
println!("{}", CLSAG::link(&[&blsag_0.images, &blsag_1.images]));
println!("{}", bincode::serialize(&blsag_0).unwrap().len())
let secrets = (0..Y).map(|_| Secret::new(rng)).collect::<Vec<_>>();
let ring = Rings::random(X - 1, Y);
let clsag = CLSAG::sign::<Sha512>(rng, &secrets.clone(), ring, DATA).unwrap();
println!("{:?}", clsag);
println!("Bytes: {}", bincode::serialize(&clsag).unwrap().len());
println!("Valid: {}", clsag.verify::<Sha512>(DATA));
}
11 changes: 6 additions & 5 deletions examples/sag.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@ use ring_signature::sag::SAG;
use ring_signature::Ring;
use ring_signature::Secret;
use sha2::Sha512;
const X: usize = 11;
const DATA: &[u8] = b"hi";
fn main() {
let rng = &mut OsRng {};
let secret = Secret::new(rng);
let n = 2;
let ring = Ring::random(n - 1);
let data = "hello world";
let sag = SAG::sign::<Sha512>(rng, &secret, ring, data).unwrap();
let ring = Ring::random(X - 1);
let sag = SAG::sign::<Sha512>(rng, &secret, ring, DATA).unwrap();
println!("{:?}", sag);
println!("{:?}", sag.verify::<Sha512>(data));
println!("Bytes: {}", bincode::serialize(&sag).unwrap().len());
println!("Valid: {}", sag.verify::<Sha512>(DATA));
}

0 comments on commit 4383efc

Please sign in to comment.