Due Wednesday September 2nd

Due Wednesday:

  • To know:  I made a Vigenere Cipher video.  Watching is optional.  This is meant to explain the cryptanalysis.  I felt something was lost in translation during class, so I made an attempt to tease it apart in further detail so you can make sense of it.  If you don’t feel really confident about the keylength explanation (i.e. why it works), then go to 3:36 in the video
  • To know:  daily posts won’t be accepted late.  Don’t worry, I drop a bunch because life happens to everyone, so it’s ok to miss a few.
  • Your first daily task today is to be done without any aids or research.  Get a blank sheet of paper and, without looking anything up or looking at anything, write down the biggest finite positive integer you can.  It must be well-defined.  That is, it must be possible, in theory, to compute (with arbitrarily much computation power and memory) the integer.  And if you are going to give a famous named number, you must give its definition (no “I remember some big number called X”; you need to define it).  The winners — the biggest numbers, if I can determine them — will get some points toward prizes of dubious value at the end of semester; no grades involved.  Hand this in on canvas.
  • For the rest of today I have some exercises for you (not to be handed in; but I can provide solutions upon request).  Whenever I assign exercises, do as many as an hour affords for the dailypost, and do the rest as part of your studying for the course, when time permits.
  • (Exercise 1) Suppose you have a known plaintext situation for affine cipher.  The plaintext is HAHAHA and the ciphertext is NONONO.  Determine the key.  Hint:  write down some equations modulo 26 that must be true and try to solve for the key.  Use the Crypto Tools Sheet (addition and multiplication tables mod 26) in solving.
  • (Exercise 2) Suppose you have a known plaintext situation for affine cipher.  The plaintext is III (that’s 888, in case there’s any confusion) and the ciphertext is QQQ.  Explain why this is not enough information to determine the key.
  • (Exercise 3) Suppose you have a known plaintext situation for affine cipher.  The plaintext is BO and the ciphertext is OB.  Explain why this is not enough information to determine the key.
  • (Exercise 4) I decide to make affine cipher more secure by encrypting first with one key, and then encrypting again using another key.  Is there any reason this is more secure?  Why or why not?

Due Monday August 31st

Due Monday:

  • A note about daily posts!  Sometimes the tasks may take more than hour, or be frustrating.  In these circumstances, you should feel you have done your due diligence after one hour and hand in what you have (maybe skip over the frustrating task at first).  Then you can come back to them later sometime.
  • Exercise:  What one-time pad key is needed to make the ciphertext ABC decode to WHY?  What one-time pad key is needed to make it decode to NOT?
  • Watch this 3 minute video description of the Affine Cipher (titled “Daily Due Monday August 31st: Quick Initial Description of the Affine Cipher” on canvas Media Gallery).
  • Do the associated worksheet in advance of next class.  We’ll take the worksheet up at the beginning of next class.
  • Using only by hand computations and the “Cryptanalysis Tools” (menu at left), which automates certain computations, decrypt the first few words of the following Vigenere cipher: text file of ciphertext.  (Funny, my browser thinks it is Hungarian!)  Keep a record of your work (i.e.. paste the results and annotate your steps in a text file).
  • Note on the above:  you shouldn’t need to do anything too much by hand; the tools above will be all you need to find the key (just cut-n-paste strings as needed).  For the final decryption, you’ll have to do that by hand, but just do a few words to prove it is english to prove the key is correct!
  • For the completion check, upload your record of your vigenere decryption, and your exercise and  worksheet answers (you can type the exercise and worksheet answers, which are just text, in at the end of the vigenere decryption file so it’s just one file).

Due Friday August 28th

For Friday, August 28th:

  • Be aware that there’s a Cryptography Tools sheet available under Resources above.  It has a Vigenere square, among other things, to make adding mod 26 easy.
  • Come up with a short (a few words) answer to the question “What’s the coolest math?”  This is your plaintext.
  • Choose a 4-7 character word to use as a key.  Make it less than half the length of your plaintext.
  • Encrypt the plaintext with Vigenere cipher (by hand, using the cryptography tools sheet if you like).
  • Post your answer on the discord channel #ciphertexts in category STUDY GROUPS, along with the key.
  • Choose another user’s post from #ciphertexts, and decrypt it (by hand).  Post the answer in the form “So-and-so thinks the coolest math is….”
  • If by some chance you missed the daily post from yesterday, please catch up on it now.  Modular arithmetic is a bedrock concept for the rest of the course – absolutely crucial.
  • I really do strongly encourage you to find partners to work with on discord.  You can watch the video below with someone so you can bounce ideas around.  Hop onto the text channel #study-room and just say “Hey all, I’m doing my daily post now.”  Chances are someone else might be around. Or just ask on there or on the #ask-the-hive channel when you have questions. 🙂
  • Also, just be aware we are currently covering material that is in Chapter 2 of the text; you can use this as an added resource.  Chapter 3 contains some brief explanation of modular arithmetic.
  • Watch my video Modular Arithmetic:  Under the Hood (17:26).  This gives an explanation for why everything works as described in the first video, so it should help demystify it a little.  And, it offers a glimpse of what type of mathematical proof I hope you can write, coming into the course.
  • Therefore, your task is this:  study the proofs from the video to understand them, then turn off the screen and attempt to write the theorem statement and proof yourself, in your own words.  Turn on and compare, repeat, adjust, repeat.  This is not to hand in, but it’s an opportunity to get more comfortable with something we will rely on during the class.  Make sure none of the logical steps are mysterious — every one has a justification and a usefulness. Note: I could ask you to write these or similar proofs in an assessment.
  • Your final task is to write me a brief note in today’s canvas dropbox about your comfort level with the proofs from the video.

Due Wednesday August 26th

To do for Wednesday:

  • Thank you for your patience exploring discord on Monday!  Wednesday will be more traditional. 🙂
  • If you have not already, then view the welcome video for the course, and the discord intro video (both available on the main landing page in canvas), and get set up on discord.
  • Read through Classroom Expectations in detail.  Make sure you are set up technologically and contact me with any concerns.  In particular, I’m hoping everyone will find discord useful.  But I am very willing to help with your individual needs.
  • Make sure you have the textbook (Wade Trappe, Lawrence C. Washington, Introduction to Cryptography with Coding Theory, 2nd or 3rd edition).  While you procure it, the 2nd chapter is available on canvas.  I hope other chapters will be available from the library in electronic form, but this isn’t for sure yet.
  • Note: the next activity is to watch a video and do an accompanying worksheet.  I strongly suggest working on this in groups, and collaborating on daily tasks with classmates in general.  To that end, I’ve set two designated times to meet on discord (check out the STUDY GROUPS category) to do the video with peers:
      • Monday August 24th at 9 pm
      • Tuesday August 25th at 6 pm
  • The main activity for this daily post is to watch my video “Modular Arithmetic: User’s Manual” (9:22 mins:secs) and do the accompanying self-check worksheet.  Please show your work on the last problem.  Then upload a picture of the worksheet to the appropriate canvas dropbox to be checked for completeness.  (Note: you don’t need to print; you can work on a separate sheet of paper if desired.)

Welcome to Coding and Cryptography!

Welcome to Coding and Cryptography!

I’m really looking forward to this course with you!

To prepare for the course, please do the following:

  • Please log in to canvas and watch the welcome video.  In canvas you will also find the zoom link for our first meeting.
  • In the menu items above, you will find the course syllabus content, so please visit each of those pages for further information about the course.