1extern crate rand;
2extern crate bigint;
3extern crate rustc_hex;
4
5mod key;
6
7#[cfg(test)]
8mod tests {
9 use super::*;
10 #[test]
11 fn test_lamport_signature() {
12 let plain_text = "secret message";
13 let private_key = key::PrivateKey::new();
14 let signature = private_key.sign(&plain_text);
15 let public_key = private_key.to_public_key();
16 let is_valid = public_key.verify(plain_text, signature);
17 assert_eq!(key::PRIVATE_KEY_LENGT, private_key.pairs.len());
18 assert_eq!(key::PRIVATE_KEY_LENGT, private_key.public_key.pairs.len());
19 assert_eq!(true, is_valid);
20 }
21}