CTF-Crypto Recommendation

Several CTF-Crypto challenges that I recommend to learn cryptography by game.


Hack The Box: Crypto

Mathematics perspective: 🌟🌟🌟
Computer Science perspective: 🌟🌟🌟🌟
Recommendation: 🌟🌟🌟

For convinience, I always choose HTB categorized challenges as the starting point of a specific topic of CTF. The hardness of problems are various, so I can try them in a certain order. They also update the challenges sometimes, which is great becase we'll have new problem to solve. The challenges are in traditional CTF manner, so it's also helpful for thoes who are just interested in exactly catch the flag. Tools are heavily dependent (at least I think so).

Although - probably it's just me - in implementation perspective, it still have some more challenges can add.

The Cryptopals Crypto Challenges

Mathematics perspective: 🌟🌟🌟
Computer Science perspective: 🌟🌟🌟🌟🌟
Recommendation: 🌟🌟🌟🌟

I pretty like this one. The challenges are not only about finding the decryption algorithm and "catch the flag", but also about practicing implementation of several important cryptosystems. I think this one helps us better understand how a cryptographic scheme is implemented. Definitely recommend. I'm currently doing a walkthrough of these problem sets. Probably I'll post the answer to some of them if I got time. (It turns out I really don't have time. Maybe after I can find a PhD offer then I'll go back and finish this.)

Krypton

Mathematics perspective: 🌟🌟🌟
Computer Science perspective: 🌟🌟🌟
Recommendation: 🌟🌟🌟

This one is a quick walkthrough of current popular cryptosystems. I'll recommend this one to someone who want to quickly review the knowledge of practical cryptography.

MysteryTwister

Mathematics perspective: 🌟🌟🌟🌟🌟
Computer Science perspective: 🌟🌟🌟🌟
Recommendation: 🌟🌟🌟🌟

This one is a classic. Just keep trying and keep solving. Also, in Level III and Level X, there might be some really challenging problems that inspire our cryptography research.

UPDATE: I am actually about to abandon this one. It is great, with no doubt. But it lacks of design of levels and reward mechanism comparing to CRYPTOHACK below.

CRYPTOHACK

Mathematics perspective: 🌟🌟🌟🌟🌟
Computer Science perspective: 🌟🌟🌟🌟🌟
Recommendation: 🌟🌟🌟🌟🌟

I haven't got time to look at this one. But it looks quite neat. I'll find some time to investigate it.

UPDATE: I've tried this one! Probably my fav Crypto challenge so far without "one of". Super like it! The only drawback if I have to pick one is the CTF Archive. Maybe adding difficulty can be a further feature? Just my personal suggestion.

LATTICE CHALLENGE

Mathematics perspective: 🌟🌟🌟🌟🌟
Computer Science perspective: 🌟🌟🌟🌟
Recommendation: 🌟🌟🌟🌟🌟

The series of challenges (also including SVP challenge, Ideal-lattice challenge, and LWE challenge) are made by TU DARMSTADT. It focused on hard lattice problem related to lattice-based cryptography. These are all good practice for understanding lattice-based cryptography.

Useful algorithms:
- LLL, BKZ, BKZ Variants
- Sieving
- Enumeration
- Voronoi Cell Computation

Useful repositories:
- fpLLL

Other Competitions/Challenges

Maths: Project Euler
You can also do Project Euler on Hackerrank, I found myself more comfortable doing it there.

Programming: Codeforces CodeChef

As I introduced in "About" page, I have no experience with OI/IOI/ACM type competition, but my work on designing suitable algorithms/arithmetics for hardware acceleration relies heavily on those knowledge. So, I guess playing programming competition would be also an interesting to do in the future.

Helpful Resources

OI Wiki (EN) / OI Wiki (CN)