[][src]Crate xaynet_core

xaynet_core provides basic building blocks for implementing the Privacy-Enhancing Technology (PET), a privacy preserving protocol for federated machine learning. Download the whitepaper for an introduction.

Modules

common
crypto

Wrappers around some of the sodiumoxide crypto primitives.

mask

Masking, aggregation and unmasking of models.

message

The messages of the PET protocol.

testutilstestutils

Structs

InitError

An error related to insufficient system entropy for secrets at program startup.

Type Definitions

CoordinatorPublicKey

A public encryption key that identifies a coordinator.

CoordinatorSecretKey

A secret encryption key that belongs to the public key of a coordinator.

LocalSeedDict

Local seed dictionaries are sent by update participants. They contain the participant's masking seed, encrypted with the ephemeral public key of each sum participant.

ParticipantPublicKey

A public signature key that identifies a participant.

ParticipantSecretKey

A secret signature key that belongs to the public key of a participant.

ParticipantTaskSignature

A signature to prove a participant's eligibility for a task.

SeedDict

A dictionary created during the update phase of the protocol. The global seed dictionary is built from the local seed dictionaries sent by the update participants. It maps each sum participant to the encrypted masking seeds of all the update participants.

SumDict

A dictionary created during the sum phase of the protocol. It maps the public key of every sum participant to the ephemeral public key generated by that sum participant.

SumParticipantEphemeralPublicKey

A public encryption key generated by a sum participant. It is used by the update participants to encrypt their masking seed for each sum participant.

SumParticipantEphemeralSecretKey

The secret counterpart of SumParticipantEphemeralPublicKey

SumParticipantPublicKey

A public signature key that identifies a sum participant.

SumParticipantSecretKey

A secret signature key that belongs to the public key of a sum participant.

UpdateParticipantPublicKey

A public signature key that identifies an update participant.

UpdateParticipantSecretKey

A secret signature key that belongs to the public key of an update participant.

UpdateSeedDict

Values of SeedDict. Sent to sum participants.