This web page is meant to provide some insight into the world of public-key cryptography. It begins with the history of cryptography, especially private-key cryptography and analyzes those cryptosystems and explains the shortcomings that inspired public-key cryptography. It then proceeds to explain the principle of public-key cryptography and its implementations, in particular the RSA algorithm. It explains both its purpose and the mathematics behind it. The page then moves on to describe digital signatures and their use in the world. It then analyzes possible attacks on the RSA algorithm. Finally it discusses the political issues surrounding encryption and what they mean to us.

This page was created as part of Eric Robert's Sophomore College class "The Intellectual Excitement of Computer Science" at Stanford University.

If you have any questions you can send us email.

We would especially like to thank Eric Roberts, Timothy Roughgarden, and Jennifer McGrath for their help with this project.

Jed Burgess / notnow@leland.Stanford.EDU
Erin Pattison / erin13@leland.Stanford.EDU
Murat Goksel / mrgoksel@leland.Stanford.EDU