Multi-Party FHE Types#

enum helayers::MultiPartyRole#

Roles of participants in multi-party protocols.

Values:

enumerator MP_KEY_OWNER#

A key-owner is a participant in the multi-party protocols that has a secret share, and must therefore participate in the init protocol and authorize decryptions via the decrypt protocol (also referred to as ‘Party’ in the literature of multi-party computation).

enumerator MP_INITIATOR#

A key-owner can be designated as an Initiator.

The initiator may carry out some initialization steps in the protocols.

enumerator MP_AGGREGATOR#

An aggregator is not (necessarily) one of the key-owners (i.e.

it does not necessarily have secret share). It carries out tasks in protocols that aggregate public shares of parties to create new aggregated information. For example, in the init-protocol, the aggregator aggregates the public shares of the public key to create the shared public key.

enumerator MP_CIPHERTEXT_HOLDER#

The holder of the ciphertext to decrypt.

Not necessarily a key-owner.

enumerator MP_PLAINTEXT_AGGREGATOR#

The participant that will be exposed to the decrypted data.

Not necessarily a key-owner, but if it is not a key-owner then security is guaranteed only if the key-owners do not collude against the plaintext-aggregator. Also, if the plaintext-aggregator is not a key-owner the communication to it should be direct on not through a third party.

enum helayers::ProtocolType#

An enum specifying the protocol type.

Values:

enumerator PROTOCOL_INIT#
enumerator PROTOCOL_DECRYPT#