For Fri:
- Don’t forget FCQs are open! I really appreciate your feedback and read them very carefully.
- There were a lot of administrative announcements in yesterday’s daily, you might want to review them.
- Compare your last daily to the solutions.
- I have intentionally NEVER done this all semester, but I had ten more minutes of riveting information to share about lattice-based cryptography, so I made a bonus 10-minute video. (I’ve allowed myself this luxury because I really don’t want to delay coding theory.) Watch it here. The lecture notes include this material.
- A Ring-LWE ciphertext chain! You may want to review the course video on canvas and I’ve made careful overleaf notes. Here’s what you’ll need:
-
- Our general setup with be the prime p = 100003 and n=8. We will use l=10. This will allow us enough room for each coefficient to hold one letter from the text-to-integer-to-text tools. Because there are 8 coefficients, you can store 8 letters.
- Answer the question “what’s the best part of crypto?” in 8 letters or less, and store it as an element of the ring $R_p$ using one letter per coefficient (coefficient of $x^7$ is the first letter, coefficient of $x^6$ is the second letter, etc.). This will be your message.
- At the Ring-LWE Tools page you’ll see how to initialize the polynomial ring, and you’ll have two functions that generate short and random elements. In our case, “short” means coefficients from {-1,0,1}.
- First, generate your own private/public key pair and post the public key (g,B) on the discord #ciphertexts channel. Keep your secret key for later (e.g. in a text file). Important note: discord normally interprets asterisks and stuff in special ways; to make it easier on everyone, surround your polynomials with backticks ` when pasting into discord, and it will post it verbatim. This will make cutting-and-pasting to/from Sage easier.
- Now, encrypt your message to the most recent unused public key on the #ciphertexts channel. Post your message (K,C) on the #ciphertexts channel and mention the appropriate person.
- Wait until someone sends you a message. When this happens, decrypt it using your secret key, and announce their favourite part of crypto on #ciphertexts, mentioning them so they can confirm.
- Post your record of the events/computations to the canvas dropbox.
-