Lost in a shimmer

Pantha du Prince sends you a secret message hidden within a string of nonsense. You know that the real message is periodic within the garbage and that he's partial to the number three.

Find Pantha's hidden message to you by taking periodic substrings.

panthas_message = "Tkxhwbiscscu vfbmwlgzirlsnysqr"

Biscuit girl Xwiscu NYC This bliss Thank tiger

This section requires Javascript.
You are seeing this because something didn't load right. We suggest you, (a) try refreshing the page, (b) enabling javascript if it is disabled on your browser and, finally, (c) loading the non-javascript version of this page . We're sorry about the hassle.

4 solutions

Arulx Z
Nov 15, 2015

Best way to solve this problem is by analyzing the question. The question provides three hints -

  1. Secret message hidden within a string of nonsense. We can be sure now that Caesar cipher or alternatives which involve replacement of characters are no used.

  2. The real message is periodic within the garbage. Now we can be sure that the actual message is just distributed among the string. Since no words make sense in the text by themselves, we assume that the words are separated into characters and distributed periodically in the text. At this point we can use a combination of bruteforce and dictionary attacks directly together to crack this problem easily. However one more hint is given which needs to be preferably analyzed first.

  3. He's partial to the number three. Since we know that the characters are distributed periodically, it's worth giving a try to see if any three characters picked periodically from the text makes any sense.

Here's the code -

1
2
3
4
panthas_message = "Tkxhwbiscscu vfbmwlgzirlsnysqr"

for x in xrange(0, len(panthas_message), 3):
    print panthas_message[x],

Aha! We found the answer!

Moderator note:

Good explanation of the thoughts used in solving this problem.

Jesse Nieminen
Nov 21, 2015
1
2
3
panthas_message = "Tkxhwbiscscu vfbmwlgzirlsnysqr"
decrypted_message = panthas_message[::3]
print(decrypted_message)

1
2
3
This bliss

Process finished with exit code 0

Rajath Naik
Mar 5, 2015

It is a skip code :
The letters starting from T and skipping the successive 2 letters, makes the first option, and for separating the 2 words a set of 4 letters have to be skipped.

I eventually became convinced that the space was to be considered a valid message character as well, then the "Take every third character" rule worked throughout the message.

Steven Perkins - 6 years, 3 months ago

Log in to reply

Took me a while to figure that out, because the part after the space, where the "v" started, was showing in the next line

Joakin Nunez - 5 years, 3 months ago

I did not notice the space. But I read "thi" so concluded it was this bliss

Jean Luis Urena - 5 years, 2 months ago

Fyi: The whitespace was not visible using the mobile app.

Mario Moya - 1 year, 1 month ago

Jay Ramje ke

Ayush Shah - 1 month, 2 weeks ago
Sathiya Lakshmi
Mar 12, 2015

(string) % 3 = "This Bliss"

0 pending reports

×

Problem Loading...

Note Loading...

Set Loading...