lamport_sig/
lib.rs

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}