Challenge #159: April ENcyptanalytics
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
The last time I posted a challenge (#155) it dealt with string analysis and decrypting a message from a noisy block of text.
People have been interested in how I came up with the data block for the challenge.
I decided this would be a good opportunity to let you be creative and show me!
The challenge this week is to create an ENCODER for a message that is compatible with the DECODER we built in challenge #155.
The easiest thing to do would be to simply generate some number of copies of the input message
(even just copying out the original message), but let us disqualify all such non-encodings!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Here's my solution. My first 1st post :)
A snippet of my encoded message:
Check out my collaboration with fellow ACE Joshua Burkhow at AlterTricks.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Fun!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Fun! Will look for a more efficient method later. I had to make my own list of characters which probably made it more complicated than necessary.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Interesting challenge :)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Me: This looks like a tricky one, but I'm sure I can get there using the skills I already have using the basic tools that I'm most familiar with.
Also me: ... Although this seems like a good time to try learning Python, on an extremely difficult challenge, even though I've never used it before... right?!?
Workflow then parses the original message, feeds parameters into the Python tool, and uses the numpy.random.randint() function to create an array based on integers 32-127 (which will get converted back to standard A-Z a-z 0-9 & common symbol characters in the latter part of the workflow). I count the max number of occurrences of any character in each position of the resulting randomized array, and then add that many occurrences + 1 of the original characters to the array to ensure that my desired characters are the ones that occur the most. I then pivot the data, use a RandInt formula to come up with a new random order per position, sort the data using the new random order, un-pivot the fields, and then concatenate by row.
The results will then output your Encoded Text Block as well as a copy of your Original Text for validation.
Extremely pleased that I eventually figured this one out... and jumping in the deep end appears to be the way to go with Python, because that was SUPER fun and now I want to try more :) #neverstoplearning #andnevertakeeasywayout
Cheers!!
NJ
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
I am a huge fan of this series! Thanks @TerryT! Next maybe we can tackle KRYPTOS with Alteryx!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator
Thanks @TerryT nice challenge!! Right now, I feel like a spy in the Cold War haha
Hope you like my solution