community
cancel
Showing results for 
Search instead for 
Did you mean: 
Do you have the skills to make it to the top? Subscribe to our weekly challenges. Try your best to solve the problem, share your solution, and see how others tackled the same problem. We share our answer too.
Weekly Challenge
Do you have the skills to make it to the top? Subscribe to our weekly challenges. Try your best to solve the problem, share your solution, and see how others tackled the same problem. We share our answer too.
Unable to display your progress at this time. Please try again a little later, or contact an administrator if you continue to see this error.
Announcement | Get certified today - take the Alteryx Designer Core and Advanced exams on-demand now!
SOLVED

Challenge #165: KRYPTOS!!!

Alteryx Certified Partner
Alteryx Certified Partner

Challenge #165, done.

 

Spoiler
Section I and II done. Really want to try Section III and IV with more time.

Challenge_165.PNG

Cheers,

ACE Emeritus
ACE Emeritus

Section III solved more formally. This solves the Transposition Cipher using an iterative macro wrapped in a loop controller macro, and doesn't rely on specific values that need to be known ahead of time. The decoder outputs over 3,000 potential solutions, which is small enough to scan with the human eye and spot the solution.  For a larger input, we could easily scan for "contains actual words" or some such in the filter, rather than filtering for the known decoded text. As it happens, 4 different settings of the variables I used in the decoding algorithm yielded the right answer.  This suggests optimizations may be possible. But for now I'm good... on to Section IV!

Spoiler
image.pngSolution just calls the Decoderimage.pngLoop Controllerimage.pngLoop Iterator

 

Asteroid

Nice challenge... Will have to come back for sections 3 and 4...

Alteryx Certified Partner

Parts I - IV complete. Very fun. Solution attached.

 

Spoiler
Challenge 165 - Capture Workflow.PNGWorkflowChallenge 165 - Capture Macro.PNGMacro

Section III and IV coming soon....

Comet

My solutions.  Still working on the indecipherable.  If I don't make it to Inspire, I may have succeeded and the NSA has me...

Spoiler
Workflow 165.1.GIFWorkflow 165.2.GIFWorkflow 165.3.GIFWorkflow 165.4.GIF
Asteroid

This was fun, posting solutions for sections 1 and 2 now, but will circle back on section 3.

Pulsar

Might be one of my favorites so far! Lots of offline thinking to try to streamline a solution that would also work with any length keyword2. Here is my solution to Sections 1 & 2.

 

Spoiler
Firstly, create the Vigenere wheel. Not too difficult. Generate letters of the alphabet using Generate Rows and my new favorites CharToInt and CharFromInt functions, and union that with the keyword KRYPTOS. Add a row ID to keep the original order. A unique tool removes the duplicate letters, then rebuild the order with a sort, and concatenate back into a single string using Summarize.

image.png

To create the decoding wheel, tokenize again, join in the Vigenere wheel created above, and then rebuild the decoding wheel with String functions. I split the Vigenere wheel text into 2 pieces. The first piece has where the first letter of the keyword starts, and continues to the end of the Vigenere string, and the second contains all of the other letters. Accomplished using FindString([VigenereWheel], [keyword2]) to find the starting position of the match, and Substring functions to find the first part of the string and the remaining text. For the first part, look into the VigenereWheel, start at the Position (that FindString function above) and continue until the end of the Vigenere string. Then the second hald was another Substring, starting at position 0, and continuing to position calculated by the FindString function. Joined those together with a simple concatenation.image.png

 

Now onto solving. Another Regex tokenize to split the encoded text into columns, then add an ordering field to rebuild everything to the proper order. Then the part to make the length of the keyword dynamic. According to the pages read, the data needs to be chunked according to the length of the keyword, to relate the encoded text to the correct line to decode. So here, I figure out the number of characters in the keyword string (let's call it x), and use a MultiRow formula tool to number the rows from 1 to x. 

image.png

 

Attached is the workflow.

image.png

 

Will continue to work on Section III

 

Cheers!

Esther

Alteryx
Alteryx

Great responses!!!  Too many to select one as a solution.  I gathered my favorite bits and pieces from your solutions and came up with the following for Sections I-III:

 

Spoiler
KRYPTOS_SOLUTION.PNG

This is a REALLY AMAZING community!

ACE Emeritus
ACE Emeritus

Great challenge and I still fully intend to try a few brute force things on Section 4.  :-)

Thanks!

Quasar

What a fun challenge! Based on all the great learnings from the lead up challenges, section I and II were quite doable. Then came section III... I did something, but it seems like a bit of an easy way out. Curious to see what better way others came up with.

 

Spoiler
Challenge #165 Section I.PNGSection IChallenge #165 Section II.PNGSection IIChallenge #165 Section III.PNGSection III
Section III feels a bit like a cop-out, as I essentially just created a mapping table to decrypt it on. What got me, in doing it differently, was dealing with the varying lengths...