make edwards an optional feature, and separate benches
This commit is contained in:
parent
28f58d7222
commit
3c61f6f043
5 changed files with 59 additions and 39 deletions
48
bench/edwards.rs
Normal file
48
bench/edwards.rs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
#![cfg(feature = "edwards")]
|
||||
#![feature(test)]
|
||||
|
||||
extern crate test;
|
||||
|
||||
mod benches {
|
||||
use test::{black_box, Bencher};
|
||||
use crypto_bigint::U448;
|
||||
use diffie_hellman::edwards::{ed448_clamp, ED448_GOLDILOCKS};
|
||||
use diffie_hellman::traits::{Curve, Point};
|
||||
|
||||
#[bench]
|
||||
fn edwards_point_add(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.generator();
|
||||
let q = p.double();
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.add(&q, &p))
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn edwards_point_double(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.generator();
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.double())
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn edwards_ladder(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.point(U448::from_u32(123456789));
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.ladder(&ed448_clamp(U448::from_u64(987654321))))
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn constant_time_edwards_ladder(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.point(U448::from_u32(123456789));
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.ct_ladder(&ed448_clamp(U448::from_u64(987654321))))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
#![feature(test)]
|
||||
|
||||
extern crate test;
|
||||
|
||||
mod benches {
|
||||
|
|
@ -64,42 +65,5 @@ mod benches {
|
|||
black_box(p.ct_ladder(&clamp_u256(U256::from_u64(987654321))))
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn edwards_point_add(b: &mut Bencher) {
|
||||
let p = CURVE_25519.generator();
|
||||
let q = p.double();
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.add(&q, &p))
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn edwards_point_double(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.generator();
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.double())
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn edwards_ladder(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.point(U448::from_u32(123456789));
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.ladder(&ed448_clamp(U448::from_u64(987654321))))
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn constant_time_edwards_ladder(b: &mut Bencher) {
|
||||
let p = ED448_GOLDILOCKS.point(U448::from_u32(123456789));
|
||||
|
||||
b.iter(|| {
|
||||
black_box(p.ct_ladder(&ed448_clamp(U448::from_u64(987654321))))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue