Quantum Computing Fundamentals (Paperback)
暫譯: 量子計算基礎(平裝本)

Chuck Easttom

買這商品的人也買了...

相關主題

商品描述

ONE-VOLUME INTRODUCTION TO QUANTUM COMPUTING

  • Clearly explains core concepts, terminology, and techniques
  • Covers the foundational physics, math, and information theory you need
  • Provides hands-on practice with quantum programming
  • The perfect beginner’s guide for anyone interested in a quantum computing career

 

Dr. Chuck Easttom brings together complete coverage of basic quantum computing concepts, terminology, and issues, along with key skills to get you started.

 

Drawing on 30+ years as a computer science instructor, consultant, and researcher, Easttom demystifies the field’s underlying technical concepts and math, shows how quantum computing systems are designed and built, explains their implications for cyber security, and previews advances in quantum-resistant cryptography. Writing clearly and simply, he introduces two of today’s leading quantum programming languages, Microsoft Q# and QASM, and guides you through sample projects. Throughout, tests, projects, and review questions help you deepen and apply your knowledge.

 

Whether you’re a student, professional, or manager, this guide will prepare you for the quantum computing revolution--and expand your career options, too.

 

- Master the linear algebra and other mathematical skills you’ll need
- Explore key physics ideas such as quantum states and uncertainty
- Review data structures, algorithms, and computing complexity
- Work with probability and set theory in quantum computing
- Familiarize yourself with basic quantum theory and formulae
- Understand quantum entanglement and quantum key distribution
- Discover how quantum computers are architected and built
- Explore several leading quantum algorithms
- Compare quantum and conventional asymmetric algorithms
- See how quantum computing might break traditional cryptography
- Discover several approaches to quantum-resistant cryptography
- Start coding with Q#, Microsoft’s quantum programming language
- Simulate quantum gates and algorithms with QASM

商品描述(中文翻譯)

量子計算的單卷入門


  • 清楚解釋核心概念、術語和技術

  • 涵蓋您所需的基礎物理學、數學和信息理論

  • 提供量子編程的實作練習

  • 對任何有興趣從事量子計算職業的人來說,這是完美的入門指南

 

查克·伊斯頓博士整合了基本量子計算概念、術語和問題的完整覆蓋,以及幫助您入門的關鍵技能。

 

伊斯頓擁有超過30年的計算機科學教師、顧問和研究員的經驗,揭開了該領域的基本技術概念和數學的神秘面紗,展示了量子計算系統的設計和建造方式,解釋了它們對網絡安全的影響,並預覽了量子抗性密碼學的進展。他以清晰簡單的方式撰寫,介紹了當今兩種主要的量子編程語言,Microsoft Q# 和 QASM,並指導您完成示範項目。在整個過程中,測試、項目和回顧問題幫助您深化和應用知識。

 

無論您是學生、專業人士還是經理,這本指南將為您準備量子計算革命,並擴展您的職業選擇。

 

- 掌握您所需的線性代數和其他數學技能

- 探索量子狀態和不確定性等關鍵物理概念

- 回顧數據結構、算法和計算複雜性

- 在量子計算中運用概率和集合論

- 熟悉基本的量子理論和公式

- 理解量子糾纏和量子密鑰分發

- 發現量子計算機的架構和建造方式

- 探索幾個主要的量子算法

- 比較量子算法和傳統非對稱算法

- 了解量子計算如何可能破解傳統密碼學

- 發現幾種量子抗性密碼學的方法

- 開始使用 Q#,微軟的量子編程語言進行編碼

- 使用 QASM 模擬量子閘和算法

作者簡介

Dr. Chuck Easttom is the author of 31 books, including several on computer security, forensics, and cryptography. His books are used at more than 60 universities. He has also authored scientific papers (more than 70 so far) on digital forensics, cyber warfare, cryptography, and applied mathematics. He is an inventor with 22 computer science patents. He holds a Doctor of Science in cyber security (dissertation topic: a study of lattice-based cryptographic algorithms for post-quantum computing). He also has a Ph.D. in Technology, focusing on nanotechnology (dissertation title: "The Effects of Complexity on Carbon Nanotube Failures") and a Ph.D. in Computer Science (dissertation title: "On the Application of Graph Theory to Digital Forensics"). He also has three master's degrees (one in applied computer science, one in education, and one in systems engineering). He is a senior member of the IEEE and a senior member of the ACM (Association of Computing Machinery) as well as a member of IACR (International Association of Cryptological Research) and INCOSE (International Council on Systems Engineering). He is also a distinguished speaker of the ACM and a distinguished visitor of the IEEE Computer Society. He currently is an adjunct lecturer for Georgetown University.

作者簡介(中文翻譯)

查克·伊斯頓博士是31本書的作者,其中包括幾本有關計算機安全、取證和密碼學的書籍。他的書籍在超過60所大學中使用。他還撰寫了超過70篇有關數位取證、網路戰爭、密碼學和應用數學的科學論文。他是一位擁有22項計算機科學專利的發明家。他擁有網路安全的科學博士學位(論文主題:基於格的密碼演算法在後量子計算中的研究)。他還擁有技術學的博士學位,專注於奈米技術(論文題目:「複雜性對碳奈米管失效的影響」)以及計算機科學的博士學位(論文題目:「圖論在數位取證中的應用」)。他還擁有三個碩士學位(一個是應用計算機科學,另一個是教育,還有一個是系統工程)。他是IEEE的資深會員和ACM(計算機協會)的資深會員,並且是IACR(國際密碼學研究協會)和INCOSE(國際系統工程理事會)的成員。他也是ACM的傑出演講者和IEEE計算機學會的傑出訪客。目前,他是喬治城大學的兼任講師。

目錄大綱

Preface xvii

 

Part I Preparatory Material

 

Chapter 1: Introduction to Essential Linear Algebra 2

 

    1.1 What Is Linear Algebra?.. . . . . . . . . . . . . . . . . . . . 3

 

    1.2 Some Basic Algebra.. . . . . . . . . . . . . . . . . . . . . 4

 

    1.3 Matrix Math.. . . . . . . . . . . . . . . . . . . . . . . . 10

 

    1.4 Vectors and Vector Spaces.. . . . . . . . . . . . . . . . . . 23

 

    1.5 Set Theory.. . . . . . . . . . . . . . . . . . . . . . . . . 25

 

    1.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 29

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 29

 

Chapter 2: Complex Numbers 32

 

    2.1 What Are Complex Numbers?.. . . . . . . . . . . . . . . . . 32

 

    2.2 Algebra of Complex Numbers.. . . . . . . . . . . . . . . . . 34

 

    2.3 Complex Numbers Graphically.. . . . . . . . . . . . . . . . 38

 

    2.4 Vector Representations of Complex Numbers.. . . . . . . . . . 45

 

    2.5 Pauli Matrices.. . . . . . . . . . . . . . . . . . . . . . . 48

 

    2.6 Transcendental Numbers.. . . . . . . . . . . . . . . . . . . 56

 

    2.7 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 58

 

Chapter 3: Basic Physics for Quantum Computing 60

 

    3.1 The Journey to Quantum.. . . . . . . . . . . . . . . . . . . 61

 

    3.2 Quantum Physics Essentials.. . . . . . . . . . . . . . . . . 65

 

    3.3 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 77

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 77

 

Chapter 4: Fundamental Computer Science for Quantum Computing 80

 

    4.1 Data Structures.. . . . . . . . . . . . . . . . . . . . . . . 81

 

    4.2 Algorithms.. . . . . . . . . . . . . . . . . . . . . . . . . 88

 

    4.3 Computational Complexity.. . . . . . . . . . . . . . . . . . 93

 

    4.4 Coding Theory.. . . . . . . . . . . . . . . . . . . . . . . 95

 

    4.5 Logic Gates.. . . . . . . . . . . . . . . . . . . . . . . . 96

 

    4.6 Computer Architecture.. . . . . . . . . . . . . . . . . . . 100

 

    4.7 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 103

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 103

 

Chapter 5: Basic Information Theory 106

 

    5.1 Basic Probability.. . . . . . . . . . . . . . . . . . . . . . 107

 

    5.2 Set Theory.. . . . . . . . . . . . . . . . . . . . . . . . 108

 

    5.3 Information Theory.. . . . . . . . . . . . . . . . . . . . . 112

 

    5.4 Quantum Information.. . . . . . . . . . . . . . . . . . . . 118

 

    5.5 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 120

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 120

 

Part II Basic Quantum Computing

 

Chapter 6: Basic Quantum Theory 122

 

    6.1 Further with Quantum Mechanics.. . . . . . . . . . . . . . . 123

 

    6.2 Quantum Decoherence.. . . . . . . . . . . . . . . . . . . 129

 

    6.3 Quantum Electrodynamics.. . . . . . . . . . . . . . . . . . 131

 

    6.4 Quantum Chromodynamics.. . . . . . . . . . . . . . . . . 133

 

    6.5 Feynman Diagram.. . . . . . . . . . . . . . . . . . . . . 134

 

    6.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 136

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 136

 

Chapter 7: Quantum Entanglement and QKD 138

 

    7.1 Quantum Entanglement.. . . . . . . . . . . . . . . . . . . 138

 

    7.2 Interpretation.. . . . . . . . . . . . . . . . . . . . . . . 143

 

    7.3 QKE.. . . . . . . . . . . . . . . . . . . . . . . . . . . 146

 

    7.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 151

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 152

 

Chapter 8: Quantum Architecture 154

 

    8.1 Further with Qubits.. . . . . . . . . . . . . . . . . . . . . 154

 

    8.2 Quantum Gates.. . . . . . . . . . . . . . . . . . . . . . 158

 

    8.3 More with Gates.. . . . . . . . . . . . . . . . . . . . . . 166

 

    8.4 Quantum Circuits. . . . . . . . . . . . . . . . . . . . . . 167

 

    8.5 The D-Wave Quantum Architecture.. . . . . . . . . . . . . . 169

 

    8.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 172

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 172

 

Chapter 9: Quantum Hardware 174

 

    9.1 Qubits.. . . . . . . . . . . . . . . . . . . . . . . . . . 174

 

    9.2 How Many Qubits Are Needed?. . . . . . . . . . . . . . . . 181

 

    9.3 Addressing Decoherence.. . . . . . . . . . . . . . . . . . 182

 

    9.4 Topological Quantum Computing.. . . . . . . . . . . . . . . 186

 

    9.5 Quantum Essentials.. . . . . . . . . . . . . . . . . . . . 187

 

    9.6 Quantum Networking.. . . . . . . . . . . . . . . . . . . . 188

 

    9.7 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 191

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 191

 

Chapter 10: Quantum Algorithms 194

 

    10.1 What Is an Algorithm?. . . . . . . . . . . . . . . . . . . . 194

 

    10.2 Deutsch’s Algorithm.. . . . . . . . . . . . . . . . . . . . 197

 

    10.3 Deutsch-Jozsa Algorithm.. . . . . . . . . . . . . . . . . . 199

 

    10.4 Bernstein-Vazirani Algorithm.. . . . . . . . . . . . . . . . . 201

 

    10.5 Simon’s Algorithm.. . . . . . . . . . . . . . . . . . . . . 202

 

    10.6 Shor’s Algorithm.. . . . . . . . . . . . . . . . . . . . . . 203

 

    10.7 Grover’s Algorithm. . . . . . . . . . . . . . . . . . . . . 209

 

    10.8 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 211

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 211

 

Part III Quantum Computing and Cryptography

 

Chapter 11: Current Asymmetric Algorithms 212

 

    11.1 RSA. . . . . . . . . . . . . . . . . . . . . . . . . . . 213

 

    11.2 Diffie-Hellman.. . . . . . . . . . . . . . . . . . . . . . . 216

 

    11.3 Elliptic Curve.. . . . . . . . . . . . . . . . . . . . . . . 219

 

    11.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 227

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 227

 

Chapter 12: The Impact of Quantum Computing on Cryptography 228

 

    12.1 Asymmetric Cryptography.. . . . . . . . . . . . . . . . . . 229

 

    12.2 Specific Algorithms.. . . . . . . . . . . . . . . . . . . . . 231

 

    12.3 Specific Applications. . . . . . . . . . . . . . . . . . . . 233

 

    12.3.1 Digital Certificates. . . . . . . . . . . . . . . . . . 233

 

    12.3.2 SSL/TLS. . . . . . . . . . . . . . . . . . . . . . 234

 

    12.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 241

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 241

 

Chapter 13: Lattice-based Cryptography 244

 

    13.1 Lattice-Based Mathematical Problems.. . . . . . . . . . . . . 245

 

    13.2 Cryptographic Algorithms. . . . . . . . . . . . . . . . . . 249

 

    13.3 Solving Lattice Problems.. . . . . . . . . . . . . . . . . . 256

 

    13.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 259

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 259

 

Chapter 14: Multivariate Cryptography 262

 

    14.1 Mathematics.. . . . . . . . . . . . . . . . . . . . . . . 262

 

    14.2 Matsumoto-Imai.. . . . . . . . . . . . . . . . . . . . . . 264

 

    14.3 Hidden Field Equations. . . . . . . . . . . . . . . . . . . 266

 

    14.4 Multivariate Quadratic Digital Signature Scheme (MQDSS).. . . . 268

 

    14.5 SFLASH.. . . . . . . . . . . . . . . . . . . . . . . . . 269

 

    14.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 271

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 271

 

Chapter 15: Other Approaches to Quantum Resistant Cryptography 274

 

    15.1 Hash Functions.. . . . . . . . . . . . . . . . . . . . . . 274

 

    15.2 Code-Based Cryptography.. . . . . . . . . . . . . . . . . 279

 

    15.3 Supersingular Isogeny Key Exchange.. . . . . . . . . . . . . 281

 

    15.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 289

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 289

 

Part IV Quantum Programming

 

Chapter 16: Working with Q# 292

 

    16.1 Basic Programming Concepts.. . . . . . . . . . . . . . . . 292

 

    16.2 Getting Started with Q#.. . . . . . . . . . . . . . . . . . . 298

 

    16.3 Grover’s Algorithm. . . . . . . . . . . . . . . . . . . . . 303

 

    16.4 Deutsch-Jozsa Algorithm.. . . . . . . . . . . . . . . . . . 307

 

    16.5 Bit Flipping.. . . . . . . . . . . . . . . . . . . . . . . . 310

 

    16.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 311

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 311

 

Chapter 17: Working with QASM 314

 

    17.1 Basic Programming Concepts.. . . . . . . . . . . . . . . . 315

 

    17.2 Getting Started with QASM.. . . . . . . . . . . . . . . . . 319

 

    17.3 Quantum Error Correction. . . . . . . . . . . . . . . . . . 320

 

    17.4 Grover’s Algorithm. . . . . . . . . . . . . . . . . . . . . 322

 

    17.5 Deutsch-Jozsa Algorithm.. . . . . . . . . . . . . . . . . . 326

 

    17.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 328

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 328

 

Appendix: Answers to Test Your Skills Questions 330

目錄大綱(中文翻譯)

Preface xvii

 

Part I Preparatory Material

 

Chapter 1: Introduction to Essential Linear Algebra 2

 

    1.1 What Is Linear Algebra?.. . . . . . . . . . . . . . . . . . . . 3

 

    1.2 Some Basic Algebra.. . . . . . . . . . . . . . . . . . . . . 4

 

    1.3 Matrix Math.. . . . . . . . . . . . . . . . . . . . . . . . 10

 

    1.4 Vectors and Vector Spaces.. . . . . . . . . . . . . . . . . . 23

 

    1.5 Set Theory.. . . . . . . . . . . . . . . . . . . . . . . . . 25

 

    1.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 29

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 29

 

Chapter 2: Complex Numbers 32

 

    2.1 What Are Complex Numbers?.. . . . . . . . . . . . . . . . . 32

 

    2.2 Algebra of Complex Numbers.. . . . . . . . . . . . . . . . . 34

 

    2.3 Complex Numbers Graphically.. . . . . . . . . . . . . . . . 38

 

    2.4 Vector Representations of Complex Numbers.. . . . . . . . . . 45

 

    2.5 Pauli Matrices.. . . . . . . . . . . . . . . . . . . . . . . 48

 

    2.6 Transcendental Numbers.. . . . . . . . . . . . . . . . . . . 56

 

    2.7 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 58

 

Chapter 3: Basic Physics for Quantum Computing 60

 

    3.1 The Journey to Quantum.. . . . . . . . . . . . . . . . . . . 61

 

    3.2 Quantum Physics Essentials.. . . . . . . . . . . . . . . . . 65

 

    3.3 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 77

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 77

 

Chapter 4: Fundamental Computer Science for Quantum Computing 80

 

    4.1 Data Structures.. . . . . . . . . . . . . . . . . . . . . . . 81

 

    4.2 Algorithms.. . . . . . . . . . . . . . . . . . . . . . . . . 88

 

    4.3 Computational Complexity.. . . . . . . . . . . . . . . . . . 93

 

    4.4 Coding Theory.. . . . . . . . . . . . . . . . . . . . . . . 95

 

    4.5 Logic Gates.. . . . . . . . . . . . . . . . . . . . . . . . 96

 

    4.6 Computer Architecture.. . . . . . . . . . . . . . . . . . . 100

 

    4.7 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 103

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 103

 

Chapter 5: Basic Information Theory 106

 

    5.1 Basic Probability.. . . . . . . . . . . . . . . . . . . . . . 107

 

    5.2 Set Theory.. . . . . . . . . . . . . . . . . . . . . . . . 108

 

    5.3 Information Theory.. . . . . . . . . . . . . . . . . . . . . 112

 

    5.4 Quantum Information.. . . . . . . . . . . . . . . . . . . . 118

 

    5.5 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 120

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 120

 

Part II Basic Quantum Computing

 

Chapter 6: Basic Quantum Theory 122

 

    6.1 Further with Quantum Mechanics.. . . . . . . . . . . . . . . 123

 

    6.2 Quantum Decoherence.. . . . . . . . . . . . . . . . . . . 129

 

    6.3 Quantum Electrodynamics.. . . . . . . . . . . . . . . . . . 131

 

    6.4 Quantum Chromodynamics.. . . . . . . . . . . . . . . . . 133

 

    6.5 Feynman Diagram.. . . . . . . . . . . . . . . . . . . . . 134

 

    6.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 136

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 136

 

Chapter 7: Quantum Entanglement and QKD 138

 

    7.1 Quantum Entanglement.. . . . . . . . . . . . . . . . . . . 138

 

    7.2 Interpretation.. . . . . . . . . . . . . . . . . . . . . . . 143

 

    7.3 QKE.. . . . . . . . . . . . . . . . . . . . . . . . . . . 146

 

    7.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 151

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 152

 

Chapter 8: Quantum Architecture 154

 

    8.1 Further with Qubits.. . . . . . . . . . . . . . . . . . . . . 154

 

    8.2 Quantum Gates.. . . . . . . . . . . . . . . . . . . . . . 158

 

    8.3 More with Gates.. . . . . . . . . . . . . . . . . . . . . . 166

 

    8.4 Quantum Circuits. . . . . . . . . . . . . . . . . . . . . . 167

 

    8.5 The D-Wave Quantum Architecture.. . . . . . . . . . . . . . 169

 

    8.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 172

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 172

 

Chapter 9: Quantum Hardware 174

 

    9.1 Qubits.. . . . . . . . . . . . . . . . . . . . . . . . . . 174

 

    9.2 How Many Qubits Are Needed?. . . . . . . . . . . . . . . . 181

 

    9.3 Addressing Decoherence.. . . . . . . . . . . . . . . . . . 182

 

    9.4 Topological Quantum Computing.. . . . . . . . . . . . . . . 186

 

    9.5 Quantum Essentials.. . . . . . . . . . . . . . . . . . . . 187

 

    9.6 Quantum Networking.. . . . . . . . . . . . . . . . . . . . 188

 

    9.7 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 191

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 191

 

Chapter 10: Quantum Algorithms 194

 

    10.1 What Is an Algorithm?. . . . . . . . . . . . . . . . . . . . 194

 

    10.2 Deutsch’s Algorithm.. . . . . . . . . . . . . . . . . . . . 197

 

    10.3 Deutsch-Jozsa Algorithm.. . . . . . . . . . . . . . . . . . 199

 

    10.4 Bernstein-Vazirani Algorithm.. . . . . . . . . . . . . . . . . 201

 

    10.5 Simon’s Algorithm.. . . . . . . . . . . . . . . . . . . . . 202

 

    10.6 Shor’s Algorithm.. . . . . . . . . . . . . . . . . . . . . . 203

 

    10.7 Grover’s Algorithm. . . . . . . . . . . . . . . . . . . . . 209

 

    10.8 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 211

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 211

 

Part III Quantum Computing and Cryptography

 

Chapter 11: Current Asymmetric Algorithms 212

 

    11.1 RSA. . . . . . . . . . . . . . . . . . . . . . . . . . . 213

 

    11.2 Diffie-Hellman.. . . . . . . . . . . . . . . . . . . . . . . 216

 

    11.3 Elliptic Curve.. . . . . . . . . . . . . . . . . . . . . . . 219

 

    11.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 227

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 227

 

Chapter 12: The Impact of Quantum Computing on Cryptography 228

 

    12.1 Asymmetric Cryptography.. . . . . . . . . . . . . . . . . . 229

 

    12.2 Specific Algorithms.. . . . . . . . . . . . . . . . . . . . . 231

 

    12.3 Specific Applications. . . . . . . . . . . . . . . . . . . . 233

 

    12.3.1 Digital Certificates. . . . . . . . . . . . . . . . . . 233

 

    12.3.2 SSL/TLS. . . . . . . . . . . . . . . . . . . . . . 234

 

    12.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 241

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 241

 

Chapter 13: Lattice-based Cryptography 244

 

    13.1 Lattice-Based Mathematical Problems.. . . . . . . . . . . . . 245

 

    13.2 Cryptographic Algorithms. . . . . . . . . . . . . . . . . . 249

 

    13.3 Solving Lattice Problems.. . . . . . . . . . . . . . . . . . 256

 

    13.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 259

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 259

 

Chapter 14: Multivariate Cryptography 262

 

    14.1 Mathematics.. . . . . . . . . . . . . . . . . . . . . . . 262

 

    14.2 Matsumoto-Imai.. . . . . . . . . . . . . . . . . . . . . . 264

 

    14.3 Hidden Field Equations. . . . . . . . . . . . . . . . . . . 266

 

    14.4 Multivariate Quadratic Digital Signature Scheme (MQDSS).. . . . 268

 

    14.5 SFLASH.. . . . . . . . . . . . . . . . . . . . . . . . . 269

 

    14.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 271

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 271

 

Chapter 15: Other Approaches to Quantum Resistant Cryptography 274

 

    15.1 Hash Functions.. . . . . . . . . . . . . . . . . . . . . . 274

 

    15.2 Code-Based Cryptography.. . . . . . . . . . . . . . . . . 279

 

    15.3 Supersingular Isogeny Key Exchange.. . . . . . . . . . . . . 281

 

    15.4 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 289

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 289

 

Part IV Quantum Programming

 

Chapter 16: Working with Q# 292

 

    16.1 Basic Programming Concepts.. . . . . . . . . . . . . . . . 292

 

    16.2 Getting Started with Q#.. . . . . . . . . . . . . . . . . . . 298

 

    16.3 Grover’s Algorithm. . . . . . . . . . . . . . . . . . . . . 303

 

    16.4 Deutsch-Jozsa Algorithm.. . . . . . . . . . . . . . . . . . 307

 

    16.5 Bit Flipping.. . . . . . . . . . . . . . . . . . . . . . . . 310

 

    16.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 311

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 311

 

Chapter 17: Working with QASM 314

 

    17.1 Basic Programming Concepts.. . . . . . . . . . . . . . . . 315

 

    17.2 Getting Started with QASM.. . . . . . . . . . . . . . . . . 319

 

    17.3 Quantum Error Correction. . . . . . . . . . . . . . . . . . 320

 

    17.4 Grover’s Algorithm. . . . . . . . . . . . . . . . . . . . . 322

 

    17.5 Deutsch-Jozsa Algorithm.. . . . . . . . . . . . . . . . . . 326

 

    17.6 Summary.. . . . . . . . . . . . . . . . . . . . . . . . . 328

 

    Test Your Skills. . . . . . . . . . . . . . . . . . . . . . . 328

 

Appendix: Answers to Test Your Skills Questions 330