This asynchronous elective module is a glance of classical cryptography.
An oversimplified way of summarizing cryptography in one sentence is that it is all about secure communication. We want to send and receive information from/to trusted parties while ensuring no other (untrusted) parties, potentially with malicious intent, are able to gain access to the information.
As an EM in CS230, we are only going to interact with one specific part of cryptography that happens to build on discrete math tools that we already have. This is therefore not a crash course on the history of cryptography nor even an overview of cryptography.
Concepts used in this EM:
- Modulo arithmetic and congruence in Core Module 3: Math Tools
- Functions in Core Module 4: Sets, Functions, and Relations
To get credit for EME:
- Complete individually the practice quizzes (EME: Practice I (Modular Exponentiation), EME: Practice II (Fermat’s Little Theorem and Multiplicative Inverses), EME: Practice III: Euclidean Algorithm) after reading about the concepts.
- You should get all questions right (there are only a total of 4 of them!)
- As usual, you have unlimited tries.
- These practice quizzes are formally due on LDoC, but actually kept open until 5/1 11:59pm.
- Complete EME: Assignment (individually or in pairs).
- You should submit at least once by LDoC, since this assignment is interactive (see the assignment for what that means). That will leave enough time for you to complete the second part of the assignment after getting the encrypted message from us.
- You can keep submitting until 5/1 11:59pm.