Skip to content

Synchronize shielded messages using fuzzy message detection (FMD).

Notifications You must be signed in to change notification settings

anoma/shielded-state-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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} and n is the number of (different) secret subkeys across any t detection keys,
  • p_f:=2^{-δ}and δ is the total number of secret subkeys in the d detection keys.

Thus, the leaked rate is the false-positive rate at which any coallition 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/deseralization of public keys, secret keys, detection keys, and flag ciphertexts.

Benchmarks

Run make bench.

Examples

See the examples folder.

About

Synchronize shielded messages using fuzzy message detection (FMD).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published