More documentation
This commit is contained in:
parent
cab45768d5
commit
5ba94fd57e
|
@ -1,2 +1,3 @@
|
||||||
/target
|
/target
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
|
.idea/
|
|
@ -2,5 +2,11 @@
|
||||||
|
|
||||||
Experimental Rust implementation of https://eprint.iacr.org/2021/089 using Ristretto.
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
#![feature(test)]
|
#![feature(test)]
|
||||||
|
#![deny(missing_docs)]
|
||||||
|
#![feature(external_doc)]
|
||||||
|
#![doc(include = "../README.md")]
|
||||||
use bit_vec::BitVec;
|
use bit_vec::BitVec;
|
||||||
use curve25519_dalek::constants::RISTRETTO_BASEPOINT_POINT;
|
use curve25519_dalek::constants::RISTRETTO_BASEPOINT_POINT;
|
||||||
use curve25519_dalek::digest::Digest;
|
use curve25519_dalek::digest::Digest;
|
||||||
|
@ -114,7 +117,10 @@ impl Display for FuzzyMetaTag {
|
||||||
|
|
||||||
/// An identity keypair for generating and validating fuzzy meta tags.
|
/// An identity keypair for generating and validating fuzzy meta tags.
|
||||||
pub struct FuzzyMetaTagKeyPair {
|
pub struct FuzzyMetaTagKeyPair {
|
||||||
|
/// the detection key - this can be given to adversarial servers to help probabilistically
|
||||||
|
/// filter messages (with a false-positive rate derived from γ and a 0% false negative rate)
|
||||||
pub detection_key: FuzzyMetaDetectionKey,
|
pub detection_key: FuzzyMetaDetectionKey,
|
||||||
|
/// the public key - this can be given to people who you want to contact you
|
||||||
pub public_key: FuzzyMetaPublicKey,
|
pub public_key: FuzzyMetaPublicKey,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue