Yesterday, I gave an introductory lecture to high school juniors and seniors in Ms. Reiner‘s AP Computer Science at the Boston Latin School. Ginger (Reiner) is an old friend who became a high school teacher after a fast-paced software engineering career: the world needs more people like her. It was a fantastic experience, in large part because the students were quite impressive! I had an aggressive plan: to teach them enough math to understand the magic of the Diffie-Helman Key Exchange. This is the kind of material that’s presented in introductory computer science at MIT. Not only did most of the students get it, but they had fantastic questions and points:
- One student asked “How do Alice and Bob agree on the generator g?” It turns out that, in a number of cryptographic protocols (though not DH), this kind of agreement is particularly difficult and the topic of many theoretical discussions!
- One student rediscovered Fermat’s Little Theorem: she chose p-1 as her Diffie-Helman secret, and wondered why the result of gx was 1.
- One student effectively asked about a man-in-the-middle attack on the DH Protocol (without using those exact words.) Amazing! DH is in fact vulnerable to man-in-the-middle, of course: I didn’t expect to have to cover that issue in an introductory lecture!
I also spent a bit of time on privacy, pointing out that, what teenagers do online today will likely haunt them forever, whereas whatever I did when I was 15 is basically for me and a handful of friends to vaguely remember. I hope that point came across, because this is the first generation that will have to live with their Facebook profiles for the rest of their lives (see my previous comments on Facebook privacy.)
The slides of my talk, entitled “Secrets”, are available here.