Author Topic: Cemetech Contest #15: Crypto Golfing  (Read 16927 times)

0 Members and 1 Guest are viewing this topic.

Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Cemetech Contest #15: Crypto Golfing
« on: December 15, 2015, 07:07:09 pm »
Last month, we resurrected Cemetech programming contests with Cemetech Contest #14: TI-BASIC Connect 4 AI Challenge. In that short contest, designed by Cemetech members jonbush and earthnite, entrants were tasked with writing an AI to play Connect 4 in pure TI-BASIC. We congratulate JWinslow23 for winning that contest, and are happy to announce a longer, more elaborate contest. Cemetech Contest #15 is entitled Crypto Golfing, and is a multi-part contest. Starting today, and continuing every Tuesday until January 12th, we will release encrypted data with possible hints for a new challenge. Your mission, should you choose to accept it, is to create a program to decode each piece of encrypted data, be it a string, a number, an image, or something else, in as few bytes as possible. The top two overall winners will win a TI-84 Plus C Silver Edition and a TI-Nspire CX (with the first place winner getting first choice).

As in previous Cemetech contests, we'll have a number of categories; the sizes of entries from each category will be weighted at the discretion of the judging panel.
  • TI-83 Plus/TI-84 Plus TI-BASIC, ASM, C, or Axe: Programs in any of these languages for any calculator with "TI-83 Plus" or "TI-84 Plus" in its name will be accepted, including the TI-84 Plus C Silver Edition and TI-84 Plus CE. Hybrid TI-BASIC and z80 ASM programs must use only the libraries available in Doors CS or Doors CSE, to make grading easier.
  • TI-Nspire CX and HP Prime: Lua entries for the TI-Nspire CX and CX CAS as well as PPL programs for the HP Prime will be accepted.
  • Computers: Java, Javascript, C++, Rust, Haskell, and Python: For those who focus on computer programming these days, computer programming solutions will be accepted in the languages listed. Want to write in another language? Let us know what that language is in the attached Cemetech topic, and we'll consider it.
The usual rules apply:
  • Contestants may not release any code or binaries before the end of the contest, including asking for programming help publicly or privately. Violators will be disqualified. Projects that have already been released in any form (excluding a contest project topic) already are not eligible for the contest.
  • The contest will run until January 19th, 2016, at 11:59:59pm Eastern Time. No late entries will be accepted. Entries to any of the five challenges will be accepted up until this deadline. The earlier you submit each challenge's solution, the higher your score!
  • All contestants must maintain a topic in the Contests subforum on Cemetech, including a first post that mentions the programming language(s) you'll be using. You can also post the size of your entries and when you complete them. Do not post algorithmic solutions, code, or hints.
  • Submit entries by emailing them, in a zip file, to contest at this domain name. Be sure to provide your Cemetech username in the subject or body of the email so we know who you are! Each Cemetech member can submit a single entry in one or more of the accepted language + platform combinations.
  • Judging will be performed by a team picked from among the Cemetech administrators and members; all judges are disqualified from entering the contest. Results will be posted no later than ten days after the end of the contest.
  • Algorithmic grading will be performed, based on the size of each entry's source code (or for assembly, assembled binaries) and how early the entry was submitted. Speed will not be graded.
  • As with the Contests #12 and #13, we are very proud to offer two brand-new calculators as prizes. The grand prize winner will be awarded one TI-84 Plus C Silver Edition or one TI-Nspire CX, as chosen by the winner. The second-place winner will receive the remaining calculator. Additional Cemetech swag may be added to the prizes at the Cemetech staff's discretion. All participants will earn Cemetech flair in the form of signature bars and respect.
So what are you waiting for? Get coding, solve Challenge 1, push yourself to learn something new in the process, and win some calculators!

Challenge 1: GSVHVXIVGNVHHZTVRHLOWDRAZIW

More Information
Contest #15 Rules



Both of the two remaining of these six generously-donated calculators will be awarded as prizes. A special thanks to our anonymous donor for making this contest possible!



Offline c4ooo

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 252
  • Rating: +10/-1
  • The impossible chemical compound.
    • View Profile
Re: Cemetech Contest #15: Crypto Golfing
« Reply #1 on: December 15, 2015, 08:05:29 pm »
Well, i have not writen the program, but i did decode the first message! XD
Its so secret lol you must be a wizard to figure it out XD
-German Kuznetsov
The impossible chemical compound.

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: Cemetech Contest #15: Crypto Golfing
« Reply #2 on: December 15, 2015, 09:58:56 pm »
Looks fun! I entered, but it looks like I'm not going to do so well against some of these amazing programmers :/
I am Bach.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Cemetech Contest #15: Crypto Golfing
« Reply #3 on: December 16, 2015, 09:35:42 pm »
This sounds like a lot of fun! Such a shame I don't have enough time due to university, though :(

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #4 on: December 22, 2015, 12:42:44 am »
I'm happy to announce that another Tuesday is upon us, so Challenge 2 of Cemetech Contest #15 is also here! If you haven't completed Challenge 1 yet, you still have time, and the only thing you'll lose is the (up to) 5 bonus points you get by submitting your solutions quickly. Challenge 2 adds a few additional rules that we learned from seeing how people worked with Challenge 1:
  • For Challenges 2 and 3, TI-BASIC, Axe, and Assembly programs should take the ciphertext in Ans and return the decoded plaintext in Ans as well.
  • For Challenges 2 and 3, computer programs should take input from stdin and return output to stdout.
  • If there are any constants or keys that affect how a particular cipher works (for example, the offset in a Caesar cipher), these should be defined in a modifiable way in the source, so that someone with the source code could change those constants without needing to modify anything else in the program.
Challenge 2: VPUOUGHUVYUOOSIUWOPSTTEPMRWNSEOBHMYGUYUVUGP

Good luck!
« Last Edit: December 22, 2015, 01:48:58 am by KermMartian »



Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: Cemetech Contest #15: Crypto Golfing
« Reply #5 on: December 22, 2015, 09:44:17 am »
Time to get golfing!
I am Bach.

Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #6 on: December 26, 2015, 09:52:00 am »
Quote from: jonbush
If you haven't figured out Challenge 2 yet, here's a hint:

%26
I'm Kerm Martian and I approve of this message. :D Good luck, everyone. I notice we haven't quite gotten as many entries as for the first challenge, so I hope everyone who is stuck on this one (or forgot to enter so far this week) will redouble their efforts.



Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #7 on: December 30, 2015, 11:44:39 am »
For the past two Tuesdays, we have announced increasingly difficult challenges as part of Cemetech Contest #15: Crypto Golfing. This five-part contest tasks programmers with solving cryptography puzzles, then creating programs that can decode messages in the cipher used for each challenge. We received an overwhelming number of entries written in many different calculator and computer languages for Challenges 1 and 2, although the field has started to thin. Since another Tuesday is upon us, Challenge 3 of Cemetech Contest #15 is here! If you haven't started entering the contest yet or if you haven't completed one of the existing challenges, you still have time, and the only thing you'll lose is the (up to) 5 bonus points you get by submitting your solutions quickly. Challenge 3 is the last pure-text cipher, and if you're still stuck with it on Friday, we'll be publishing an extra hint on Friday afternoon at 5pm, Eastern Time.

Challenge 3: OEEJCYKL WK AU LTMY L WXOJWN

Good luck! To repeat the incentive, besides prestige and glory: a TI-Nspire CX and a TI-84 Plus C Silver Edition await the top two contestants.




Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #8 on: January 01, 2016, 05:11:40 pm »
*bump* Contest #15 hint time:
You wouldn't put calculators on your salad



Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #9 on: January 04, 2016, 03:36:12 pm »
Noting how much people are struggling with Challenge 3 and with jonbush's agreement, we have decided to release one additional hint at this time: Challenges 1 to 3 have all used ciphers that can be found in the "Classical Cryptography" template on Wikipedia. A special congratulations to the >=2 contestants who solved the challenge before this hint!



Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #10 on: January 05, 2016, 11:24:55 am »
I'm going for a new Omnimaga record of 5 replies to myself, apparently. :P I hope Omnimaga members are aware of this contest!

The second-to-last challenge is here, and I think it's one that you guys will have fun with. Instead of providing a ciphertext for Challenge 4, we are providing a 95x63-pixel monochrome image (of an Enigma machine!) in three formats: .8xi, .8ci, and .png. Solutions must take at least one of those formats and produce a plaintext (not image) output from the image. Programmers working on the color calculators can assume that any .8ci passed to the program will also only have black and white pixels in the top-left 95x63 pixels of the image, and those writing computer programs should only look at the top 95x63 pixels of any image passed to the program. As with the previous challenge, we will publish a clue on Friday afternoon at 5pm ET, but we encourage you to try to solve it before Friday to earn maximum points.

Challenge 4:

Download:
Contest #15, Challenge 4 input image (PNG)
Contest #15, Challenge 4 input image (8xi)
Contest #15, Challenge 4 input image (8ci)




Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: Cemetech Contest #15: Crypto Golfing
« Reply #11 on: January 05, 2016, 01:27:43 pm »
Alright! I will begin working on it as soon as I can!

I still can't get challenge 3, though :P
I am Bach.

Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #12 on: January 08, 2016, 06:12:45 pm »
Good luck, pimath!

Hint time: The encoding scheme used in this challenge can encode no more than 63 characters.



Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #13 on: January 12, 2016, 10:28:23 am »
*bump* hint time #2: Not every member of a group has equal value, and numbers that come around, wrap around.



Offline KermMartian

  • Editor
  • LV7 Elite (Next: 700)
  • *******
  • Posts: 500
  • Rating: +233/-20
    • View Profile
    • Cemetech
Re: Cemetech Contest #15: Crypto Golfing
« Reply #14 on: January 12, 2016, 01:56:09 pm »
The fifth and final challenge of Cemetech Contest #15 is here, which means you have just over one week to submit all five solutions for the contest. Like Challenge 4, this challenge is related to images, so we suggest you think long and hard about possible ways to interpret the number (numbers?) below. When you figure out the cipher and create your solution program, make sure that as in the first three challenges, it takes a string as input via Ans or stdin. It's hopefully enough of a clue to tell you that the output for this challenge should be an image either on the graphscreen, in a picture variable, or for computer programs, as a PNG or GIF image. As with the previous two challenges, we may publish a clue on Friday afternoon at 5pm ET, but we encourage you to try to solve it before Friday to earn maximum points, and we will decide whether to post a clue based on how many entrants have figured out the cipher. Good luck!

Challenge 5: 1111144444444433333333333211112223321122223333333444444444322222222233444
3222334444444443333333321111122233321112222333333333333334111144444444333
3333333333321111112223332111222233333333333333341111114444444433333333322
2222222344443332222344444444444441111111111111111111111111111111111111111
1444444444444444444444434333333333332322222222222222222222211111111111444
4433333333344141211412114121144434323343233432334441412114121141211444343
2334323343233344414121141211412114

Note: line breaks are for clarity, NOT part of the clue