Decryption_Coordinator
¶Decryption_Coordinator_new
(uint32_t num_trustees, uint32_t threshold)¶Create a new decryption coordinator.
Decryption_Coordinator_new_r
¶Decryption_Coordinator_free
(Decryption_Coordinator c)¶Free a decryption coordinator.
Check that at least the threshold number of trustees have sent their shares.
Return a list of share fragments to be provided by each trustee who has sent a share: for each trustee index i from 0 to num_trustees (exclusive), if request_present[i] is true, the caller must pass requests[i] to the appropriate trustee, and must free requests[i].bytes. If status is not DECRYPTION_COORDINATOR_SUCCESS, the client is not responsible for freeing anything.
Public Members
bool Decryption_Coordinator_all_shares_received_r::request_present[MAX_TRUSTEES]
struct decryption_fragments_request Decryption_Coordinator_all_shares_received_r::requests[MAX_TRUSTEES]
Decryption_Coordinator_receive_fragments
(Decryption_Coordinator c, struct decryption_fragments fragments)¶Receive the requested set of share fragments from a trustee.
Decryption_Coordinator_all_fragments_received
(Decryption_Coordinator c, FILE * out)¶Check that all trustees have sent their share fragments of the missing trustees’ shares.
Write the decrypted total to out.
Decryption_Coordinator_status
¶Values:
DECRYPTION_COORDINATOR_SUCCESS
¶DECRYPTION_COORDINATOR_INSUFFICIENT_MEMORY
¶DECRYPTION_COORDINATOR_INVALID_PARAMS
¶DECRYPTION_COORDINATOR_INVALID_TRUSTEE_INDEX
¶DECRYPTION_COORDINATOR_DUPLICATE_TRUSTEE_INDEX
¶DECRYPTION_COORDINATOR_MISSING_TRUSTEES
¶DECRYPTION_COORDINATOR_IO_ERROR
¶DECRYPTION_COORDINATOR_SERIALIZE_ERROR
¶DECRYPTION_COORDINATOR_DESERIALIZE_ERROR
¶