Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

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!

Craig Stuntz

May 07, 2021
Tweet

More Decks by Craig Stuntz

Other Decks in Programming

Transcript

  1. Quantum Computing?
    What on Earth is
    And will it break all my encryption?
    Craig Stuntz ∈ Improving


    https://speakerdeck.com/craigstuntz

    View Slide

  2. Hard?
    https://www.flickr.com/photos/sandialabs/23160263111/

    View Slide

  3. ₿ Bitcoin mining in a nutshell:


    sha256(
    _ _
    what?
    _ _
    )
    < =
    target

    View Slide

  4. Prime
    Factorization
    RSA Encryption in a nutshell:


    prime1 * prime2 = very_large_number

    View Slide

  5. Graph
    Isomorphism
    Do these represent the same graph?

    View Slide

  6. Recommendation
    Algorithms
    “The Netflix problem”

    View Slide

  7. Creating a
    New React
    App

    View Slide

  8. We Don’t Know
    How Hard These
    Are!
    Honeywell

    View Slide

  9. “Classical” Computing
    https://commons.wikimedia.org/wiki/File:Vax_11-780_(2).jpg

    View Slide

  10. The Promise
    https://commons.wikimedia.org/wiki/File:Quantum-computer-Chalmers_2017.jpg

    View Slide

  11. RSA

    View Slide

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

    View Slide



  13. — 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

    View Slide

  14. https://github.com/krishnakumarsekar/awesome-quantum-machine-learning

    View Slide

  15. However!
    • TLS does not seem to be broken


    • Quantum advantage (maybe) not (yet) shown


    • Classical algorithms and hardware keep getting better!


    • No “universal” speedup


    • Theoretical advantages of quantum computers are not well understood


    • Many popular articles on quantum computing are mostly marketing

    View Slide

  16. You Should Care Anyway
    • They’re real


    • 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

    View Slide

  17. What Can Quantum Computers Do?
    • Simulate quantum physics


    • Breaking public key cryptography


    • Combinatorial search & optimization (Grover’s algorithm)


    • Machine learning (maybe!)


    • Using as a prover to prove beyond classical capabilities


    • Maybe more in the future?

    View Slide

  18. Computational Complexity
    Detail from image by Dr. Gabriel Robins, http://www.cs.virginia.edu/~robins/cs3102/

    View Slide

  19. Some Problems Seem Hard; Some We Know Are Hard
    What is a Hard Problem, Actually?
    Dif
    fi
    culty Example
    Efficient solutions exist Greatest common divisor
    Solution exists but is exponentially hard Traveling salesman problem
    General solution impossible Entscheidungsproblem — think Turing
    “Hmm, actually, we’re not sure!”
    Finding factors of products of large
    prime numbers

    View Slide

  20. https://www.quantamagazine.org/teenager-finds-classical-alternative-to-quantum-recommendation-algorithm-20180731/

    View Slide

  21. Coprocessors
    CPU
    GPU
    TPU
    DSP
    Quantum

    View Slide



  22. — 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

    View Slide

  23. Under the Hood
    Building and Programming a Quantum Computer
    https://www.wpafb.af.mil/News/Article-Display/Article/1250638/

    View Slide

  24. Qubits
    Qubits Computing power
    30 Microsoft QDK can simulate on a laptop
    32 Run on AWS Braket (Rigetti hardware)
    ~50
    Fastest real quantum computers


    Simulate quantum computer on supercomputer
    50-60
    Quantum computers begin to solve interesting
    problems unsolvable on any classical hardware
    ~10000 Most public key encryption broken

    View Slide

  25. NISQ

    View Slide

  26. Ion Traps
    https://jqi.umd.edu/news/future-ion-traps

    View Slide

  27. Super-
    conducting
    Qubits
    https://www.flickr.com/photos/ibm_research_zurich/26093923343

    View Slide

  28. Topological
    qubits
    Ester Dalvit / Nature

    View Slide

  29. Programming a
    Quantum
    Computer

    View Slide

  30. 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

    View Slide



  31. — 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.

    View Slide



  32. — 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."
    https://www.infoq.com/articles/quantum-computing-algoritms-two/

    View Slide

  33. About That Crypto Thing
    https://www.flickr.com/photos/usnistgov/5941059262/

    View Slide

  34. 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)

    View Slide

  35. The Period of a Function
    https://commons.wikimedia.org/wiki/File:Sine.svg

    View Slide

  36. 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!

    View Slide

  37. 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!

    View Slide

  38. View Slide

  39. NIST Post-Quantum Cryptography Standardization project
    Quantum Resistant Crypto
    • Call for proposals yielded 82 submissions


    • 69 were accepted


    • All but 26 were broken or withdrawn by 2019


    • On 22 July, 15 entered the third round, with 7 “finalists”


    • Initial NIST standard due in 2022

    View Slide

  40. So How Close Are We?
    https://www.flickr.com/photos/ellenm1/7847402208

    View Slide

  41. Useful Quantum Computing
    • “Quantum advantage”


    • Faster than a classical computer


    • A moving target, since classical hardware and algorithms keep improving


    • Perhaps 50+ entangled qubits?


    • Google claimed this in 2019; IBM disagreed, we’re on the cusp, though


    • First useful tasks


    • Combinatorial / search problems


    • Simulating quantum physics


    • Proving


    • “Goodbye, RSA”


    • Thousands of entangled, logical qubits

    View Slide

  42. Further Reading
    CC-A by https://www.wocintechchat.com/

    View Slide

  43. • 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

    View Slide

  44. C o n t a c t
    [email protected]
    @craigstuntz
    http://paperswelove.org/chapter/columbus/
    https://speakerdeck.com/craigstuntz

    View Slide