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