From 210da1c672f0ec6038597645b1e4deeb2c0ba999 Mon Sep 17 00:00:00 2001 From: Rostyslav Tyshko Date: Sat, 2 Nov 2024 01:34:34 +0100 Subject: [PATCH] add test_calculate_shared_secret_receiver --- accounts/src/key_management/mod.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/accounts/src/key_management/mod.rs b/accounts/src/key_management/mod.rs index 20342f3..f8d1bc9 100644 --- a/accounts/src/key_management/mod.rs +++ b/accounts/src/key_management/mod.rs @@ -95,6 +95,21 @@ mod tests { assert!(!Into::::into(address_key_holder.viewing_public_key.is_identity())); } + #[test] + fn test_calculate_shared_secret_receiver() { + let address_key_holder = AddressKeyHolder::new_os_random(); + + // Generate a random ephemeral public key sender + let scalar = Scalar::random(&mut OsRng); + let ephemeral_public_key_sender = (ProjectivePoint::generator() * scalar).to_affine(); + + // Calculate shared secret + let shared_secret = address_key_holder.calculate_shared_secret_receiver(ephemeral_public_key_sender); + + // Ensure the shared secret is not an identity point (suggesting non-zero output) + assert!(!Into::::into(shared_secret.is_identity())); + } + #[test] fn key_generation_test() { let seed_holder = SeedHolder::new_os_random();