This looks fun, cryptopals.
This is a site with a set of crypto challenges designed to educate and test skills in cryptography. These challenges do not require any advanced mathematical skills, 9th grader's level of math should be sufficient, and no prior cryptography knowledge is needed. You will only need to be able to code in any programming language.
The challenges are described as progressively getting harder and are based on real-world vulnerabilities. At the moment there are eight sets of problems.
Set 1: Basics
Set 2: Block crypto
Set 3: Block & stream crypto
Set 4: Stream crypto and randomness
Set 5: Diffie-Hellman and friends
Set 6: RSA and DSA
Set 7: Hashes
Set 8: Abstract Algebra
Let's give it a go and see how many challenges we can complete.