A month and a half ago, we announced Cemetech Contest #15: Crypto Golfing. In a departure from previous Cemetech contests, where each contestant or team creates one large program over the course of the contest, this one challenged entrants to solve five challenges. Each puzzle started with an encoded image or string of text, which contestants needed to crack. Once they solved the cipher, they needed to write a program to decode any other message encoded in that particular cipher. Entries were required to function correctly, but were graded solely on the size of the entry, with the smaller the better. Over the course of five weeks, our members attacked those puzzles with gusto:
Entries were submitted in 9 unique programming languages: TI-BASIC, Hybrid BASIC, z80 Assembly, Axe, C, C++, Java, Haskell, and Python.
16 unique members submitted in a total of 30 user-language combinations; those members were: Andressevilla, c4ooo, DWMelon, elfprince13, Hooloovoo, Iambian, jacobly, Juju, Lirtosiast, MateoConLechuga, pimathbraniac, PT_, Snektron, Spenceboy98, Tari, and Xeda112358.
56 total entries were received over the 5 puzzles. Many contestants dropped out after the first or second puzzle, with 4 contestants submitting 5 entries for Challenge #5.
Because you're no doubt raring to hear who won, let's start in traditional Cemetech fashion from the honorable mentions and work our way up to the first place winner. Without a doubt, the most noteworthy contestant who did not place was Xeda112358. Well-known for her assembly prowess, she submitted impressive TI-BASIC, ASM, and/or Python entries for three of the five challenges, earning her a score 58% of the first-place winner's score, and thus indicating that had she solved the missing two challenges, she would have had a good shot at winning the contest. We salute her work and hope to see her in the next Cemetech contest. Now, the winners, all of whom solved all five challenges:
Third place goes to lirtosiast, with extremely optimized TI-BASIC implementations of the five ciphers. The TI-BASIC race was extremely close: lirtosiast's final score was 78.31, just 0.51 points lower than the second-place winner. Congratulations for such an impressive showing, lirtosiast!
Second place is awarded to PT_, who also created TI-BASIC entries. His final score was 78.82, with entries very close in size to lirtosiast's. Congratulations, PT_!
First place was earned by Hooloovoo, one of relatively few members who submitted z80 Assembly entries. Each of his entries was well-written, fast, small, and of course correct, and he even included an Easter Egg or two that gave the judges a chuckle. The decisive winner with 89.71 points, we applaud his persistence in solving each challenge and optimizing his solutions.
As mentioned in the original news article, the first place winner will have a choice of a TI-84 Plus C Silver Edition or a TI-Nspire CX, with the remaining calculator going to the second-place winner. Although we didn't announce any prizes for the third place winner, we have a signed copy of The Zombie Autopsies by Zombie Apocalypse consultant Dr. Steve Schlozman.
We would be remiss if we didn't reveal the solutions to each of the challenges:
Challenge #1: The clue was GSVHVXIVGNVHHZTVRHLOWDRAZIW, which was written in the alphabetic substitution cipher Atbash. The decoded clue is THESECRETMESSAGEISOLDWIZARD.
Challenge #2: The clue was VPUOUGHUVYUOOSIUWOPSTTEPMRWNSEOBHMYGUYUVUGP, encoded in the Affine Cipher with a=8 and b=15. The solution was THESECRETMESSAGEISHAPPYHOLIDAYSFROMCEMETECH.
Challenge #3: The clue was OEEJCYKL WK AU LTMY L WXOJWN, encoded in the Vigenere cipher with key CALCULATORS. The solution was METHINKS IT IS LIKE A WEASEL.
Challenge #4: The clue was a steganographic image of an Enigma machine from World War II. Each row in the monochrome 63 pixel by 95 pixel image represents one character. To find each character, you add up the pixels that are black in each row: column 0 has a value of 0, column 1 is worth 1, column 2 is 2, and so on. You then take the final sum modulo 27 (26 uppercase letters and space), and the resulting number maps to a character from A-Z or space. This turned out to be one the puzzle with which our contestants struggled the most. The decoded message was STEGANOGRAPHY IS THE PRACTICE OF CONCEALING A MESSAGE IN A FILE.
Challenge #5: The clue was a string of the digits 1 through 4 (and can be seen in the linked news post for Challenge #5). Each digit represented a cardinal direction to move a pen around the screen, like twisting the knobs of an Etch-a-Sketch. The solution was the following:
Congratulations once again to our winners, and a hearty thanks to all of the contestants who entered. I need to single out jonbush, without whom this contest would have been impossible. His work in coming up with the contest topic, creating almost all of the individual challenges, and his tireless efforts grading all of our entries made this one of the best Cemetech contests to date, and I hope we'll have his expert involvement in our future contests.
Good luck to everyone in Cemetech Contest #16, hopefully to be announced in a month or two!