From 72d02e3cc329a5d0895397fa6e4f0c7c4cc00a0f Mon Sep 17 00:00:00 2001 From: mjalalzai <33738574+MForensic@users.noreply.github.com> Date: Mon, 28 Aug 2023 13:35:50 -0700 Subject: [PATCH] Signature aggregation cost at top committees --- scripts/authenticator_cost.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/authenticator_cost.py b/scripts/authenticator_cost.py index d4b975d..a1f8826 100644 --- a/scripts/authenticator_cost.py +++ b/scripts/authenticator_cost.py @@ -18,3 +18,20 @@ def verify_signatures(committee_size, depth): elapsed_time = end_time - start_time return elapsed_time +def aggregate_signatures(committee_size, root_members): + # Simulate aggregating 3 * committee_size signatures + start_time = time.time() + + # Generate multiple EdDSA key pairs for signature aggregation + private_keys = [ed25519.create_keypair() for _ in range(root_members * committee_size)] + + # Simulate signature aggregation + shared_message = b"Shared message to be signed" + signatures = [private_key[0].sign(shared_message) for private_key in private_keys] + + # Aggregation isn't straightforward for EdDSA; we'll skip it in this example + + end_time = time.time() + elapsed_time = end_time - start_time + return elapsed_time +