Monday, May 20, 2013

Welcome to Detroit

This was a fun crypto challenge.

You're given a blob of text:

WUszTFROWVBDS01SUDZTQlRRSVdKQVFQQkNNTEYzU0dCVUdMNk5JUUNPTldaQVFQQktNV1I1WVBDNU1XVDNJMkVZR1dSNVlEVFFRVjY2UVBCT0pSUDVBQkJCRlZUNEFEVFFNTE5OWVBDS0lXUDRTVkM1T0hQTkFCVFFLTFRPM0RUUUZNRDNHUERHSVdWWFMyQllPV1JPSVhCT09WNDZHQlRRTEw0NFNGVUZGV1ozU1NUUTJWNDZJUVRRRkxUTzNEVFFHUlA0U0JDNU9IUDUzUkRVNFJQNFNCQ0dJSFBOSVFUUTJMTk4zR1RRT1dEM1MyQ09NSFA2QUdDR0pWNDZJMkJPTFY2QUdQWktMVlZYU0lDRkZWTjJTWFRRRk1EM0dQRFVNV0ozSUdCS0dWUk9JQkM0TFJQTklFRVBGVEJYU0NCT05XUFhTSENHS0w0WFNYQ0dOSFA1QUJCQk1SUEdJUVRRTExCNFNGVFEyVjRYU0pDT0ZMUjNJR1RRSlZONFlQREtMVlZYU1ZDUEZXWjNTU1RRNVZSTklLVFFHVjY2UVBDT01MUjNJR1RRRk1EM0dQQjVNV1pYU0hCWVhUSkpIUkFVVVZUNlIyWUNCSkQ1U0lVTj09PT09PQ==

It's base64 encoded, decode it, i like python.

Gives this:

YK3LTNYPCKMRP6SBTQIWJAQPBCMLF3SGBUGL6NIQCONWZAQPBKMWR5YPC5MWT3I2EYGWR5YDTQQV66QPBOJRP5ABBBFVT4ADTQMLNNYPCKIWP4SVC5OHPNABTQKLTO3DTQFMD3GPDGIWVXS2BYOWROIXBOOV46GBTQLL44SFUFFWZ3SSTQ2V46IQTQFLTO3DTQGRP4SBC5OHP53RDU4RP4SBCGIHPNIQTQ2LNN3GTQOWD3S2COMHP6AGCGJV46I2BOLV6AGPZKLVVXSICFFVN2SXTQFMD3GPDUMWJ3IGBKGVROIBC4LRPNIEEPFTBXSCBONWPXSHCGKL4XSXCGNHP5ABBBMRPGIQTQLLB4SFTQ2V4XSJCOFLR3IGTQJVN4YPDKLVVXSVCPFWZ3SSTQ5VRNIKTQGV66QPCOMLR3IGTQFMD3GPB5MWZXSHBYXTJJHRAUUVT6R2YCBJD5SIUN======

This is base32...use rfc compliant b32 to decode not the other variants...


  (2) The final quantum of encoding input is exactly 8 bits; here, the
       final unit of encoded output will be two characters followed by
       six "=" padding characters.

via http://tools.ietf.org/html/rfc4648


But it doesnt decode to anything usable tho i tried every possibility i could think of, was stuck here for a few days.

Applied a brute force caesar cipher to it and key #15 reveals this:

'Mwba mn xl fz, cohlqacobanpu, enqu onrnzzbqu. Box fh ulc bqn ola mfppfos al kbgn awn tfs zbrqfhfrnz, mnpp, ulc tnza abgn b plos wbqx pllg ba ulcq rwlzno yqlhnzzflo. Ulc sl lhh awn qnznqebaflo, box F mfpp rlkn hlq ulc. Fa mfpp tn tnaanq hlq ulc fh ulc zabu box noanq awn gnu rbPJRBYJbxZKYGts.'

This looks like caesar or ROT but is actually a simple substitution cipher.

I used http://rumkin.com/tools/cipher/cryptogram.php

After some statistical analysis and guessing, i was able to see:

'What we do is, unfortunately, very necessary. And if you are not willing to make the big sacrifices, well, you best take a long hard look at your chosen profession. You go off the reservation, and I will come for you. It will be better for you if you stay and enter the key caLJCAPJadSMPKbg.'

I thought i had it, but the answer wasn't accepted. There are a few characters in the key that do not appear anywhere else in the phrase.

Q Z X J

Tried all possibilities and got the answer.

Many thanks to @bsjtf and @jwgoerlich for this fun challenge.