Experimental Rust implementation of https://eprint.iacr.org/2021/089 using Ristretto.
A tag is a probabilistic cryptographic structure. When constructed for a given FuzzyMetaPublicKey it will pass the FuzzyMetaDetectionKey::test 100% of the time. For other public keys it will pass the test with probability gamma related to the security parameter of the system. This system provides the following security properties:
* Correctness: Valid tags for a public key for a key pair always validate when tested against the secret key
* Fuzziness: Invalid matches should produce false positives with probability p related to the security property (γ)
* Security: An adversarial server with access to Test oracle (i.e. the detection key) is unable to distinguish false positives from true positives. (Detection Ambiguity)