From 990f0004e5eca3dc5f151534f8c53d7070e74df1 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Thu, 4 Feb 2021 09:36:34 -0800 Subject: [PATCH] Explcit compress/decompress test --- src/lib.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 1af3f56..e7bca4f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -130,6 +130,7 @@ impl FuzzyTag { /// let tag = public_key.generate_tag(); /// let compressed_tag = tag.compress(); /// let decompressed_tag = FuzzyTag::decompress(&compressed_tag).unwrap(); + /// assert_eq!(tag, decompressed_tag); /// ``` pub fn decompress(bytes: &Vec) -> Option { if bytes.len() > 64 { @@ -480,6 +481,20 @@ mod tests { use curve25519_dalek::ristretto::RistrettoPoint; use curve25519_dalek::scalar::Scalar; + #[test] + fn test_compression() { + let gamma = 24; + let secret_key = FuzzySecretKey::generate(gamma); + let public_key = secret_key.public_key(); + + // Give public key to a another party... + // and then they can do... + let tag = public_key.generate_tag(); + let compressed_tag = tag.compress(); + let decompressed_tag = FuzzyTag::decompress(&compressed_tag).unwrap(); + assert_eq!(tag, decompressed_tag); + } + #[test] fn test_serialization() { // We support up to gamma=64 when deserializing..