Didactic Scrambled Egg Cipher Warmup

Discussion of challenges you have already solved
Post Reply
Kami
Posts: 10
Joined: Wed May 04, 2011 7:48 am

Didactic Scrambled Egg Cipher Warmup

Post by Kami »

I finally solved this challenge!!! ;-)
But I'm not very happy with my solution. ;-/
In short words, I reversed the algorythm, applicated all possible/the remaining possible values of the key to the eggs step by step, removing all values leading to bad plain letters/signs. But I still get eggs with many possible plan letters/signs and can't eliminate enough of them.
I don't know if I was just lucky to hit the part of the string where the answer is located or if it is meant to be this way. I managed to decrypt only parts of this message combining different attempts and completing apparent words. (Not every letter my be right.):
___ltt's ____ into this cypher. i ________ps! i guess '********' should be ______ choice for y______________
I want to improve my program, but I would neet a complete list of all legal letters/signs of the plain text. Did someone even decode the full text?
Zeta
Posts: 62
Joined: Thu Apr 16, 2009 3:37 pm

Post by Zeta »

I used a genetic solver and get solutions like

Code: Select all

let's eace ynto this ciphmrn#juar 3 lfnps! i guess 'threesum' shou,d "e a good choice vor ymR a-n-s-w-e%b._%
I didn't investigate further but I think the plain text is

Code: Select all

Let's ease into this cipher. Just 3 loops! I guess 'threesum' should be a good choice for the a-n-s-w-e-r.
Kami
Posts: 10
Joined: Wed May 04, 2011 7:48 am

Post by Kami »

Thx, this will help. (Hopefully... back to coding! ^^)
User avatar
Hippo
Posts: 339
Joined: Sat Feb 01, 2014 12:05 am
Location: Praha 5

Post by Hippo »

I had a set of all possible values for each key which generate ascii whenever applied (and we know it).
I have written the threeletters which are generated by given "random" key combinations. And fixed the most promissing ones. Unfortunately this quickly lead to all key values eliminated.

I have supposed there could be nonascii characters "randomly distributed". So I have removed the filtering and just used the halfmanual method ... writing interesting threeletters and adding constraints to the key set to generate these threeletters. (OK I have implemented some score function and written only results better than some slowly increased treshold ... )
OK it was not that trivial ... the set of keys I have applied was obtained by slowly randomly removing values with higher probability of removing keys with low score ...

If I would guessed better what is the distribution of nonascii characters, the original almost trivial algorithm would find solution quickly. (I have trained my methods on prewarmup (on 15 keys), with very small substrings of the original.)

OK, even if this description is not describing enough, I hope it gives clues what ideas were used ...

I suppose my original fully automated method would work on set with only ascii characters, but I have not tried it after I solved the challenge.
wolf5x
Posts: 1
Joined: Sat Dec 31, 2011 3:10 pm

Post by wolf5x »

My solver discarded the last tuple and got

Code: Select all

let's ease into this cipher. just 3 Loops! i guess 'threesum' should be a good choice for yer a-n-s-w-e-r
[/quote]
stubbscroll
Posts: 9
Joined: Sat Dec 11, 2010 11:25 pm
Location: NO

Post by stubbscroll »

Why do I often get a link to the regular forum (rather than the "solved" one) after solving a problem?

I implemented a genetic algorithm which managed to converge quickly to outputs like this:

Code: Select all

4'k's ease into this cipher.;juiB 3 lfnps! i g#ess 'thr3esum' sh9uld be a good choice for yer a-n-s-w-e-r.V%
From this, it took one try to correctly guess the wrong letter in the answer.

It turns out that keeping the last egg messed up the scoring function of my algorithm, as it gives a huge penalty to bytes outside [32,126]. By dropping one egg, my program converges quickly to the correct plaintext without errors.

The next challenge looks rather intimidating...
Redford
Posts: 41
Joined: Sat Jul 04, 2009 8:32 pm
Location: Poland
Contact:

Post by Redford »

The problem with the last egg is that it was padded with a null byte and a percent sign. Not sure if my solver is wrong or the author did something wrong, seems he wanted to pad the text with two nulls.

That was my third approach. I used Z3 with Python bindings and it was quite straightforward.

Full plaintext (as escaped string):

Code: Select all

let's ease into this cipher. just 3 loops! i guess 'threesum' should be a good choice for yer a-n-s-w-e-r.\x00%
Key:

Code: Select all

5456a9edb312454c6f55d1f03733dc95
Image
Post Reply