What On Earth Is Quantum Computing? (And will it break all my encryption?)

What On Earth Is Quantum Computing? (And will it break all my encryption?)

As presented to BSides Columbus 2019.

You might have heard that quantum computers can break public key encryption. You might also have heard that you can buy a quantum computer today, or run programs on one via a cloud service. Yet TLS does not seem to be broken! What is going on? It's hard to tell, because most "explanations" of quantum computing are either marketing brochures or written for an audience of physics postdocs. This talk will clearly explain what we know about quantum computing today, and how it is relevant to software professionals now and in the near future. We'll focus on the security space in particular and discuss what quantum computers can do besides factor large integers. Come with questions, leave with a clear vision for how new computing technologies may change your work in the decades to come!

56e5c49368a2e0ab999848a8d9e3c116?s=128

Craig Stuntz

March 01, 2019
Tweet

Transcript

  1. QUANTUM COMPUTING? WHAT ON EARTH IS AND WILL IT BREAK

    ALL MY ENCRYPTION? CRAIG STUNTZ ∈ IMPROVING https://speakerdeck.com/craigstuntz
  2. THE PROMISE https://commons.wikimedia.org/wiki/File:Quantum-computer-Chalmers_2017.jpg

  3. RSA

  4. ECDSA RSA DSA https://arxiv.org/pdf/1804.00200.pdf

  5. ” “ — Richard Feynman …nature isn’t classical, dammit, and

    if you want to make a simulation of nature, you’d better make it quantum mechanical, and by golly it’s a wonderful problem, because it doesn’t look so easy. https://people.eecs.berkeley.edu/~christos/classics/Feynman.pdf
  6. https://github.com/krishnakumarsekar/awesome-quantum-machine-learning

  7. HOWEVER! • TLS does not seem to be broken •

    Cryptographically relevant quantum computers don’t exist (yet) • Quantum supremacy not (yet) shown • Classical algorithms keep getting better! • No “universal” speedup • Theoretical advantages of quantum computers are not well understood • Many popular articles on quantum computing are mostly marketing
  8. YOU SHOULD CARE ANYWAY • Advantages are potentially huge •

    New cryptosystems take years to vet and implement; need to start now • Whether or not they’re implementable, there is at least some potential for new physics, which is cool
  9. “CLASSICAL” COMPUTING https://commons.wikimedia.org/wiki/File:Vax_11-780_(2).jpg

  10. CAST OF CHARACTERS

  11. PROGRAMMER CC-A by https://www.wocintechchat.com/

  12. LIBRARY AUTHOR — OR — CRYPTOGRAPHER https://www.flickr.com/photos/ibm_research_zurich/16138523887/

  13. HARDWARE DESIGNER https://commons.wikimedia.org/wiki/File:Quantum_Computing;_Ion_Trapping_(5941055642).jpg

  14. COPROCESSORS CPU GPU TPU DSP Quantum

  15. ” “ — Neil C. Thompson & Svenja Spanuth The

    migration of computing from a general purpose technology to a fragmented one will fundamentally alter it… In particular, we expect the gains from computing improvement to be become much more unequal, to the detriment of many. https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3287769
  16. NUTS AND BOLTS https://www.flickr.com/photos/63059536@N06/5941039382

  17. HOW CLASSICAL COMPUTERS WORK https://commons.wikimedia.org/wiki/File:ABasicComputer.gif LDR EAX, ADR_VAR1 LDR EBX,

    ADR_VAR2 ADD EAX, EBX STR EAX, [ECX]
  18. CLASSICAL COMPUTER OPERATION ARGUMENTS REGISTERS https://commons.wikimedia.org/wiki/File:RF-remote-control-dip-switch-calculator.png

  19. HOW QUANTUM COMPUTERS WORK https://commons.wikimedia.org/wiki/File:H_CNOTGate.png Qubits Quantum Gates

  20. QUANTUM COMPUTER OPERATION ARGUMENTS QUBITS

  21. QUANTUM OPERATIONS QUANTUM OPERATION

  22. QUANTUM OPERATIONS QUANTUM OPERATION 1 2 |0⟩ + 1 2

    |1⟩ |0⟩ |1⟩ MEASURE
  23. ENTANGLEMENT / INTERFERENCE http://www.smbc-comics.com/comic/the-talk-3

  24. ” “ — Holly Cummins "Mixing together waves so that

    wrong answers cancel themselves out is very different from how classical computers work, but it is something many of us have experienced in the macroscopic world. For example, noise cancelling headphones work by adding extra noise to existing noise."
  25. INTERFERENCE https://www.flickr.com/photos/brewbooks/309494512 ✅ ❌

  26. NOISE

  27. COMPUTATIONAL COMPLEXITY Detail from image by Dr. Gabriel Robins, http://www.cs.virginia.edu/~robins/cs3102/

  28. SOME PROBLEMS SEEM HARD; SOME WE KNOW ARE HARD WHAT

    IS A HARD PROBLEM, ACTUALLY? • General solution impossible • Entscheidungsproblem — think Turing • Solution exists but is exponentially hard • Traveling salesman problem • Efficient solutions exist • Greatest common divisor • “Hmm, actually, we’re not sure!” • Finding factors of products of large prime numbers
  29. https://www.quantamagazine.org/teenager-finds-classical-alternative-to-quantum-recommendation-algorithm-20180731/

  30. SOME PROBLEMS SEEM HARD; SOME WE KNOW ARE HARD WHAT

    IS A HARD PROBLEM, ACTUALLY? https://commons.wikimedia.org/wiki/File:BQP_complexity_class_diagram.svg
  31. UNDER THE HOOD BUILDING AND PROGRAMMING A QUANTUM COMPUTER https://www.wpafb.af.mil/News/Article-Display/Article/1250638/

  32. ” “ — Lance Fortnow The basic ability to do

    Fourier transformation, that’s at the heart of the power of quantum, at least most of the algorithms we know.
  33. NISQ

  34. ION TRAPS https://jqi.umd.edu/news/future-ion-traps

  35. SUPER- CONDUCTING QUBITS https://www.flickr.com/photos/ibm_research_zurich/26093923343

  36. QUANTUM ANNEALING https://commons.wikimedia.org/wiki/File:DWave_128chip.jpg

  37. TOPOLOGICAL QUBITS Ester Dalvit / Nature

  38. PROGRAMMING A QUANTUM COMPUTER

  39. Q# using (qubits = Qubit[2]) { for (test in 1..count)

    { Set (initial, qubits[0]); Set (Zero, qubits[1]); H(qubits[0]); CNOT(qubits[0], qubits[1]); let res = M (qubits[0]); if (M (qubits[1]) == res) { set agree = agree + 1; } #$ Count the number of ones we saw: if (res == One) { set numOnes = numOnes + 1; } } Set(Zero, qubits[0]); Set(Zero, qubits[1]); } https://docs.microsoft.com/en-us/quantum/quickstart?view=qsharp-preview&tabs=tabid-vs2017
  40. ABOUT THAT CRYPTO THING https://www.flickr.com/photos/usnistgov/5941059262/

  41. ” “ — Scott Aaronson If you take just one

    piece of information from this blog: Quantum computers would not solve hard search problems instantaneously by simply trying all the possible solutions at once.
  42. ONE WAY FUNCTIONS HOW DOES RSA WORK? • Given two

    numbers, it’s easy to find their product • But given a product, it’s much harder to find its prime factorization • If the factors are two prime numbers, then the factorization is unique, so this is even harder, and harder still if the prime numbers are very large (thousands of bits)
  43. THE PERIOD OF A FUNCTION https://commons.wikimedia.org/wiki/File:Sine.svg

  44. FIND THE PRIME FACTORS OF A PRODUCT EFFICIENTLY SHOR’S ALGORITHM

    • Classical part: Do some fairly simple arithmetic (finding the greatest common denominator of a couple of numbers) • Quantum part: Find the period of a function • Classical part: Do some more fairly simple arithmetic • Because we have small quantum computers, we can currently use Shor’s algorithm only to factor small numbers, like 15 • Despite these small numbers, Shor’s algorithm clearly works!
  45. GROVER’S ALGORITHM SEARCH PROBLEMS, REVISITED • Unlike Shor’s algorithm, works

    with general functions, not just finding products of primes • Slower than Shor’s algorithm, but much faster than classical search • Aaronson quote is still correct; we are not searching “instantaneously” by “trying all the possible solutions at once” [O( N)]
  46. QUANTUM RESISTANT CRYPTO • It may take 10-15 years to

    gain confidence in a novel cryptosystem • Many symmetric algorithms like AES are believed to be quantum resistant • A number of possibly quantum resistant asymmetric cryptosystems are under development and analysis • Some experiments have failed!
  47. SO HOW CLOSE ARE WE? https://www.flickr.com/photos/ellenm1/7847402208

  48. USEFUL QUANTUM COMPUTING • “Quantum supremacy” • Faster than a

    classical computer • A moving target, since classical hardware and algorithms keep improving • Perhaps 50+ entangled qubits? • “Goodbye, RSA” • Thousands of entangled, logical qubits
  49. FURTHER READING CC-A by https://www.wocintechchat.com/

  50. • Surveys • A Beginner’s Guide to Quantum Computing and

    Q#, blog post by Frances Tibble • Quantum Computing in the NISQ era and beyond, report by John Preskill • Quantum Computing since Democritus, book by Scott Aaronson • Quantum Computing: Progress and Prospects, report by the National Academies of Sciences, Engineering, and Medicine • Specific areas • CECPQ2, blog post by Adam Langley on post-quantum experiments in Chrome • “Major Quantum Computing Advance Made Obsolete by Teenager,” Quanta article • “Graduate Student Solves Quantum Verification Problem,” Quanta article
  51. C O N T A C T craig.stuntz@improving.com @craigstuntz http://paperswelove.org/chapter/columbus/

    https://speakerdeck.com/craigstuntz