The Praxxis team has been focused on building a quantum resistant cryptographic system. Over the next few weeks, we would like to describe what quantum computing is, why it poses a threat to many cryptographic systems in current use, and what strategies are available for building a quantum resistant system.
Why is quantum computing important?
For most of computing history, the building block has been the binary digit, or bit, which represents either 0 or 1. Modern computers contain millions or billions of bits that break down images, videos, and the web page you’re reading right now into a long sequence of 0s and 1s. The 0-or-1 nature of bits provides a very clear yes/no, true/false pattern on which to build. And in the past 75 years the technology industry has gotten very efficient at creating transistors powered by electrical currents that can process bits.
The use of binary computing has transformed many aspects of our lives, as computers can be programmed to do all sorts of useful things. However, there are many tasks that binary computers are not very good at performing, and this has a lot to do with the dichotomous 1/0, yes/no nature of bits. As physicists have spent the past century exploring, much of the natural world is best understood through quantum mechanics, which describes objects that have characteristics of both particles and waves, and where there are limits to how precisely objects can be measured due to the uncertainty principle. This has led to the development of quantum computing, an effort to build computers using bits that follow quantum mechanical principles.
What is quantum computing?
For quantum computers, the building block is the quantum bit, or qubit. The qubit can represent 0, 1, or any quantum superposition of these two states. In effect, a qubit can simultaneously be 30% 0 and 70% 1. A pair of qubits can be in any quantum superposition of four states, and three qubits in any superposition of eight states, and on so that a quantum computer with X qubits can be in a superposition of up to 2X states simultaneously. By comparison, a binary computer can only be in a single state at a time. This can quickly snowball, as a 50-qubit quantum computer can be in a superposition of 250 or 1,125,899,906,842,624 states simultaneously, compared with a single state for a 50-bit binary computer.
What does it take to build a quantum computer?
So far it has proven to be much more difficult to build qubits and quantum computers than to build bits and binary computers. A qubit must be built with a material subject to quantum mechanics, such as tiny building blocks like a single electron from an ion of a few different elements. To prevent heat energy interference, most qubits must be cooled nearly to absolute zero, which is colder than most parts of outer space. Due to factors such as noise, faults, and the loss of quantum coherence, quantum computers typically have a high fault rate. And qubits must be carefully arranged to correctly interact with each other to create a superposition of states. As of this writing, one of the most powerful quantum computers commercially available has 2,000 qubits, although each of these qubits is directly connected to only a few neighboring qubits.
What can quantum computers be used to do?
Quantum computers can be useful (either in practice or in theory) for modeling quantum mechanical behavior such as the movement of subatomic particles, or simulating how molecules react to drug treatments. Quantum computers can also be programmed to use algorithms that take advantage of superposition to arrive at results exponentially faster than binary computers. And this includes algorithms that could rapidly break many cryptographic systems in wide use today… a topic that we will explore in our next post.
Interested in learning more? IBM has made a 5-qubit quantum computer freely available on the internet, along with learning resources here.
Want to hear more? Download xx collective, available on Android and iOS, and never miss an update!