## Quantum Computing And The New IT Revolution

Quantum Computing is going to be the next IT revolution, and it’s going to be disruptive. These futuristic machines are on the way to being built right now, and they can crack open the most secure cryptographic codes used today. Nothing is going to be the same: blockchain, e-commerce, cloud, military communications, even AI… everything is going to be redesigned. Time is ticking. 50 years ago it was 1969, the year man first set foot on the Moon. This incredible feat was undoubtedly made possible by the huge technological advancements witnessed in that period, a scientific golden age fueled partially by the rapid post-war economical growth of the Western world, but also partially by the unstable global political situation – sounds quite familiar today. NASA, the space agency which accomplished the legendary milestone, is historically one of the entities always in serious need of computational power. The most powerful supercomputer of that time, the IBM System/360 Model 91, was the cornerstone that made the whole Apollo program possible: it was a masterwork of technology, incredibly powerful, and so expensive that only a few institutions in the world could afford one (less than 20 units have been built overall). It could boost up to 6 MiB of central memory, with a total power consumption of the order of hundreds of kW, and it was probably smaller than your kitchen. Probably. Today we carry in our pockets hand-held devices which are many orders of magnitude more powerful than such ancient computing behemoths. In our fast times, 50 years can change many things, especially from the IT point of view. It is therefore natural to look back at history and compare the situation with today’s bleeding edge technology: quantum computing. This is not just a tech buzzword: quantum computers exist today already. Granted, they are just prototypes. Just like their classical silicon ancestors, they are impressively large, expensive, complicated machines which are yet not very powerful; only a bunch of them exist, being developed and tested by a few large organizations and companies. However, these machines can hardly be considered at an embryonic stage anymore: the last few years witnessed a true explosion in R&D of quantum information processing, and we all know where this leads if the historical trend means something. Things that at the beginning of this century were still considered science fiction are now at hand: today it is possible to send and process quantum information over distances of hundreds of km, to detect and correct many quantum transmission errors, and to build machines with almost a hundred quantum bits of memory – whereas it was formerly challenging just to build a single one. Given that according to many researchers, 100 quantum bits is the boundary after which we should start observing “quantum supremacy” (that is, being able to tackle problems practically impossible for the most powerful supercomputers), it feels like we probably won’t need to wait for other 50 years in order to witness what is arguably going to be the next big IT revolution. It is, therefore, time to start looking at the future and understand what the potential consequences of all this could be. In this article, we are going to have a look at what a quantum computer is, why it is important, and what it means for a future-oriented CISO strategy.## What Is A Quantum Computer?

The idea of a quantum computer (QC) was first theorized by famous physicist Richard Feynman in 1981. He was looking at the problem of predicting and explaining the behavior of certain physical systems, a task which classical computers are usually very good at: think for example at the problem of computing an artillery shell trajectory, which was (sadly) one of the first uses of computing machines. Now, this works pretty well for large systems, which are ruled by the Newtonian laws of physics, but the issue is that as the scale of the system shrinks down to microscopical levels, these laws stop working. The phenomenon, known to physicists since the end of the 19th century, is due to the fact that at such scale Newtonian physics is unable to correctly approximate the behavior of Nature, which is better described by the (far more complex) laws of Quantum Mechanics (QM). QM is a scientific theory, like Einstein’s General Relativity; however, whereas the latter is focused on describing systems which are astronomically large, QM intends to describe systems at the nanometer scale (one-millionth of a millimeter and smaller). This is the scale where, e.g., chemical reactions happen, and therefore QM proved to be an indispensable tool for the development of material and engineering technologies that we use today. We are talking here about very, very concrete problems such as “what is the best chemical catalyst for improving the industrial production of ammonia?” or “what is the best material for improving a smartphone’s battery life?”. Unfortunately, even with the help of QM, the computation necessary to solve some of these problems is so complicated that even all the supercomputers in the world combined together would require too long (scientists talk about “many times the age of the universe”). This is where Feynman had the original idea: since Nature at that scale behaves quantumly, what about building a computing machine that inherently follows the same quantum laws in order to solve these problems? This original idea was later developed, and soon a theoretical model of QC was born. In the most general form, a QC is a machine able to perform computation (that is: entering an input, performing some transformation, and extracting an output) on quantum data. Quantum data is stored on some (usually microscopical) physical system, and manipulated through physical transformations controlled by the user. Quantum data (usually represented as the quantum state of elementary systems called “quantum bits”, or “qubits”) encodes quantum information. This can encompass classical information (bits), but it also includes “exotic” types of information which behave very differently from the intuitive way we think about computer data. For example, certain quantum information is physically impossible to copy (a very interesting thing about the laws of QM, this is called the “No-Cloning Theorem“). Whereas bits can be in either 0 or 1 state, a single qubit can be in a state which is a continuum between the two (this is called “superposition“, and it is a bit like saying that a QC can represent the full spectrum of colors, whereas a classical computer can only represent the two colors black and white). Moreover, certain quantum systems can influence each other with random perturbations that propagate beyond the speed of light, even at astronomical distances (this phenomenon is a consequence of so-called “entanglement”, but contrary to common misconception it does not allow under any circumstance to communicate information faster than light… another counterintuitive fact of QM!). In the most common conception, a QC works like this: first, start with a (classical) input to a certain problem that you want to solve (for example, a number you want to compute the square root of). Then, encode your classical input into a quantum memory register (that is, a physical system composed of qubits). The physical nature of the register and the exact procedure for encoding classical information into it vary depending on the specific engineering technology used – there are currently different competing alternatives. Usually, it involves starting from a “blank state” for the system (think of an empty tape) and bringing it to the desired input state. At this point, a QC performs the computation proper: a transformation on the memory register, usually further decomposed into a sequence of elementary quantum operations called quantum gates, implemented by different means according to the technology used (laser beams, modulated microwave pulses, etc). At the end of the sequence, which can be more or less long depending on the problem and the size of the input, a final state is obtained on the quantum register. The last step involves extracting a classical output (in our example, the square root of the input) from the register, a procedure called “measurement”. This last part is the most interesting one because a QC is inherently probabilistic: because of the superposition principle, at the end of the computation, the quantum register will be in a “mix” of different possible classical answers to the problem. Usually, just one of these answers is the right one (in our case, the square root of the number) while the others are… garbage! The trick here (and the real challenge for the scientists who design quantum computer programs, or “quantum algorithms”) is to make sure that during the computation, wrong answers to the problem “cancel out each other” (another QM phenomenon called “interference”, similar to the canceling effect that two sea waves have on each other when they cross in a certain way), while the right answer “strengthens up”. In this way, the final state of the register will encode the right answer to the problem “with high probability”, and the measurement will return that answer instead of the garbage. By using this approach it is possible to perform any type of computation that a classical computer can do, albeit more complicatedly. For this reason, experts envision that QC will not be “standalone machines” in the foreseeable future, but more akin to special hardware add-ons, or coprocessors, to integrate side-by-side into classical computers. Unfortunately, whereas the theory behind QC works flawlessly, in practice these machines are extremely hard to build because of the huge engineering efforts necessary. Since the physical systems required to realize qubits are so tiny and delicate, any minimal environmental noise or perturbation tends to interfere with the computation and to cause irrecoverable errors. This phenomenon, known as “decoherence” is the main reason why QCs are not still fully usable in practice today. To avoid decoherence, engineers have to devise special containment methods able to shield the quantum memory from heat, vibrations, electromagnetic interference and so on. This usually involves enclosing the quantum computing medium inside a vacuum chamber, which is also an electromagnetic insulator, which is also cooled down to minus 273 degrees Celsius using liquid neon and super expensive and bulky cryostat machines. And even all this only allows resistance to decoherence for a few milliseconds at best! Sounds familiar, doesn’t it? Regarding existing realization technologies today, there are really too many of them to discuss here. One of the most promising ones so far is called “superconducting qubits”, where quantum data is encoded in tiny transition zones between elements of a silicon microchip, and manipulated through the careful use of microwaves. This is the approach currently used by some of the biggest players in the race to the realization of a fully-fledged QC, but even with this technology today we can only realize a few tens of qubits and compute on them for a few milliseconds. Not really useful.## Then Why Is All This Interesting At All?

So far building a QC sounds like a lot of pain for no gain. That’s because we haven’t discussed the computational speedup aspect yet. Before doing that, though, a couple of necessary clarifications. First of all, it is not the case that a QC is an all-powerful machine: technically speaking, it is not believed that a QC can efficiently solve NP-complete problems, not more than a classical computer. This means, informally, that there exist “natural” problems which are probably too difficult to solve even for a QC. Second, it is not known whether a QC can achieve more than a polynomial-time speedup over classical computers. Informally speaking, this means that there is currently no proof that a QC can achieve more than a “modest” (in theoretical terms) speedup over classical computers for any real problem at all. In fact, there are just a bunch of candidate problems which are suspected (but not proven) to be intrinsically hard for a classical computer but easily solvable for a QC. So, in theory, the alleged quantum superiority over classical is very thin. Despite all this, a QC can do amazing feats that are just unthinkable with a classical computer. The reason is twofold. On one hand, “modest in theoretical terms” translates to “huge, enormous impact in practice” for certain applications, and many of them are very, very important. Think of Grover’s algorithm, one of the most well-known quantum algorithms, and its consequences. Suppose you have a deck of 100 cards, where one is an ace and the other 99 are non-aces. The deck is shuffled and then handed over to you, and your goal is to find the ace with the minimum amount of draws as possible. It is easy to calculate the odds classically: one can show that it will take an average of roughly 50 draws before you’ll find the ace with good probability. However, if you can represent the deck on a QC and operate Grover’s algorithm, one can show that only roughly 10 “quantum draws” are sufficient to find the ace – a quadratic speedup over the classical case. This might sound completely silly, counterintuitive, and ultimately not very useful at all. But what if instead of 100 cards you have several billions of them? What if, instead of cards, you are searching for a particular protein-encoding gene sequence in a DNA strand? What if you are searching for the best catalyst for an industrial chemical reaction, or the best logistic scheduling for a fleet of delivery trucks over an infinity of possible routes? These kinds of problems are called “optimization problems”. They are very general, found in everyday life, and very, very difficult to solve when the size of the problem grows too much. In these cases, even “just” a quadratic speedup makes the difference between hundreds of years and a bunch of seconds of computation time necessary to find a solution. Arguably, the most important civilian application of quantum computers will be efficiently finding the solutions to such problems, with a tremendous impact on society: new drug treatments will be made available, better energy saving, better flow of traffic, and much more. Notable areas of interest (which are in substantial part driving the investments for the realization of a QC) are: better and faster AI, genome sequencing, and financial market predictions. The applications are countless, and for this reason alone it is not surprising how much quantum computing R&D has been growing in the last few years. But there is another interesting reason, especially for a CISO. We mentioned before as there are just a bunch of problems which are currently known to be easily solvable on a QC but believed to be really hard (even from a theoretical point of view) for classical computers. Well, it turns out that, coincidentally, such few and particular problems are actually super important: they are at the core of basically every cryptographic security solution in use today! Cryptosystems such as RSA and elliptic curves are ubiquitous in our digital society, used in every commercial and non-commercial security solution, and the whole Internet (and any communication network younger than the telegraph) would literally be unthinkable without these mathematical constructs. The point is, these algorithms are only secure because no single genius or research group, even after hundreds of years of research, has found an efficient way to solve the underlying mathematical problems yet: these cryptosystems work because for an adversary to break the security of the scheme it would be necessary to solve one of these mastodontically hard problems, impossible today even with the fastest classical supercomputer. And this is where quantum computers come into play! All these cryptosystems have been developed quite a few years ago, at a time when QCs were still mostly unheard of. Since 1994, with the discovery of Shor’s quantum algorithm, we know that the vast majority of the cryptographic protocols in use today would be vulnerable as soon as a working QC is built. And this is the reason why, after 1994, research in quantum computing has always had military and intelligence organizations as generous sponsors. There is currently an ongoing arms race for the first superpower able to use quantum computing to break the security of adversarial actors’ communication networks. This would have potentially devastating consequences, as the history of the Enigma cryptographic machines during WW2 teaches us. The truth is, the world is not yet ready for quantum computers. If tomorrow someone were to suddenly succeed in building one, the consequences would probably be devastating. It is true that such a feat is probably not going to happen tomorrow really. However, given the impressive acceleration of the pace in technological achievements toward the realization of a working QC, it is probably time to start worrying. And, in fact, people really are.## How Near Is The Quantum Apocalypse?

The short answer is: nobody knows. Quantum Computers used to be the typical technology considered to be “constantly 20 years in the future in development”, but the recent breakthroughs and accelerated pace of technological advancements hint at the fact that this might not be the case. According to some of the major experts in the field:- Michele Mosca [Oxford, 1996]: “20 qubits in 20 years” <- this really happened
- Microsoft Research [October 2015]: “Recent improvements in control of quantum systems make it seem feasible to finally build a quantum computer within a decade”
- Michele Mosca ([NIST, April 2015], [ISACA, September 2015]): “1/7 chance of breaking RSA-2048 by 2026, 1/2 chance by 2031”
- Michele Mosca [London, September 2017]: (updating a previous prediction) “1/6 chance within 10 years”
- Simon Benjamin [London, September 2017]: speculates that if someone is willing to “go Manhattan project” then “maybe 6-12 years”