## Abstract

This chapter begins with a presentation of the Deutsch–Jozsa algorithm, which was an early indicator of the potential of a quantum computer. This is followed by exhibiting two processes in which entanglement plays an essential role: dense coding and teleportation. After that, an introduction to the basics of cryptography is given, and the quantum mechanical key distribution protocols of Bennet and Brassard as well as the separate one of Ekert are presented. It is shown how both methods use the laws of quantum mechanics in order to detect eavesdropping. Next, we introduce the RSA-method for public key distribution in which the difficulty to determine the prime factors of large numbers is a seemingly insurmountable threshold, which guarantees its security. This is then followed by a detailed presentation of some of the most prominent quantum algorithms. The first of these is Shor’s algorithm to determine the prime factors of natural numbers, which would allow to break RSA encryptions. All necessary number theoretical mathematics for this, including all proofs, is provided in Appendix D. The next algorithm is again due to Shor and provides a quantum method to calculate the discrete logarithm of a finite abelian group much more efficiently than any currently known classical method. It is then shown how this algorithm would make the digital signature of bitcoins insecure, before the Hidden Subgroup Problem for abelian groups is presented as a generalization of the previous algorithms. As an example of the class of amplitude amplification algorithms, Grover’s search algorithm is presented in detail. It is first discussed in the case where the number of possible solutions is known, before an extension for the case where this number is unknown is given.