Rust workspace for implementing basic functionality of STAR: Distributed Secret-Sharing for Threshold Aggregation Reporting.
WARNING the libraries present in this workspace have not been audited, use at your own risk! This code is under active development and may change substantially in future versions.
Build & test:
cargo build
cargo test
Benchmarks:
cargo bench
Open local copy of documentation:
cargo doc --open --no-deps
See star-wasm for public API functions exposed by libraries.
create_share
function should be called by clients, and creates
the share
and tag
sent in a STAR client message, as well as the
encryption key
used to encrypt data to the server. Once this
function has been called, use key
to encrypt the desired data into a
ciphertext
object (using a valid AES encryption method). The client
should then send (ciphertext, share, tag)
to the aggregation server.group_shares
function takes in a collection of share
objects
and recovers the key
object that the client used for encrypting
ciphertext
. This function only succeeds if the number of shares is
higher than the prescribed threshold.