In chapter 11, we used a quantum programming technique called amplitude amplification in Grover’s algorithm to speed up searching unstructured data sets. While Grover’s was not the most efficient search approach for smaller data sets, as we looked to scaling up to larger and larger problems, our quantum approach offered a clear advantage. In this final chapter, we’ll build on the skills we’ve developed throughout the book to tackle one of the most famous quantum algorithms: Shor’s algorithm. We’ll implement Shor’s and show how it can give us an advantage when trying to factor large integers. While that may not seem like the most interesting task, the difficulty of factoring integers actually underpins much of our current cryptographic infrastructure.