In this unit, we’ll be studying cryptography, techniques for securing information and communication in the presence of an attacker. In particular, we will see how we can prevent adversaries from reading or altering our private data. In a nutshell, cryptography is about communicating securely over insecure communication channels.
The ideas we’ll examine have significant grounding in mathematics, and in general constitute the most systematic and formal set of approaches to security that we’ll cover.
Table of contents
- 5. Introduction to Cryptography
- 6. Symmetric-Key Cryptography
- 7. Cryptographic Hashes
- 8. Message Authentication Codes (MACs)
- 9. Pseudorandom Number Generators
- 10. Diffie-Hellman Key Exchange
- 11. Public-Key Encryption
- 12. Digital Signatures
- 13. Certificates
- 14. Passwords
- 15. Case Studies
- 16. Bitcoin
- 17. Signal