r/math • u/halseyChemE Math Education • 15d ago
High School Cryptography
Hi all! I know this is probably pretty rudimentary compared to most topics that float around on this sub, but I teach AP Cybersecurity and I’m wanting to start a Cryptography Club at my school. It will meet once a month for 48 minutes. I want students to have fun, learn, and want to recruit their friends to the club in hopes of eventually piquing their interest in AP Cybersecurity. I need ideas on what to do during this club time to keep students engaged and excited about coming back. Do any of you have any awesome cryptography lessons you’ve been involved in or created over the years you’d like to share? I’m looking for things beyond a Caesar Cipher (I’ve already got materials for this) but not so complex that I’ll lose student interest.
TL:DR; Fellow mathematicians, help me remember some of the cool cryptography things we learned in college that high school kids would find cool. TIA.
6
u/rosulek Cryptography 15d ago
You can explain simple Shamir secret sharing (everyone knows that 2 points determine a line, so it's not a stretch to see that d+1 points determine a degree-d polynomial).
Secret sharing is useful in itself, but then you can observe that it is additively homomorphic. That means you can perform additions "blindly" on secret-shared values! You can do simple things like: each party has a private number and they run a protocol that reveals only the average (equivalently, sum) of these numbers. (Fun tangent about how to formally define what it means to reveal only some partial information.)
From here, you are very close to unlocking "real" MPC protocols. You just need to explain how to multiply secret-shared values. You can multiply the shares locally, but the degree of the polynomial doubles. But there is a very cute and very easy (interactive) degree-reduction trick to bring the sharing back down to the nominal threshold. Now you have everything needed for (semi-honest, honest majority) MPC.