Skip to main content
The National Cipher Challenge

Reply To: Programming

A Tale of 2 Secrets Forums T.E.M.P.E.S.T. Programming Reply To: Programming

#113776
upsidedown
Participant

Learning to code can be daunting but is also incredibly rewarding and fun! You don’t necessarily need to be able to code to complete the later challenges (if I recall correctly there was an account a few years ago of somebody who solved the final cipher with pen and paper), but it is extremely helpful.

For the basics of Python (what it is, how to install it, how to run a program) see this page on the python.org website which caters to people who have never programmed before.

I’d recommend taking a look at this topic (Programming) on this forum, where there are some relatively beginner-friendly programming problems you can have a go at (thanks to @ByteInBits). You can take a look at others’ solutions as well.

Lots of people point to madness’ book (see the BOSS library) and I’ll do the same here. It assumes very little prior knowledge of the Python programming language, which is used throughout the book and, in my view, is a great resource for learning to program and for the cipher challenge in general. Don’t be put off by the large number of pages in madness’ book: the first two parts are most important, and then in part II you write programs for caesar and keyword substitution ciphers.

I actually first learnt to program through the cipher challenge! I found that once I had a basic understanding of the Python language, writing little programs to decrypt caesar ciphers and count the frequency of each letter in a string (frequency analysis), and then increasingly more complex cipher-adjacent programs, greatly improved my skill and understanding of programming.

Report a problem