Encryption and Decryption Systems Using Post-Quantum Technology
Total Page:16
File Type:pdf, Size:1020Kb
ENCRYPTION AND DECRYPTION SYSTEMS USING POST-QUANTUM TECHNOLOGY A Thesis Presented to the Faculty of California State Polytechnic University, Pomona In Partial Fulfillment Of the Requirements for the Degree Master of Science In Computer Science By Juan Rodriguez 2020 SIGNATURE PAGE THESIS: ENCRYPTION AND DECRYPTION SYSTEMS USING POST-QUANTUM TECHNOLOGY AUTHOR: Juan Rodriguez DATE SUBMITTED: Spring 2020 Department of Computer Science Dr. Gilbert S. Young _________________________________________ Thesis Committee Chair Computer Science Dr. Yu Sun _________________________________________ Computer Science Dominick Atanasio _________________________________________ Computer Science ii ACKNOWLEDGEMENTS First, I would like to thank God for guiding me throughout the years here at Cal Poly Pomona as a master student. Although it was not easy for me to achieve to this point that I am today due to the responsibilities of managing a business, working at a teaching job and going to school at the same time, God gave me the knowledge and strength for me to be overcome any obstacles that were encountered during my master’s program. Second, I would like to thank my parents and brother for always supporting and encouraging me to always push hard to become a successful person in life. Lastly, I would like to thank all the professors at Cal Poly Pomona, especially to Dr. Young, Dr. Sun and Prof. Atanasio for always being here for me to assist and encourage me to finish my thesis. I also want to thank to Dr. Young, Dr. Sun and Prof. Atanasio for helping me reach another milestone in life. iii ABSTRACT For decades, RSA algorithm has been the leading algorithm for encryption and decryption security system. The fact of using RSA infrastructure is that everything is performed using a server system, which are classical computers meaning that there are some limitations in processing power threshold. There are many leading companies, such as governments, financial and many other industries that currently uses RSA algorithm to encrypt their data whenever is being transferred between the computer and the server. Today, there exists a newer technology that is more powerful than the classical computer that we are currently using today, and that innovative technology is quantum computing. This technology can perform a brute-force attack, encryption and decryption process and many more at a very fast and impressive speed that no other technologies is able to perform. Due to its outstanding speed, this will open door to vulnerabilities, which means that if hackers gets their hands on the quantum technology and has knowledge of writing PyQuil programs, then they will be able to successfully perform brute-force attack on RSA system meaning that RSA algorithm will no longer be the safest security standard for industries to use. For this research study, experiments will be performed on several encryption and decryption post-quantum algorithms to compare and determine which of these algorithms are the most secure for the industry to utilize them for their encryption system. The algorithms that will be used in this experiment are Diffie-Hellman Key Exchange, Merkle Signature Scheme, Ring-LWE Signature and Rainbow. In this experiment, the advantages and disadvantages of using these four algorithms will be determined alongside of determining the best post-quantum algorithm for encryption and decryption system. iv TABLE OF CONTENTS ACKNOWLEDGEMENTS ............................................................................................... iii ABSTRACT ....................................................................................................................... iv LIST OF TABLES ............................................................................................................. ix LIST OF FIGURES ............................................................................................................ x CHAPTER 1 – INTRODUCTION ..................................................................................... 1 CHAPTER 2 – LITERATURE SURVEY .......................................................................... 3 2.1 – Quantum Computing ...............................................................................................3 2.1.1 – Quantum Computations .................................................................................. 4 2.1.2 – Notions of Quantum Computing ....................................................................11 2.1.3 – Quantum Gates.............................................................................................. 14 2.1.4 – Quantum Memory ......................................................................................... 15 2.1.5 – Quantum CPU ............................................................................................... 16 2.1.6 – Controlling and Measurement of Quantum Computing ............................... 21 2.1.7 – No Cloning, Superpositions and Measurement ............................................ 25 2.1.8 – Quantum Error Correction ............................................................................ 35 2.1.9 – Multi-Qubit Systems: Tensor Products ......................................................... 39 2.1.10 – Subject Reduction ....................................................................................... 48 2.1.11 – Strong Normalization .................................................................................. 64 2.2 – Large Scale Quantum Computing ......................................................................... 87 2.2.1 – Gate Model Quantum Computers ................................................................. 88 v 2.2.2 – Distributed Topologies .................................................................................. 91 2.2.3 – Physical Implementations of Quantum Computing ...................................... 92 2.3 – Quantum Algorithm Implementations .................................................................. 96 2.3.1 – Managing Large-Scale Quantum Computing ............................................... 97 2.3.2 – Computational Problems ............................................................................... 98 2.3.3 – Quantum Computing Optimization............................................................. 104 2.4 – Quantum Cryptography ...................................................................................... 107 2.4.1 – Quantum Block Encryption Algorithm ....................................................... 109 2.4.2 – Encryption Process.......................................................................................110 2.4.3 – Decryption Process ......................................................................................116 2.4.4 – Security Analysis and Algorithm Operations ...............................................117 2.4.5 – Key Management and Circuits for Encryption and Decryption ................. 121 2.5 – Diffie-Hellman Key Exchange............................................................................ 124 2.5.1 – Preliminaries ............................................................................................... 126 2.5.2 – Reduction Algorithm ................................................................................... 129 2.5.3 – Interpolation ................................................................................................ 130 2.5.4 – Fast Generator ............................................................................................. 132 2.5.5 – Malicious Standards .................................................................................... 134 2.5.6 – Chebyshev Chaotic Map ............................................................................. 136 2.5.7 – The Process of Wang-Zhao’s Key Agreement Protocol .............................. 139 2.5.8 – Improved Key Agreement Protocol ............................................................ 145 2.5.9 – Performance Comparisons .......................................................................... 150 2.6 – Merkle Signature Scheme ................................................................................... 150 vi 2.6.1 – Winternitz One-Time Signature Scheme .................................................... 151 2.6.2 – Merkle Signature Scheme ........................................................................... 155 2.6.3 – Recovering Winternitz Signature Key XiW ................................................ 160 2.6.4 – Determining Next Authentication Path Ai + 1 ........................................... 161 2.6.5 – Chained Merkle Signature Scheme ............................................................. 164 2.6.6 – Merkle Cryptoprocessor High-Level Architecture ..................................... 166 2.6.7 – Hardware/Software Partitioning ................................................................. 166 2.6.8 – Hardware/Software Interface ...................................................................... 168 2.6.9 – Hardware Architecture ................................................................................ 170 2.6.10 – MCP Sign Unit .......................................................................................... 173 2.6.11 – Leaf Generator .......................................................................................... 175 2.6.12 – Winternitz Sign Module ............................................................................ 178 2.6.13 – Stack Bank