Due Monday November 9th

Due Mon:

  • To Know:  We’ll soon finish elliptic curves, isogenies and lattices, so I’ll be putting together an assessment soon.  Next up:  quantum key exchange, quantum computers and quantum cryptanalysis.
  • To Know:  Here are solutions to the last daily post.
  • To Do:  A Ring-LWE ciphertext chain!  You may want to review the course video on canvas and the class notes under “History“.  Here’s what you’ll need:
      • Our general setup with be the prime p = 100000000003 and n=8.  We will use k=100.  (This will allow us enough room for a 3-letter word in ASCII as the message m.)
      • 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 {0,1,-1}.
      • First, generate your own private/public key pair and post the public key (a,b) on the discord #ciphertexts channel.  Keep your secret key for later (e.g. in a text file).  Important note:  to make it easier on everyone, surround your polynomials with backticks ` when pasting into discord, and it will post it verbatim, i.e. not interpret the asterisks as emphasis etc.  This will make cutting-and-pasting into Sage easier.
      • Next, choose your favourite three-letter word and put it into ASCII (Here’s the tool).  This is your message. Now, encrypt your message to the most recent unused public key on the #ciphertexts channel.  Post your message (v,w) 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 (here’s the ascii to letters tool), and announce their favourite 3-letter word on #ciphertexts, mentioning them so they can confirm.
      • Post your record of the events/computations to the canvas dropbox.