A set of various programming tasks waiting for you. Encryption of input files forces you so solve them sequentially.

Is there a way to store private information publicly on GitHub? The data we upload must be perfectly retrievable but only for the key holder.

Advanced Encryption Standard

The answer might lie with Advanced Encryption Standard (AES) which provides a symmetric encryption for any binary stream. As a demonstration I devised a game that utilizes encryption.

Programming challenge

Here are a series of tasks. They are heavily inspired by some old IPSC problems so if you enjoy this game, you will surely like IPSC as well.

Each input is encrypted with encrypt.sh as

openssl-1.0 aes-256-cbc -in <inFname> -out <outFname> -k <encKey> -base64 -md md5

To decrypt a file just add a -d flag to the end of the command. You can also use JavaScript decryptor below.

By solving a task you get a key to decrypt the official solution and the input of the next task. You can check if your solution is correct by calculating and comparing the first 5 characters of the key’s SHA256 hash.

The first task is encrypted with a two character key (its hash starts with 73475). Find it and you can start! And remember, don’t panic.

Task Input Solution Hash
01_run_me.py download decrypt decrypt 2A700
02_clocks.txt download decrypt decrypt F4A97
03_play_me.wav download decrypt decrypt F577B
04_chess.txt download decrypt decrypt AA76D
05_image.png download decrypt decrypt 6AEB6

Hall of fame

Task Username Signature
00 dcrystalj 81B26737244D1AA1A254A447F498DE65DCF76486F456C5AAEBE2798AEB838BBF
00 daiwai 47CF7E1DB51207914959909DF21FBC486CA601CFEBE4F4BE36804A5C280BFD50
00 damir00 253DE19E5B77DD4E503C6D6BBE2406BFBACE3932E855C661A9D2F5F7532E89F7
01 daiwai 6792BB97C2E387DDE29787BA563CFF44A79516C5446C2D7A09E476E687FC67E6
01 damir00 B165B1F36527A8D39DB48BB0838B77B886ECC7A309E191F37E39EA8A68FB6F86
02 daiwai C77A592244A3A79CBFC9BAA7A155F2C46050CCC6F72DEB1C18E5555E9E0F9D18
02 damir00 725F2B07995A2DB322DE6AF63E18E389F65B43A6A39490872527089947700304
03 damir00 ECAA6DDD53DD97E991823F042DA704159C6AB1082F588D465F09533D52346FB2
04 damir00 57F6C8B2CEFC2B5FA2662C615040F026BAD7FE20C8B9A05620095FCA4C57C60F
05 damir00 9FABD9953DE108D4A2E08EB8BA3EAABFA8585936E1ECAEA528EC8B4BA200AC1F

If you are amongst the first three people to solve a task you can get your name in the hall of fame above. Simply open a pull request for this file and add your GitHub username and signature to the above table. Click here to fork and edit this page online.

The signature for each task is the SHA256 hash of <username>-<task_num>-<key>. For example if the solution to task 05 is makarena then my signature would be the hash of MKolman-05-makarena.