DUE Wednesday, September 16th, 2026

Reminder: Test 1 (Module 1) is in class on Wednesday, September 16th.

Relevant Textbook Sections:

2.12 (ElGamal Encryption), and everything in Module 1 for review.

To Do:

  1. Review for Test 1! Click the Tests tab for the syllabus and review problems. The Practice Problems page now generates (with solutions) modular exponentiation, towers of exponents, baby-step giant-step, index calculus and Diffie-Hellman problems. There is nothing to hand in on canvas for this post.
  2. Optional: El Gamal Encryption Chain! We will use the same prime and generator as we did for Diffie-Hellman (p=1015+37p = 10^{15}+37, g=2g = 2). This is set up on the Diffie-Hellman Tools page. Do the following:
    1. If you have not already made a public key for Diffie-Hellman Key Exchange, then set up a Diffie-Hellman private and public key for yourself. Publish the public key on the #public-keys channel on discord. Note your public and private key down for safekeeping. If you’ve lost your private key, delete your old key and do this again.
    2. Choose an at most 6 letter word as a message. It should be a polite, recognizable english word, so the decrypter will be able to tell they’ve done this correctly. It should answer, in some fashion, the question “Best food?” Turn it into an integer using the Text to Integer tool. Make notes on paper.
    3. Find the Diffie-Hellman public key immediately before yours in the #public-keys channel (if this doesn’t exist, use the most recent public key), and use that public key to encrypt your word to that person. Keep notes on paper of the key steps.
    4. Post your ciphertext publicly for that person on the #ciphertexts channel. Use @username. It should consist of two numbers, which we called (K,c)(K, c).
    5. When you receive a message from someone on the channel, decrypt it. Hopefully it is an english word. If it is, yay! Respond on the channel to that person to tell them the decryption you got. Keep notes on paper of the key steps.
    6. Challenges for fun:
      1. Break someone else’s message! Use any algorithm. Let me know if you succeed on discord!
      2. Get your friend to send two messages to the same person using the same ephemeral key. Break this!

Added Sept 23: solutions to this daily post (the optional El Gamal encryption chain worked end to end, plus the two challenges: breaking a key by Pohlig-Hellman and baby-step giant-step, and the repeated ephemeral key) are now posted: Solutions to Daily Due Sep 16.