KeyCeremony_Coordinator¶Responsible for coordinating communication between the trustees during the key ceremony.
KeyCeremony_Coordinator_new(uint32_t num_trustees, uint32_t threshold)¶Create a new coordinator.
KeyCeremony_Coordinator_new_r¶KeyCeremony_Coordinator_free(KeyCeremony_Coordinator c)¶Free a coordinator.
KeyCeremony_Coordinator_receive_key_generated(KeyCeremony_Coordinator c, struct key_generated_message message)¶Receive a message indicating that a trustee has generated its key-pair, which contains the trustee’s public key.
Checks the NIZKP of possession of the private key.
KeyCeremony_Coordinator_all_keys_received(KeyCeremony_Coordinator c)¶Assert that exactly one key_generated_message from each trustee has been received, and generate an all_keys_generated_message containing all of the public keys.
KeyCeremony_Coordinator_all_keys_received_r¶Receive a message indicating that a trustee has verified that the key shares it has received are consistent with the commitments in the public keys of each trustee.
KeyCeremony_Coordinator_publish_joint_key(KeyCeremony_Coordinator c)¶Assert that exactly one shares_verified_message from each trustee has been received, and generate the joint public key to be used to encrypt votes in the election.
KeyCeremony_Coordinator_publish_joint_key_r¶KeyCeremony_Coordinator_status¶Values:
KEYCEREMONY_COORDINATOR_SUCCESS¶KEYCEREMONY_COORDINATOR_INSUFFICIENT_MEMORY¶KEYCEREMONY_COORDINATOR_INVALID_PARAMS¶KEYCEREMONY_COORDINATOR_DUPLICATE_TRUSTEE_INDEX¶KEYCEREMONY_COORDINATOR_INVALID_TRUSTEE_INDEX¶KEYCEREMONY_COORDINATOR_MISSING_TRUSTEES¶KEYCEREMONY_COORDINATOR_TRUSTEE_INVALIDATION¶KEYCEREMONY_COORDINATOR_SERIALIZE_ERROR¶KEYCEREMONY_COORDINATOR_DESERIALIZE_ERROR¶