A Method for Obtaining Digital Signatures and Public-Key Cryptosystems [1978] [pdf]
people.csail.mit.edu