Fingerprinting is a cryptographic functionality, between two parties, that allows one party to compress a (possibly large) data item into a compact summary, or fingerprint, such that it can later be used to verify the identity or equality of that item with high confidence. In cryptographic and communication-theoretic contexts, fingerprinting is often used to detect whether two inputs are the same, without revealing the inputs themselves or requiring full data transmission.
The functionality is particularly useful in scenarios with communication constraints, where parties want to compare large strings using minimal communication, or in authentication settings, where integrity and identity need to be verified without exposing the underlying data.
In the quantum context, fingerprinting becomes more powerful: quantum fingerprints can be exponentially shorter than classical ones for certain tasks. This was first demonstrated in the seminal work of Buhrman, Cleve, Watrous, and de Wolf (2001)[1], who showed that an exponential quantum/classical gap for the equality problem in the simultaneous message passing model of communication complexity.
No protocols implement this functionality yet.
Fingerprinting is an originally classical protocol that can be achieved both classically and quantumly.
Classical fingerprinting protocols are usually based on hash functions. A well-known classical approach is Carter-Wegman universal hashing[2]: the parties hash their respective inputs using a shared random hash function and compare the results.
The main properties of fingerprinting include:
Correctness: If two inputs are identical, their fingerprints should match with high probability.
Collision Resistance: If two inputs differ, the probability that their fingerprints match should be low (often inverse polynomial or negligible, depending on the construction). Unlike cryptographic hash functions, this is usually a statistical rather than computational guarantee.
Communication Efficiency: The primary motivation for fingerprinting: allows comparison of large strings using only O(log n) bits (or qubits). In quantum protocols, this leads to exponential savings in certain communication tasks.
Error Probability: Classical fingerprinting schemes typically offer one-sided error (e.g., false positives but no false negatives) and allow tuning of error probability.
Privacy and Security Considerations:
Fingerprints do not always provide semantic security or privacy guarantees, they can leak some information about the original message. Secure versions may include randomisation or cryptographic hash functions to prevent reverse engineering. The quantum fingerprinting protocol, however, has some security guarantees.
No content has been added to this section, yet!
Fingerprinting is a cryptographic functionality, between two parties, that allows one party to compress a (possibly large) data item into a compact summary, or fingerprint, such that it can later be used to verify the identity or equality of that item with high confidence. In cryptographic and communication-theoretic contexts, fingerprinting is often used to detect whether two inputs are the same, without revealing the inputs themselves or requiring full data transmission.
The functionality is particularly useful in scenarios with communication constraints, where parties want to compare large strings using minimal communication, or in authentication settings, where integrity and identity need to be verified without exposing the underlying data.
In the quantum context, fingerprinting becomes more powerful: quantum fingerprints can be exponentially shorter than classical ones for certain tasks. This was first demonstrated in the seminal work of Buhrman, Cleve, Watrous, and de Wolf (2001)[1], who showed that an exponential quantum/classical gap for the equality problem in the simultaneous message passing model of communication complexity.
No protocols implement this functionality yet.
Fingerprinting is an originally classical protocol that can be achieved both classically and quantumly.
Classical fingerprinting protocols are usually based on hash functions. A well-known classical approach is Carter-Wegman universal hashing[2]: the parties hash their respective inputs using a shared random hash function and compare the results.
The main properties of fingerprinting include:
Correctness: If two inputs are identical, their fingerprints should match with high probability.
Collision Resistance: If two inputs differ, the probability that their fingerprints match should be low (often inverse polynomial or negligible, depending on the construction). Unlike cryptographic hash functions, this is usually a statistical rather than computational guarantee.
Communication Efficiency: The primary motivation for fingerprinting: allows comparison of large strings using only O(log n) bits (or qubits). In quantum protocols, this leads to exponential savings in certain communication tasks.
Error Probability: Classical fingerprinting schemes typically offer one-sided error (e.g., false positives but no false negatives) and allow tuning of error probability.
Privacy and Security Considerations:
Fingerprints do not always provide semantic security or privacy guarantees, they can leak some information about the original message. Secure versions may include randomisation or cryptographic hash functions to prevent reverse engineering. The quantum fingerprinting protocol, however, has some security guarantees.
No content has been added to this section, yet!