]> git.lizzy.rs Git - PAKEs.git/blob - spake2/benches/spake2.rs
spake2: capitalization and doc fixes (#89)
[PAKEs.git] / spake2 / benches / spake2.rs
1 use bencher::Bencher;
2 use bencher::{benchmark_group, benchmark_main};
3 use spake2::{Ed25519Group, Identity, Password, Spake2};
4
5 fn spake2_start(bench: &mut Bencher) {
6     bench.iter(|| {
7         let (_, _) = Spake2::<Ed25519Group>::start_a(
8             &Password::new(b"password"),
9             &Identity::new(b"idA"),
10             &Identity::new(b"idB"),
11         );
12     })
13 }
14
15 /*
16 fn spake2_finish(bench: &mut Bencher) {
17     // this doesn't work, because s1 is consumed by doing finish()
18     let (s1, msg1) = SPAKE2::<Ed25519Group>::start_a(
19         &Password::new(b"password"),
20         &Identity::new(b"idA"),
21         &Identity::new(b"idB"),
22     );
23     let (s2, msg2) = SPAKE2::<Ed25519Group>::start_b(
24         &Password::new(b"password"),
25         &Identity::new(b"idA"),
26         &Identity::new(b"idB"),
27     );
28     let msg2_slice = msg2.as_slice();
29     bench.iter(|| s1.finish(msg2_slice))
30 }
31 */
32
33 fn spake2_start_and_finish(bench: &mut Bencher) {
34     let (_, msg2) = Spake2::<Ed25519Group>::start_b(
35         &Password::new(b"password"),
36         &Identity::new(b"idA"),
37         &Identity::new(b"idB"),
38     );
39     let msg2_slice = msg2.as_slice();
40     bench.iter(|| {
41         let (s1, _) = Spake2::<Ed25519Group>::start_a(
42             &Password::new(b"password"),
43             &Identity::new(b"idA"),
44             &Identity::new(b"idB"),
45         );
46         s1.finish(msg2_slice)
47     })
48 }
49
50 benchmark_group!(
51     benches,
52     spake2_start,
53     //spake2_finish,
54     spake2_start_and_finish
55 );
56 benchmark_main!(benches);