The Mysterious Puzzle -2

Saumitra Sapre
15 min readJun 11, 2021

For the next two days, Luis buried himself into work, finishing it off early. He was now a complete fan of Cicada, and wanted no other disturbance for when the next puzzle came in.

As promised, at exactly 17:00 UTC, 845145127.com changed. The content that the site now showed, completely changed the perception regarding who or what Cicada 3301 actually was. It was a scary realisation. One which when put into perspective, sent chills running down the spine.

The site now simply showed a new text below the Cicada image.

Find our symbol at the location nearest you:
52.216802, 21.018334
48.85057059876962, 2.406892329454422
48.85030144151387,2.407538741827011
47.664196, -122.313301
47.637520, -122.346277
47.622993, -122.312576
37.5196666666667, 126.995
33.966808, -117.650488
29.909098706850486 -89.99312818050384
25.684702, -80.441289
21.584069, -158.104211
- -33.90281, 151.18421
36.0665472222222, -94.1726416666667
37.577070, 126.813122

These were coordinates across the globe. The locations were spread out over the world across California, Australia, Hawaii, South Korea, Poland, and other places.

It took a while for this to sink in. This wasn’t just a smart neckbeard in a basement, typing away puzzles for amusement. This could potentially be a global organization of some exceptionally talented people. Either they had members worldwide, or they did a lot of travelling to spread out these posters. This puzzle was no longer only an online thing.

At this point Cicada had achieved world recognition. Communities were formed on IRC channels who collaborated with each other to solve the puzzles. Luis was also an active member of many of these communities. Some solvers volunteered to travel to these coordinates to find what exactly was present there. To everyone’s surprise, people found sheets of paper hung on walls, secured in railings or stuck to telegraph poles.

All of them had a picture of a Cicada, and a QR code below it. Soon, photos of these locations began to spread within the community.

Scanning the QR code resulted in a link to another jpg file. As expected, Outguessing the file gave a text. It was at this point when the puzzles forked into two. Some QR codes gave one puzzle while some others gave a second one. Luis chose one at random and read the text. It was again a book-code.

-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA1A poem of fading death, named for a king
Meant to be read only once and vanish
Alas, it could not remain unseen.
1:5
152:24
the product of the first two primes
14:13
7:36
12:10
7:16
24:3
271:22
10:7
13:28
12:7
86:17
93:14
the product of the first two primes
16:7
96:4
19:13
47:2
71:22
75:9
77:4
You've shared too much to this point. We want the best,not the followers. Thus, the first few there will receive the prize.
Good luck.
3301-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.11 (GNU/Linux)iQIcBAEBAgAGBQJPB/nmAAoJEBgfAeV6NQkPEnEQAKl5qtb3ZE5vs+c08KuzAi4atQEE71fvb65KQcX+PP5nHKGoLd0sQrZJw1c4VpMEgg9V27LSFQQ+3jSSyan7aIIgSDqhmuAcliKwf5ELvHM3TQdyNb/OnL3R6UvavhfqdQwBXCDC9F0lwrPBu52MJqkAns93Q3zxec7kTrwKE6Gs3TDzjlu39YklwqzYcUSEusVzD07OVzhIEimsOVY+mW/CX87vgXSlkQ69uN1XAZYp2ps8zl4LxoaBl5aVtIOA+T8ap439tTBToov19nOerusB6VHS192m5NotfQLnuVT4EITfloTWYD6X7RfqspGt1ftb1q6Ub8Wt6qCIo6eqb9xmq2uVzbRWu05b0izAXkHuqkHWV3vwuSfK7cZQryYA7pUnakhlpCHo3sjIkh1FPfDcxRjWfnou7TevkmDqkfSxwHwP5IKo3r5KB87c7i0/tOPuQTqWRwCwcWOWMNOS7ivYKQkoEYNmqD2Yz3Esymjt46M3rAuazxk/gGYUmgHImgcu1zzK7Aq/IozXI7EFdNdu3EoRJ/UL9Y0l0/PJOG5urdeeTyE0b8bwgfC2Nk/c8ebaTkFbOnzXdAvKHB03KEeUPtM6d6DngL/LnUPFhmSW7K0REMKv62h9KyP/sw5QHTNh7Pz+C63OO3BsFw+ZBdXLhGqP6XptyZBsKvz2TLoX=aXFt-----END PGP SIGNATURE-----

The senders had expressed their disapproval against online communities collaborating together to solve the puzzle. True to their intent behind the puzzles, they were looking for ‘highly intelligent individuals’, and not sheeple who merely copied the answers of the smart ones.

We want the best, not the followers…

A few searches of the keywords in the clues pointed to a Wikipedia article regarding a 1992 poem called ‘Agrippa (A Book of the Dead)’ by William Gibson and Dennis Ashbaugh. The work in itself was extremely intriguing. It was a 300-line semi-autobiographical poem, embedded in an artist’s book. This poem was stored in a 3.5" floppy disk which was programmed to encrypt itself after a single use.

…Meant to be read only once and vanish…

Similarly, the artist’s book was printed in photosensitive chemicals, causing all the writing and images to gradually fade away after exposure to light.

A poem of fading death…

Gibson, the author, had described it as a ‘self-devouring floppy-disk intended to display the text only once, then eat itself’. He was amused at the dilemma it would pose to librarians.

Solving the book code resulted in yet another link. This URL though, was different than others.

sq6wmgv2zcsrix6t.onion

Luis was all too familiar with the ‘.onion’ extension for websites on the dark web. Almost half his work involved swimming through this vast ocean of the internet’s cavernous underbelly. Such ‘.onion’ websites are not indexed by public search engines like Google, and could only be viewed through a specific set of softwares and configurations. Because such websites are mostly used to carry out illicit operations, anonymity of access is given the topmost priority. For this reason, they are accessed by using the ‘TOR network’.

TOR, an initialism for ‘The Onion Router’, was an open-source privacy network initially used by the US Navy to secure government communications, before it was made public. TOR allowed users to access websites by bouncing off of several different servers before reaching the destination. This allowed users to reach websites without revealing their IP addresses, essentially making them impossible to track. With the power of TOR, the puzzle had now effectively gone off the grid.

Luis fired up a TOR equipped browser, and typed in the website.

He chuckled at the fact that these brilliant, almost otherworldly problem setters had to explain with an example how to append a number to the web address. Like many others, Luis entered one of his many ‘burner’ email ids, hit submit and hoped to God that he received a reply.

Three days passed. The wait was agonising. After all, there were tens of thousands of solvers, all waiting in similar anticipation. As the emails were relayed on a first come first serve basis, no one knew if they were lucky enough to make the cut. Luis had returned to his mundane everyday routine, still occasionally refreshing his inbox in desperate hope.

On a stormy Sunday night, a despondent Luis was getting ready to turn in for the day, when the laptop on his desk let out a solemn chime. The sound was eerily clear, amidst the violent pounding of the rain against the windows.

You have 1 unread email.

He felt his throat go dry.

Did I actually make the cut?

The first few lines of the email answered that question.

-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA1
This message will only be displayed once.
Here is a message that has been encrypted with RSA (the Crypt::RSA Perl module available in CPAN) :
- -----BEGIN COMPRESSED RSA ENCRYPTED MESSAGE-----
Version: 1.99
Scheme: Crypt::RSA::ES::OAEP
eJwBzQAy/zEwADE4OABDeXBoZXJ0ZXh0B4KeBtKjJ7hGKC7/zqyzxUoFDTzRuU4+TLFUrw9qDGjkYI3fjyMn3G/w9WcfkZMGHdGRicbpTsDO3/oqmVtZpmIDY2HPOeWIZChuLfMDwT3FTUkDjQpsq390OJ90pArd1JRxdIZtnCvnVy/vg+1MjAFH3ta+CuAwHsIY/3lGOKTin1+5M30BKh7NOQMmBcJ8/RuLTfXMGQT01QVMeAGq6vORk3iw39KOLRU3Lcn1804G1/zd2mdFWvEMaTbu/F+7=0KfiT9PUe6QkwJXoM36Ukw==- -----END COMPRESSED RSA ENCRYPTED MESSAGE-----Here is the public key used to encrypt it. Note that it has a low bit modulus and is therefore breakable:$VAR1 = bless( {
'e' => 65537,
'n' => '7467492769579356967270197440403790283193525917787433197231759008957255433116469460882489015469125000179524189783',
'Version' => '1.99',
'Identity' => '<quaetrix0@gmail.com>'
}, 'Crypt::RSA::Key::Public' );
The encrypted message is a number. Break the decryption key, then come back to this same URL and enter the decrypted message to continue. Each person who has come this far has received a unique message encrypted with a unique key. You are not to collaborate. Sharing your message or key will result in not receiving the next step.
There are many fake messages out there. Only messages signed with public key ID 7A35090F are valid.
Good luck.
3301
-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAEBAgAGBQJPEi5PAAoJEBgfAeV6NQkPV58P/0vBho7MrgWy4V4v2CGcq3gUOfNQ+k/z3TRvJZamGqM0bJbYgaHyG6mekf4v7o68b6v7Riir3maljP0snKV6Wv6jEa8tzLZGonrgIJSSH4Ri3Ce9JiX4FGgNf8kY/3MahW5+TPoJGOmugfAf51XrUafHxTGK6aa9VQoQgg4Hxig8+BQAcNOGBvrnLu2MX4e+K8877YzNhymPNQGiKa/vm/gvBZN8S5tP9JYbSxZIU9EY5/Ny1c7Rb4uWJfmVm0EuKhx4gnVTuo7DXmZh0bcSmgk+BPsg/mLdFVKMNaf8Znam4Lg7oGby6fg7duwNcRBtH242oDZi7Ar2PaULDeaEhVS9Z29zFPGNpwDc8E7hecbfBzlLARkiMOApgORfBeTVP7c3p38efg+24v7Rp26J61QfqtppmijeO+BuytVm8XlmGLoMvL8NlCx/9ghTnaQN1hBWT/WpCPRCLC0F982zvfzCZhu0lPouHYdB9QYRuUcMQP03UcZNyFsdmw1epVLfL3QP9TzDoeLBopu/gHNARUzpIcx7rqme633XCldmnLn91CMGBOMGLQGdC+z16e9zQGYuliE/SfB66Kebz2f8ZBpKDqw5Riu8BQAPMK1kt9evb7L/a7TZD5ISlh253ES9Tmi8/Nxot7hGMuHXFvEdajyKqwcTZ2vegt8Tu6Hb7199=S6GG
-----END PGP SIGNATURE-----

Each selected solver now received a different code. This ensured that no one worked in groups to crack it. The rules were now stricter, and failure to comply resulted in direct elimination.

You are not to collaborate. Sharing your message will result in not receiving the next step.

Luis was still staring at the screen. The task he was given was not at all easy.

Break an RSA encryption?!

Great. Shall I find life on Mars too, while I’m at it?

RSA was one of the fundamental algorithms Luis had learnt in his ‘Advanced Cryptology’ course at Stanford. Published in the 70’s, the algorithm was a huge breakthrough for public key cryptography, and is used to this very day in modern systems. He felt himself reeling back to the Stanford classroom, intensely scribbling notes. His professor’s characteristic deep voice echoed in his head.

“Computers are funny machines, aren’t they?” he had declared. “If I tell a computer to multiply two numbers, it would indeed do it in a fraction of a second. Of course, this is not surprising.”

“Even if I increase the number of digits of the numbers to, say 20, 50 or even 100…” he continued “…the computer still manages to find their product well within a few seconds. This is true even if we keep on increasing the digits to very large values. The machine will still be quick enough to compute the results. Can I say then, that multiplication of numbers is an easy problem for a computer?”

The class agreed.

“But what if I consider the reverse task? Let’s say that we are given a number, and are asked to find its prime factors. Surely, the task will be simple enough for small numbers. However, as the numbers grow larger, the task becomes harder, as the machine now has to perform some amount of trial and error. Riddle me this then…Do you think a computer could find the prime factors of a twenty-digit number within a second, like it managed to do for multiplication?”

A few people in front nodded.

“What about 50 digits? 200 digits? A thousand?”

The class looked skeptical. Many stayed silent.

“This is where the coin flips its side…” The professor smiled “… Even with the best factorization algorithms running on the best supercomputer, calculating the prime factors of even a 300-digit number is estimated to take roughly 150,000 years.”

“WHOOA!”

“Yup! That’s the reason we say factorization is a hard problem for computers…” he now began pacing amongst the benches “This folks, forms the core idea of how the RSA algorithm guarantees a secure encryption. The explosion in difficulty ensures the safety of our data.”

“Our message, is coded using an encryption key, and decoded using a separate decryption key. Both of these keys are nothing but very large numbers, of say 100 digits. The encryption key is available to all, and is therefore called the public key. The decryption key, however is kept private… “ he continued. “Of course, only the person possessing this decryption key will be able to decode and read the message. If an attacker wishes to break the encryption, the only way he can do it without possessing the decryption key, is to find the prime factors of the encryption key.”

“Now, we already know that computers take an eternity to factorize huge numbers. Owing to this practical difficulty, we can say that our message is very securely encrypted…” he smiled “Unless, of course, our attacker friend is willing to wait for several years to finally arrive at the factors… “

Not necessarily though…

Snapping out of the reverie, Luis found himself staring at a single line in the message.

Note that it has a low bit modulus and is therefore breakable.

Several advancements in algorithm design had greatly reduced the time for decoding RSA keys. The most popular technique to crack such codes was the ‘Number Field Sieve’ algorithm. The performance of this, depended upon an important factor called the ‘bit modulus’, which determined the strength of encryption. The lower it was, the easier it became to crack the key. Since Cicada had assured the breakability of the RSA encryption, Luis went on to try an open-source implementation called ‘M-sieve’.

His computer took around three hours to arrive at a result, with all eight cores fully maxed out in crunching the cumbersome calculations. A few small Python scripts later, Luis had completely cracked the RSA encryption.

Result: 25121996842107342310

As instructed, he went ahead and appended the number.

sq6wmgv2zcsrix6t.onion/25121996842107342310

The webpage simply said:

Correct. We’ll email you.

A day later, Luis received a new email in his inbox. This, was one of the most bizarre emails he had ever seen, which made him all the more intrigued. The email had a cryptic poem, along with the usual PGP signature.

-----BEGIN PGP SIGNED MESSAGE-----Hash: SHA1
This song is your own path
Another stop on the road toward enlightenment
Follow it, and share not
Let the Chorus be your guide to the depths :
Let the Priests of the Raven of dawn,
no longer in deadly black, with hoarse note
curse the sons of joy. Nor his accepted
brethren, whom, tyrant, he calls free lay the
bound or build the roof. Nor pale religious
letchery call that virginity, that wishes
but acts not.
For every thing that lives is Holy.
Good luck.
3301
-----BEGIN PGP SIGNATURE-----Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAEBAgAGBQJPGOY0AAoJEBgfAeV6NQkP7KQQAJ7qfuZgtthyD6hXiPvrYXClDnbj4viLPeiwVC/dYHn76yixqImr4+gzWEGzr+MrNpaPRBtCxu7kmBtwuyNHoqlzKINmTLuwjpLkU/VBi02b17Z5UbCguEn8ZZDq8HFJgl3I8teQOBpmNorfsR0+CmjMbtuLdiZkLS0f9LS4mCivnlJmr6ULIwiAh7KaCQbj3s908raMQL+uIg6GXort1ilosppcEaykOHUmz+cxG2xpOD1KVt/IqSawimB3xfveCcLyRRfRQp4ACyL+eBiTzuT9IJ9NmCrE3OcFtzJa0S2JjlOI5x1h70GEl1D/rpTu3zOR6I3YF68RufIxtnfpDsx36OORSR0kWVO1fVAotL3QfPxq6cjsy5Q+Gm5QeAvI+e5k2lGIL83d3JS23s0IjopSgJWHwwIF5q9uHrg8oPIJkYkc1Dxzrvgc5DcHsYo+KQxWYsPhjh7nQp8hl0KpK8Q/I8yFg3afBfH1ci15HifKVwAJGtrki3+NkPDw7IuwFDtW6NCd4SJ6XQv9fw7NyYQk/qxbiOrz4yD7MOY9tKapdDMc5B4jIBaGULoKiMqk4KBHc05Z8I4yqaCfWI0BfijJVvKgLCx8mLillkKKH8A+f4CG191MKd0LwfrWNDCC62e5vWRaulV0coR2DTrCFFDAFZL1IQd0u3QtmG5aRBhi=kTmp
-----END PGP SIGNATURE-----

The email also came with an attachment, which made things even more cryptic. The attachment was an audio file.

Attachment(s): song.midi

He played the audio. It was an eight-minute sequence consisting of varying synth notes with no noticeable pattern.

This song is your own path… But how?

He eyed the email once again. Something about the attachment caught his attention.

Why a midi file?

If there was one thing he had understood clearly till now, it was that Cicada never made any move at random. Every decision of theirs had undergone meticulous thought. If they just wanted to send an audio, they could easily have given an mp3 file. This wasn’t just a coincidental preference of a particular file type. It was then that the true reason of choosing a MIDI file format dawned on him.

A ‘MIDI’ file essentially consisted of encoded sequence of notes along with the length of each note. This resulted into an actual song that can be heard. The interesting thing about a MIDI file however, was that it can easily be converted into readable text with only a few lines of code. Within a few minutes Luis had the output on his screen.

// SONG 1MFile 1 3 96MTrk0 Meta Text "Cicada at Mon Jan 23 16:19:14 2012"
0 Meta TrkEnd
TrkEnd
MTrk
0 Meta Text "Cicada at Mon Jan 23 16:19:14 2012"
0 Tempo 500000
0 PrCh ch=2 p=6
0 PrCh ch=3 p=41
0 TimeSig 7/2 24 8
0 KeySig 1 major
0 On ch=2 n=63 v=96
192 Off ch=2 n=63 v=0
192 On ch=2 n=61 v=96
216 Off ch=2 n=61 v=0
216 On ch=2 n=56 v=96
408 Off ch=2 n=56 v=0
408 On ch=2 n=55 v=96
792 Off ch=2 n=55 v=0
792 On ch=2 n=65 v=96
816 Off ch=2 n=65 v=0
816 On ch=2 n=65 v=96
912 Off ch=2 n=65 v=0
912 On ch=2 n=65 v=96
1008 Off ch=2 n=65 v=0
1008 On ch=2 n=60 v=96
1032 Off ch=2 n=60 v=0
1272 On ch=2 n=55 v=96
1656 Off ch=2 n=55 v=0
1656 On ch=2 n=65 v=96
1752 Off ch=2 n=65 v=0
1752 On ch=2 n=61 v=96
...
// SONG 2
TrkEnd
MTrk
0 Meta Text "Cicada at Mon Jan 23 16:19:14 2012"
0 Tempo 500000
0 PrCh ch=2 p=6
0 PrCh ch=3 p=41
0 TimeSig 7/2 24 8
0 KeySig 1 major
0 On ch=3 n=48 v=96
96 Off ch=3 n=48 v=0
96 On ch=3 n=49 v=96
120 Off ch=3 n=49 v=0
120 On ch=3 n=48 v=96
312 Off ch=3 n=48 v=0
312 On ch=3 n=48 v=96
504 Off ch=3 n=48 v=0
504 On ch=3 n=55 v=96
528 Off ch=3 n=55 v=0
528 On ch=3 n=49 v=96
552 Off ch=3 n=49 v=0
576 On ch=3 n=55 v=96
672 Off ch=3 n=55 v=0
672 On ch=3 n=44 v=96
864 Off ch=3 n=44 v=0
864 On ch=3 n=43 v=96
960 Off ch=3 n=43 v=0
960 On ch=3 n=49 v=96
984 Off ch=3 n=49 v=0
984 On ch=3 n=46 v=96
1176 Off ch=3 n=46 v=0
1176 On ch=3 n=48 v=96
...

Around the world, there was an insane amount of research done on this file. People analysed the length of the tones, the acoustic trends, the time delays between the notes, all in an attempt to reveal some kind of pattern hidden in the music. Looking at the text form of the MIDI file, Luis noticed that it had two songs encoded in it, each on a different channel.

Okay… Now what?

There was one line from the message however, that struck out to him. He still wasn’t sure what it meant.

Let the Chorus be your guide to the depths…

It took Luis an entire day before he could make some sense of it all. The ‘chorus’ that the message talked about, was the chorus from a 1906 poem by William Blake called ‘A Song of Liberty’.

Let the Priests of the Raven of dawn,
no longer in deadly black, with hoarse note
curse the sons of joy. Nor his accepted
brethren, whom, tyrant, he calls free lay the
bound or build the roof. Nor pale religious
letchery call that virginity, that wishes
but acts not.
For every thing that lives is Holy.

If a letter of the ‘chorus’ was taken at a time and applied to the notes in the second song, he started to see some very interesting patterns. Certain combinations of lengths and notes were repeatedly being assigned the same letter…

This led him to associate each letter and create an alphabet from it. Within a few seconds however, he noticed that he had another problem…

There are no notes in common between the two songs… Shit!

He needed to figure out how they made this alphabet so that he could make a new one for the first song. It was then that another revelation struck him. He realised that the second song was given as a guide… to lead him to the solution of the first song.

Let the Chorus be your guide to the depths…

Luis felt himself shiver.

Cracking his knuckles, he focussed his attention to the first song. The key here, was to understand that shorter lengths and lower notes correlated to earlier letters in the alphabet. Applying this same logic to the first song, Luis managed to boil it down entirely into an alphabet with a few bash functions.

UNIQUE and SORT are my friends here…

a 24 55
b 24 56
c 24 58
d 24 60
e 24 61
f 24 63
g 24 65
h 24 67
i 96 55
j
k 96 58
l 96 60
m 96 61
n 96 63
o 96 65
p 96 67
q
r 192 56
s 192 58
t 192 60
u 192 61
v 192 63
w 192 65
y 384 55
z 386 56

All that remained, was to apply this alphabet to the first song.

verygood you have proven to be most dedicated to come this
far to attain enlightenment create a gpg key for your email address
and upload it to the mit key servers then encrypt the the following
word list using the cicada three three ero one public key sign it
with your key send the ascii armoured ciphertet to the gmail address
from which you received your numbers your words are
angle house basket basin camera sail garden tail leg bucket

Holy mother of god…

Luis double checked his screen.

Am I dreaming?

He felt his hands tremble. He was sweating profusely.

D-Did I just… crack Cicada?!

“Ehi, guardate qua!” The ringing in Vito’s excited voice brought Luis back into reality. He was pointing frantically towards his phone “The subreddit has changed!”

“Huh?”

It was true. There was indeed a new image posted on the page with the title ‘Valēte!’. It was posted by the same sender — ‘CageThrottleUs’.

The interesting thing was that the image was posted at around the time when Vito walked into the room. Luis shuddered.

Was there someone watching us this whole time?

Before he had a chance to look around for hidden cameras, the door opened suddenly.

“Sorry, I’m late!” A cheery young man entered, carrying steaming hot mugs in a paper carrier. “I brought coffee!”

The comely twenty-something stranger set down the carrier, and eyed the audience in the small room. He wore a form fitting charcoal three-piece suit, which oddly enough seemed to merge perfectly with his general mien, despite the extremely odd venue.

Luis took one of the mugs and savoured the warmth that followed after taking a sip. He didn’t realise how cold his hands were until he touched the mug. The others followed. All the excitement of arriving here had made them forget the chilly weather outside, until now.

“Pleased to make all your acquaintances…” the stranger extended his hand, and gave them all a warm smile. “You can call me Dylan…”

The stranger’s words seemed to echo in Luis’s mind.

We meet at last.

This was the man behind the cryptic puzzles in all of their interactions. At least he was one of many. It was by following the trail of breadcrumbs laid by him that had led Luis and the others to this location. For some reason, Luis had imagined the sender as an old, balding hunched man with thick glasses. This was indeed a welcome surprise. While still very young, there was something about this man’s demeanour that made him appear a lot more mature for his age.

Dylan…

He felt like he’d heard that name somewhere, but couldn’t remember exactly.

“And oh, by the way…” Dylan announced with a cheeky grin. “… Welcome to Cicada!

--

--