From 61c6456d718bb9176a4619d6cce20bb9bfcc9f01 Mon Sep 17 00:00:00 2001 From: rathull Date: Sun, 27 Oct 2024 18:15:34 -0700 Subject: [PATCH] added f24 crypto 4 - math and dhke --- src/SUMMARY.md | 1 + src/fall-24/crypto/crypto-4.md | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/fall-24/crypto/crypto-4.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 4aadd90..32dbfe5 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -16,6 +16,7 @@ - [1: Intro to cryptography](fall-24/crypto/crypto-1.md) - [2: Block Ciphers](fall-24/crypto/crypto-2.md) - [3: Stream & Block Ciphers](fall-24/crypto/crypto-3.md) + - [4: Modular Arithmetic, DHKE](fall-24/crypto/crypto-4.md) - [Rev/Pwn](fall-24/rev/rev-1.md) - [1: Intro to Reverse Engineering](fall-24/rev/rev-1.md) - [2: Assembly](fall-24/rev/rev-2.md) diff --git a/src/fall-24/crypto/crypto-4.md b/src/fall-24/crypto/crypto-4.md new file mode 100644 index 0000000..cdd8bc1 --- /dev/null +++ b/src/fall-24/crypto/crypto-4.md @@ -0,0 +1,21 @@ +# Crypto 4: Math for Crypto, DHKE +by Rathul Anand + +Modular arihmetic is an important language underlying modern cryptosystems. Many cryptographic alogirhtms rely on this arithmetic, where numbers "wrap around" after reaching a certain modulus. For example, the Diffie-Hellman Key Exchange (DHKE), which we cover in these slides, leverages modular exponentiation to enable tow parties to share a secret over an insecure channel. By applying modular arithmetic, both parties can compute the same shared secret without revealing or sharing their private keys. This principle forms the basis for secure communication in many asymmetric encryption schemes. + +## Slides + + +## Challenges +The following challenges in increasing difficulty are deployed to [platform.acmcyber.com](https://platform.acmcyber.com) to practice the concepts covered in the slides. +- Challenge 1 - `crypto/chinese-lazy-theorem-1` +- Challenge 2 - `crypto/modular-practice` +- Challenge 3 - `crypto/lunchly-exchange` +- Challenge 4 - `crypto/chinese-lazy-theorem-2` +- Challenge 5 - `crypto/golden-ticket` +- Challenge 6 - `crypto/lazy-lagrange` + +## Resources +The follow resources are great to practice/learn about the ciphers covered in the slides. +- [pycryptodome](https://pypi.org/project/pycryptodome/): A library that implements many modern-day cryptographic algorithms. +- [alperton](https://www.alpertron.com.ar/DILOG.HTM): Has a discrete logarithm solver that works fast for small `n`. \ No newline at end of file