Cryptography, the use of codes and ciphers to achieve information security and privacy, began thousands of years ago. Claude Shannon’s 1948 paper on information theory and his 1949 paper on cryptography laid the foundations of modern cryptography and gave it a strong mathematical basis. Eric Hughes wrote in A Cypherpunk's Manifesto (1993): "Privacy is necessary for an open society in the electronic age. Privacy is not secrecy... Privacy is the power to selectively reveal oneself to the world." Two decades later, in 2013, Edward Snowden leaked documents showing that the NSA, said to be the largest employer of mathematicians in the world, had secretly inserted a backdoor into a widely used pseudorandom number generator (Dual_EC_DRBG) which was part of several cryptographic systems. This confirmed what cypherpunks had long warned: we cannot rely on governments or corporations to protect our privacy. They call this ongoing battle the "Crypto Wars II." That’s why it’s important to understand what cryptography can do. In this talk, we will look at some mathematical ideas and how they support modern cryptographic primitives and protocols, showing how mathematicians can help build secure and private digital systems.