Cracking Codes with Python: An Introduction to Building and Breaking Ciphers
about the author Al Sweigart is a software developer and tech book author living in San Francisco Python is his favorite programming language and he is the developer of several open source modules for it His other books are freely available under a Creative Commons license on his website https inventwithpython com His cat weighs 12 pounds about the technical reviewers Ari Lacenski creates mobile apps and Python software She lives in Seattle Jean-Philippe Aumasson Chapters 22 24 is Principal Research Engineer at Kudelski Security Switzerland He speaks regularly at information security conferences such as Black Hat DEF CON Troopers and Infiltrate He is the author of Serious Cryptography No Starch Press 2017
aCknowledgments This book would not have been possible without the exceptional work of the No Starch Press team Thanks to my publisher Bill Pollock thanks to my editors Riley Hoffman Jan Cash Annie Choi Anne Marie Walker and Laurel Chun for their incredible help throughout the process thanks to my technical editor Ari Lacenski for her help in this edition and back when it was just a stack of printouts I showed her at Shotwell’s thanks to JP Aumasson for lending his expertise in the public key chapters and thanks to Josh Ellingson for a great cover
introduCtion I couldn’t help but overhear probably because I was eavesdropping Anonymous If you could travel back to the early 1990s with this book the contents of Chapter 23 that implement part of the RSA cipher would be illegal to export out of the United States Because messages encrypted with RSA are impossible to hack the export of encryption software like RSA was deemed a matter of national security and required State Department approval In fact strong cryptography was regulated at the same level as tanks missiles and flamethrowers In 1990 Daniel J Bernstein a student at the University of California Berkeley wanted to publish an academic paper that featured source code of his Snuffle encryption system The US government informed him that he would need to become a licensed arms dealer before he could post his source code on the internet The government also told him that it would deny him an export license if he applied for one because his technology was too secure