Milestone map
3 milestones
Implement AES and RSA From First Principles
10–18 weeks (includes mathematical prerequisites)
Study the mathematical foundations of symmetric encryption (AES, block cipher modes) and public-key cryptography (RSA). Implement AES encryption and decryption without using a cryptographic library for the core algorithm — including the key schedule, SubBytes, ShiftRows, MixColumns, and AddRoundKey steps. Separately, implement RSA from first principles: key generation from two primes, modular exponentiation, encryption, and decryption.
Proof required
Submit: a public GitHub repository containing your AES implementation (with test vectors from NIST FIPS 197) and your RSA implementation (key generation, encrypt, decrypt — with a test demonstrating round-trip correctness); and a written explanation (300 words) of why AES is considered secure and what 'semantic security' means in practical terms. A cryptographer, security researcher, or CS lecturer with cryptography experience must review the implementations and confirm they are correct.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Analyse a Real TLS 1.3 Handshake and Implement HMAC
8–12 weeks (after milestone 1)
Study digital signatures (RSA-PSS, ECDSA), certificate chains, and how TLS 1.3 uses these primitives together. Implement HMAC-SHA256 without using a MAC library. Capture a real TLS 1.3 handshake in Wireshark and annotate it, identifying each message, what cryptographic operation it performs, and which key material it uses.
Proof required
Submit: a public GitHub repository containing your HMAC-SHA256 implementation with test vectors from RFC 2104; a Wireshark capture of a TLS 1.3 handshake with an annotated walkthrough (at least 400 words) identifying each message and the cryptographic operation it performs; and a brief analysis (200 words) of what properties ECDSA provides that plain RSA signing does not. A cryptographer, security practitioner, or CS lecturer must confirm the walkthrough is accurate.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Demonstrate and Present a Cryptographic Attack
6–10 weeks (after milestone 2)
Study a real cryptographic attack in depth — one of: padding oracle attack, BEAST, CRIME, timing side-channel on RSA, or chosen-ciphertext attack on an unauthenticated cipher. Implement a proof-of-concept of the attack on a controlled environment you own. Write a technical report (600 words) explaining the attack, why it works, and the correct defence.
Proof required
Submit: a technical report (at least 600 words) explaining the attack, its mathematical basis, and the correct defence; a public GitHub repository with a proof-of-concept on a controlled environment you own; and a recording or transcript of a presentation to a cryptographer or security practitioner who asked at least two challenging questions about the attack mechanics.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.