Skip to contents

Stashes the workers in the master's state and publishes its public parameters to each one. That bundle is public: it is the setup broadcast a coordinator would send over the wire, and it is all a site needs in order to encrypt. After this call, master_aggregate() can drive an iteration of the protocol.

Usage

set_workers(master, workers)

Arguments

master

a CKKSMaster, or the frozen legacy PaillierMaster.

workers

a list of worker Sites.

Value

the master, invisibly.

Details

Use this for the realistic master/worker (star) topology that distcomp- and DataSHIELD-style federated analyses follow. For the legacy Paillier round-robin idiom, use round_robin_chain() instead.

A ThresholdMaster does not use this function: its joint public key does not exist until key generation has run through every site, so make_threshold_master() takes the sites and returns a master already wired to them, in the order the chain fixed.