key pairs for by-hand encryption
CS Unplugged has a lesson that uses simple graphs to enable by-hand encryption and decryption of integers with public and private keys. The activity includes a couple of key pairs, and I found that giving everyone the same keys led to confusion about what public and private keys really mean and how to use them. I wrote a script to generate random handouts of arbitrary complexity so I can give a distinct handout to each student, and scale the difficulty based on the group’s experience.
I generated three sets of 30 handouts in three levels of difficulty, and you can generate your own with the code on GitHub. Examples embedded below.