If I've understood correctly, no-cloning theorem prevents copying qubit states during the computation. Could this be used to defend against quantum computers breaking encryption that can run with normal computers with high performance (pretty low memory needs, sensible CPU usage)?

For example, if the actual encryption key were build with

sha256(secret || public_data || secret)

(where || means concatenating the strings) which would require cloning the unknown secret before doing SHA-256, would that prevent using quantum computer from breaking the encryption (that is, finding the value of secret)? (Of course, the SHA-256 is not a practical example for real world encryption but it illustrates the concept of using the secret keys twice which would need cloning if I've understood correctly.)


1 Answer 1


The no-cloning theorem states that being given a state $|\psi\rangle$ on which one has no information whatsoever, it is not possible to create a second register $|\psi\rangle$ while leaving the first in its state (that is, it is not possible to create the state $|\psi\rangle\otimes|\psi\rangle$).

However, if you do know that $|\psi\rangle$ belongs to some orthonormal basis $\mathcal{B}$, then it is possible to perfectly clone it.

First of all, note that quantum computers currently threaten mostly assymetric encryption (RSA, (EC)DHE, ...). While there are some attacks on symmetric encryption, they target much less used primitives (such as Even-Mansour) and require a quantum access to the oracle. The best general attack on schemes such as complete AES is simply Grover's algorithm, which still requires about $2^{128}$ computations to find an AES256 key (and approximately $2^{64}$ for AES128).

Thus, there is currently no need to defend symmetric encryption against quantum computers.

Furthermore, note that even when encrypting quantum states, the secret key is considered classical. As such, you can clone it without problem, even if it is encoded as a basis state.

Finally, even if for some reason the encryption is performed on the superposition of the secret, it does not need to clone this register to compute the function you describe. Indeed, note that the following operation: $$\sum_{\text{secret}}|\text{secret}\rangle|0\rangle\to\sum_{\text{secret}}|\text{secret}\rangle|\text{secret}\rangle$$ is easily done by performing a CNOT between the first and the second register.

Thus, using the no-cloning theorem this way can't help you in protecting the encryption from quantum computers (though once again, there is no need to do so at the moment).

If you want to look at a scheme where the no-cloning theorem is useful, have a look at the BB84 protocol. Without the no-cloning theorem, the attacker could clone the states that are transmitted to learn them without being detected.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.