From divisibility and modular arithmetic through primes, quadratic residues, elliptic curves, and computational algorithms — the number theory that powers RSA, DH, and modern cryptosystems.
Every public-key cryptosystem rests on number theory: RSA on modular exponentiation and integer factorization, Diffie-Hellman on discrete logarithms, elliptic-curve schemes on the group law over finite fields. This course builds the mathematical foundation from scratch — divisibility, the extended Euclidean algorithm, Euler's theorem, Legendre symbols, quadratic residues, algebraic structures, and elliptic curves — closing with the computational algorithms that determine how we attack and defend these systems.
Built by Lakshya Kumar
Paste this into any AI chat. Fill in the bracketed parts with your context — you'll get back a straight answer on whether this belongs on your plate.
We grant free access case-by-case — students, career-switchers, builders on a tight budget. Sign in to send us a note.
Sign in to applyComplete all modules, then submit the required number of capstone projects. Each must earn a passing rating from an admin reviewer.
Choose one: implement RSA key generation and encrypt/decrypt from scratch using your number theory library; implement ECDH key exchange over a named curve; or factor a 64-bit semiprime using Pollard's rho. Write a 6–8 page report explaining the mathematical underpinnings, security assumptions, and one known attack.
I'm studying Number Theory with a cryptographic focus: divisibility, GCD, extended Euclidean algorithm, modular arithmetic, Fermat's little theorem, Euler's theorem, primitive roots, quadratic residues, Legendre symbols, elliptic curves over finite fields, analytic number theory (prime counting, PNT), and computational algorithms (Miller-Rabin, Pollard's rho, BSGS). Context: 1. My goal: [e.g. "understand why RSA works", "prepare for a cryptography course", "understand ECC"] 2. My math background: [e.g. "comfortable with modular arithmetic", "last math course was calculus"] 3. A specific thing I'm confused about: [e.g. "why does Euler's theorem imply RSA decryption works?"] Answer: - For (3): give me a concrete proof sketch and a Python snippet that demonstrates the property. - Based on (1): which modules are most critical for my goal? - What's the number-theoretic hardness assumption at the heart of the cryptosystem I care about?
The computational reference. Essential for Modules 9–10.