The prospect of the emergence of a full-fledged
quantum computer has long been disturbing the minds of scientists and interested people from the field of cryptography. And for good reason. After all, the appearance of a computer capable of solving arbitrarily complex tasks casts doubt on the existence of cryptography in the form in which it is now. Cryptographic protocols with a public key will no longer make sense, because
one-sided functions, strictly speaking, will cease to be one-sided. The sun will go down, the world will turn over, the rivers will flow back ... But we are not in a hurry to despair, right?
There are many quantum cryptographic algorithms — secure quantum channels, quantum public key encryption, quantum coin flipping, blind quantum computing, quantum money — but most of them require a full-fledged quantum computer for their implementation.
Yes, the transfer of large amounts of information through quantum channels is impractical today. But the use of quantum algorithms for the formation and transmission of key information in symmetric cryptosystems is not only technically realistic, but also absolutely justified.
')
Quantum key distribution (CRC) provides an excellent opportunity: you can transfer secret information through an open (unprotected) channel and at the same time be completely sure that nobody intercepted it.
The whole point is that it is possible to measure the polarization of the photon (0 °, 45 °, 90 °, 135 °) correctly only by knowing the basis of polarization ("+" or "×"). If the basis used in the measurement is different from the basis of polarization, then the output is a random result (0 or 1). Thus, the attacker cannot correctly measure the polarization of the transmitted photons without knowing the basis of the polarization of each photon. Not to mention the fact that any impact on a quantum system leads to a change in its state (derived from
the Heisenberg uncertainty principle ).
Well, how does it work? For example:
- Side A sends a sequence of photons with random (0 °, 45 °, 90 °, 135 °) polarization;
- Side B measures the polarization of photons, choosing the basis of "+" (0 °, 90 ° - linear polarization) or "x" (45 °, 135 ° - diagonal polarization) according to a random law;
- Side B records the results of measurements, keeping them secret (individual photons may not be taken at all - lost or "erased");
- Side B then informs side A of the open channel which bases ("+" or "×") it used for each received photon (but not the results it received), and side A tells it which bases used were correct (data, obtained when measuring in incorrect bases are discarded);
- The remaining data are interpreted in accordance with the agreed scheme (0 ° and 45 ° are decoded as “0”, and 90 ° and 135 ° as “1”) as a binary sequence.
Everything, we got a “raw” key, followed by increased secrecy, error correction and key sequence matching using special algorithms (but this is a topic for the next article and not one).
Simple and effective. The case for the technical side of the issue. No, it is not necessary to build a quantum computer for this, but good single-photon transmitters and receivers (and not only) are simply necessary to transmit quantum information over long distances.