5 releases (breaking)
| 0.5.0 | May 2, 2025 |
|---|---|
| 0.4.0 | May 2, 2025 |
| 0.3.0 | Apr 30, 2025 |
| 0.2.0 | Apr 30, 2025 |
| 0.1.0 | Apr 14, 2025 |
#1028 in Cryptography
192 downloads per month
Used in 2 crates
50KB
1K
SLoC
Shielded State Sync
Synchronize shielded messages using fuzzy message detection (FMD).
Multi-key extraction
This crate supports multi-key extraction by thresholdizing the original FMD2 scheme. Refer to the ART report for details.
Knowing up to t < d detection keys leaks no information about the other d-t keys. Here t is a corruption threshold parameter passed to the multi-key extraction.
For each pair (d,t), there is an associated set P(d,t) of valid leaked and filtering rates (p_l,p_f).
p_l:=2^{-n}andnis the number of (different) secret subkeys across anytdetection keys,p_f:=2^{-δ}andδis the total number of secret subkeys in theddetection keys.
Thus, the leaked rate is the false-positive rate at which any coalition of t servers can filter. The filtering rate is the false-positive rate at which the receiver can filter, after receiving all the filters from the d servers.
Key expansion and key randomization
Two implementations are provided. The compact scheme generates short FMD public keys, which can be randomized.
- Compact public keys can be publicly expanded into FMD public keys. This means that only compact keys need to be made public by key owners (receivers), saving bandwidth and storage.
- Randomized public keys share the same set of detection keys. Can be seen as Sybil identities for the same receiver.
Serialization
Feature serde enables serialization/deserialization of public keys, secret keys, detection keys, and flag ciphertexts.
Benchmarks
Run make bench.
Examples
See the examples' folder.
Dependencies
~1.8–3MB
~63K SLoC