Misc
SOFIs (aka Student Opinion of Faculty Instruction surveys) are under way.
You should have gotten an email about filling them out through Knightweb.
1 has already been done (thank you!) Please do more -- your feedback can make a difference in how I teach this or other courses in the future.
Questions?
Modern (aka Public Key) Cryptography
The general cryptography scenario:

The key exchange problem: traditionally, Alice and Bob have to agree what key they’ll use, so all Eve needs to do is eavesdrop on that conversation.
1976 (Diffie and Hellman): what if you have 2 keys, one for encrypting and the other for decrypting, and furthermore, knowing the encryption key doesn’t help you figure out how to decrypt. Then you can have “public key” cryptography.
1978 (Rivest, Shamir, Adelman): A practical public key cryptosystem (RSA).
(ca 1970: GCHQ, descendant of Bletchley Park, discovers all that Diffie, Hellman, Rivest, Shamir, and Adelman later get credit for, but classifies it and no-one knows.)
1980s - 1990s: US security agencies upset at public disclosure of seemingly unbreakable cryptosystems, but more or less behind the curve of international scholarly publishing and the growing Internet. By early 2000s secure cryptography is so important to Internet security (and so widely understood) that objections are moot.
RSA
Represent plaintexts and ciphertexts as numbers (computers do this anyhow).
Keys are defined by 3 related numbers, N, e, and d.
To encrypt plaintext m, compute me, then divide by N and take the remainder (formally, me mod N). So a public encryption key is the pair e and N.
To decrypt ciphertext c, compute cd mod N. The private decryption key corresponding to public key e and N is d and N.
Practice creating public and private key pairs for yourselves.
- The calculator at https://www.cs.drexel.edu/~introcs/Fa11/notes/10.1_Cryptography/RSAWorksheetv4d.html will do most of the math for you.
- You can use the encrypter/decrypter at https://www.cs.drexel.edu/~introcs/Fa11/notes/10.1_Cryptography/RSA_Express_EncryptDecrypt.html to encrypt messages for others and decrypt your own.
- There’s a nice table of prime numbers at http://compoasso.free.fr/primelistweb/page/prime/liste_online_en.php
Use this Google doc as a public shared “communication channel”
Next
Attacking RSA.
Public key cryptography and digital signatures.