(first draft!)
In the late 1960’s, a physics research student at Columbia University, Stephen J. Wiesner conceptualized the first modern ideas in quantum information theory: conjugate coding, which is the idea that information can be transmitted in such a way using polarized photons that reading a part of the message destroys the rest of the message. After 40 years of research, in 1998 the first working quantum computer is built, and we see the first instance of a quantum algorithm in use. Fast forward to 2018, and we have the global commercialization of Quantum Key Distribution via the company Quantum Xchange. Quantum Key Distribution (QKD) isn’t necessarily quantum cryptology but is an application of quantum processes that relate to the current field of cryptology. QKD provides a way of securely transmitting a key so that two parties can use a shared secret key with assurance that the secret has not been sniffed. There are two ways of doing this: sending photons with encoded information through fiber optic cables (which is what Quantum Xchange does), and to quantum entangle two particles, then encode qubits of information on one particle and let spooky action at a distance replicate the information on the other entangled particle. (So far, China has been a pioneer in using satellites to transmit quantumly entangled information over distances of 1200kms, which would potentially lay the groundwork for a global quantum communication network.) A “qubit” is the most basic unit of quantum information and can relay an electrons spin (up or down), or polarization (horizontal or vertical). Due to the strangeness of quantum mechanics if a qubit is measured the electron will change state, which is the underlying principal of conjugate coding and QKD key security. A key can be communicated via a chain of qubits, and if an unauthorized third party tries to sniff the information, the electrons will change state, become untangled, and the key will be unusable. Seeing as how currently some important secret keys in the financial and government sectors are transmitted physically via carrier, QDK could fill an important part in corporate and government security.
In the news, quantum cryptography has been heralded as a destroyer of all current cryptographical systems. While that does have some truth, most worries are significantly blown out of proportion. The most reasonable threat to current cryptography would be in the form of the Grover and Shor algorithms: Gover’s algorithm “gauges the probabilities of various potential states of the system” (CITATION: CODEBURST.IO), and Shor’s algorithm reduces the time a system takes to search for the factors of large prime numbers. In an article published by the International Journal of Advanced Computer Science and Applications, some realistic threats are outlined: public key algorithms based on factorization and discrete logs (such as RSA, ElGamal, and elliptic curves), especially those with tiny key spaces (such as elliptic curve) are especially vulnerable to cracking via Shor’s algorithm. However, symmetric key algorithms with large key sizes such as AES are resistant to current quantum algorithms. Currently only the Grover algorithm offers a threat, but only on keys with small key sizes. Similarly, most hashes with large outputs are resistant.
Quantum computing quite a long way to go before the cryptographic community should start sounding storm warnings. Of course, it’s never too early to start preparing, but there are some base developments that have to happen before current cryptology is legitimately threatened. First, these potential key cracks using quantum algorithms require a quantum computer with many more qubits than is currently possible. An article published in 2008 from the University of Waterloo says a 1024-bit RSA key would require 2000 qubits to break, and a 160-bit ECC key would require 1000 qubits. As of November 2019, the largest known working quantum computer is a 53-qubit machine owned by IBM. (D-Wave Systems recently announced a generation of quantum chips that have 5,000-qubits, but so far that is only theoretical). The amount of qubits a quantum computer has is limited by a few things, one being the fact that electrons are whimsical and need to be kept close to absolute zero (-459 Fahrenheit) in order to maintain their quantum states. For example, one of the IBM 20-qubit computers is housed in a 729sq ft. air-tight glass cube that is kept near absolute zero to keep the electrons in line. Needless to say, setups like these require immense resources. Another limitation is that due to the nature of electrons and quantum probability, having all the qubits in a machine provide reliable information is in itself a feat, and is still a large problem that requires solutions before quantum computers will reach the size necessary to crack current cryptography. Another issue is that creating quantum algorithms may exist in theory, but actually applying them to a quantum machine is almost as difficult as creating the algorithm. Just like current day computers, quantum computers require a language, programming syntax, instructions sets (equivalent to machine languages) and have to be tailored to individual systems. Currently there are a handful of quantum programming languages out there who’s applications are being developed, such as Q#, QCL, and LanQ.
Quantum cryptography will absolutely change how the world uses cryptography, but those changes are still a while off, and if realistic measures are taken now, such as researching mathematical limits of quantum key-cracking (such as lattice or code-based cryptology), information that is currently secure can remain secure in the future.