In a client server interaction, we need to pass data like server key shares, FheUint8 outputs, and decryption shares.
We should have some ways to serialize them.
#3 is a quick and dirty way to fix this problem. We derive Serde traits to structs, then use bincode::serialize to serialize it for minimum data size.
Design consideration and challenges:
- server key shares
CommonReferenceSeededNonInteractiveMultiPartyServerKeyShare is 226 MB. We might want to reduce the size of this struct.
- FheUint8 and decryption shares are inherently Vec. So simple Serde might already be enough.
In a client server interaction, we need to pass data like server key shares, FheUint8 outputs, and decryption shares.
We should have some ways to serialize them.
#3 is a quick and dirty way to fix this problem. We derive Serde traits to structs, then use
bincode::serializeto serialize it for minimum data size.Design consideration and challenges:
CommonReferenceSeededNonInteractiveMultiPartyServerKeyShareis 226 MB. We might want to reduce the size of this struct.