Quantum Computing Fundamentals (Paperback)
內容描述
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
目錄大綱
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
作者介紹
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.