Editing
Quantum Fingerprinting
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
This [https://arxiv.org/abs/quant-ph/0102001 example protocol] allows two quantum clients to distinguish between their quantum inputs while maintaining the privacy of their own input just by comparing the fingerprints of their inputs. The protocol does not permit the two parties to interact directly with each other, hence they send the fingerprints of their respective inputs to a trusted third party (quantum server). This server performs a test to distinguish between two unknown quantum fingerprints with a high probability. The quantum fingerprints are exponentially shorter than the original inputs. '''Tags:''' [[Fingerprinting]] ==Assumptions== * The two quantum clients have no shared key in this protocol. * The server is trusted. * The fingerprints can consist of quantum information. ==Outline== Here, two quantum clients want to check if their quantum inputs are distinct while also keeping their inputs secret. They prepare quantum fingerprints of their individual inputs and send these states to the server. Next stage involves the server performing a SWAP test on the fingerprints to check their equality. The server repeats this test several times on the received fingerprints to reduce the error probability. * '''Client's preparation''': ** The client prepares the fingerprint of initial input which is sized <math>n</math>-bits. This fingerprint has a length of <math>O(\log{}n)</math> bits. ** This fingerprint is prepared using particular error correcting codes, which converts the <math>n</math>-bit input to <math>m</math>-bits, where <math>m</math> is greater than <math>n</math>, and the two outputs of any two distinct inputs can be equal at atmost <math>\delta m</math> positions, where <math>\delta < 0</math>. The fingerprint has the length of <math>log{}m+1</math> bits. ** Here for error correcting code, [https://ieeexplore.ieee.org/document/1054893 Justesen codes] are used. ** The client now sends this fingerprint to the server through a quantum channel. Both the clients do this process simultaneously. * '''Server's test''': The server receives the two fingerprints from both the clients and performs the [[Glossary#Quantum SWAP test|quantum SWAP Test]] on these states to check if the states are distinguishable. The server independently repeats this SWAP test on fingerprints several times to reduce the error probability in detecting if the two states are different. ==Hardware Requirements== * Authenticated Quantum channel capable of sending a pair of qubits. * Measurement devices for the server. * A one-time quantum channel from both clients to the server. ==Knowledge Graph== {{graph}} ==Notation== * <math>x</math>, <math>y</math>: inputs of both the clients * <math>n</math>: length of inputs * <math>m</math>: Length of output of error correcting codes, using x and y as input. * <math>E(x)</math>: Error correcting code associated with input <math>{x\in \{0, 1\}^n}</math>, where <math>E: \{0, 1\}^n \xrightarrow{}{} \{0, 1\}^m </math>. * <math>|h_x\rangle</math>: <math>(log{}m+1)</math> qubit state quantum fingerprint for <math>x</math>. <math>|h_x\rangle = \frac{1}{\sqrt{m}}\sum_{i=1}^{m} |i\rangle|E_i(x)\rangle</math> * <math>c</math>: Parameter for error correcting code. <math>m=cn, c>1</math> * <math>\delta</math>: Parameter for error correcting code. <math>\delta<1</math>. * <math>\epsilon</math>: Error probability * <math>k</math>: Number of times a fingerprint is repeated, <math>k \in O(log{}{\frac{1}{\epsilon}})</math> ==Properties== * The computational complexity of this protocol is <math>\mathcal{O}(\log{}n)</math>. * Given an <math>n</math>-bit input, the protocol requires a quantum fingerprint of minimum <math>\log{}n</math> bits which contains quantum information. * The Hamming distance i.e. the number of positions between two strings of same length, at which the corresponding symbols are different, of <math>{E(x)}</math> and <math>{E(y)}</math> is at least <math>{(1+\delta)m}</math>. * For Justesen codes, <math>\delta < 9/10 + 1/(15c)</math> for any chosen <math>c>2</math> * Any two fingerprints, <math>|h_x\rangle</math> and <math>|h_y\rangle</math> have an inner product of at most <math>{\delta}</math>. * The one sided error probability of the SWAP test is <math>(\frac{1+\delta}{2})</math>. ==Protocol Description== '''Stage 1''': Client's preparation</br> '''Input''': <math>{x \in \{0, 1\}^n}, {y \in \{0, 1\}^n}</math> for first client and second client respectively. </br> '''Output''': <math>|h_x\rangle</math>, <math>|h_y\rangle</math> sent to server * First client prepares <math>|h_x\rangle</math> from <math>x</math>, <math>|h_x\rangle = \frac{1}{\sqrt{m}}\sum_{i=1}^{m} |i\rangle|E_i(x)\rangle</math> * Second client prepares <math>|h_y\rangle</math> from <math>y</math>, <math>|h_y\rangle = \frac{1}{\sqrt{m}}\sum_{i=1}^{m} |i\rangle|E_i(y)\rangle</math> * Both clients send <math>|h_x\rangle</math>, <math>|h_y\rangle</math> to server '''Stage 2''': Server's test '''Input''': <math>|h_x\rangle</math>, <math>|h_y\rangle</math> </br> '''Output''': SWAP test result * Server prepares an ancilla qubit <math>|0\rangle</math> for SWAP test and starts with state <math>|0\rangle|h_x\rangle|h_y\rangle</math> * Server applies gate <math>G = {(H\otimes I)(c-SWAP)(H\otimes I)}</math>, resulting in final state <math>\frac{1}{2}|0\rangle(|h_x\rangle|h_y\rangle + |h_y\rangle|h_x\rangle) + \frac{1}{2}|1\rangle(|h_x\rangle|h_y\rangle - |h_y\rangle|h_x\rangle)</math> * The server measures the first qubit and transmits the result to both the clients. ==Further Information== * To reduce the error probability to any <math>\epsilon</math>, the fingerprint of <math>x</math> should be set to <math>|h_x\rangle^{\otimes k}</math>, for a suitable <math>k \in O(log{}{\frac{1}{\epsilon}})</math> ==Related Papers== <div style='text-align: right;'>''*contributed by Rhea Parekh''</div>
Summary:
Please note that all contributions to Quantum Protocol Zoo may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Quantum Protocol Zoo:Copyrights
for details).
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:
Cancel
Editing help
(opens in new window)
Template:Graph
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
More
Edit
View history
Search
Navigation
Main page
News
Protocol Library
Certification Library
Nodal Subroutines
Codes Repository
Knowledge Graphs
Submissions
Categories
Supplementary Information
Recent Changes
Contact us
Help
Tools
What links here
Related changes
Special pages
Page information