DominicJohnston / LaFontaine

..."Cigales" - My own path followed successfully and my own stop
0 stars 0 forks source link

2012-02#001 #5

Closed DominicJohnston closed 1 year ago

DominicJohnston commented 1 year ago

Someone (n_) posted the URL 1853143003544.tk in a chat room on n0v4. This URL was the sum of the largest picture name on the QR codes for each book code:

29-vol:
162667212858, 316744223127, 414974253863, 427566844663, 598852142735, 889296759263

fading death:
644169769482, 876873892385, 935691396441, 963846244281

The TXT record for the website said “Go to my largest part”. The largest prime factor of the number in the URL was 33091839349, so solvers went to 33091839349.tk. The website's DNS entry contained no TXT, and the site itself was some HTML with a black background and this picture: NHYLD.jpg

The said picture is The Lady of Shallott, a painting by John William Waterhouse. The painting takes its name from Alfred, Lord Tennyson’s poem of the same name, which also deals with Arthurian subject matter

Outguessed:

`-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Miss round 1?
Care for a second chance? http://i.imgur.com/hkdgl.png 1:22 3:33 3:40 6:19 4:7 4:8 4:7 9:23 12:12 4:16 16:7 11:16 1:7 5:14 3:35 2:2 4:26 1:12 3:11 3:28 4:23 18:18

Good luck. 3301 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJPDTiqAAoJEBgfAeV6NQkPytAP/1UQeylwYBjQWuzr8pbERN04 wlZVCG5SjGanqfQKxSa5Z8YOVR9LRlT6sHBKgfOEDztj+6RM2SvX7Y2Mw9mA4g90 7bizXi8IkP5K3tMvNxcA6uEy0rSchJt4D93zzjPvS7lm6jGO1gJQXrwMUd4fACs1 hxZ3Cxva0MIS+r8MxRJbU/mKbDvnEr6fwUaB6m1vFgYW6wTM4qS2ES04ic+mlkbR 0/eRPnFIBb06XjQpijDAGiisgVORaUUrUJGX+Wnp61CVobBmKwUdw3n0AxbKRC3/ Nja0HYvXexWDiRgxE2YjZyq0Pk4TnZoXxTnyS6NKZ1i1Qxysu4xUfuLO3L6zrnQP TT4EsqDxzMAKQuJS6qo/pLsdCqyXO1Jr4wIlaG5AGYKMjt9k61Y12WLiqhpLTgzd AtUTejZzThXqbhmm4wPCVk+Vsik8PLs/Ts6DooB3Ki3AtRtldmeCXdo+mid3Og+A IKw9+KtB2JDd4a6DbsNbRDIt1pZmyPA3xmmksc8ogx/CEPATPwL7JaN5UwVNSZKM 6MiJ1+b39Kx9ckQ8vSuYa5cALDiUwZPddopl29zbVmKciW+sDGfSiSroXw7khNJs dzmJ4hR2R7Bbv23Ngxt/M/J5/udOd0AaeDKMxfLNnaLqm8FiaWqnL5TwkzMFnad7 RKpOZq9TkllIE6NBB4wc =mGcB -----END PGP SIGNATURE-----

Signed on 2012.01.11. 08:22 by Cicada 3301 (845145127) (Key ID: 0x7A35090F). The signature is valid and the certificate's validity is fully trusted.`

The picture hkdgl.png is related to William Blake's The Marriage of Heaven and Hell Applying the book code on it returns cginiziglyaobyph.onion

DominicJohnston commented 1 year ago

[Those who applied early enough on sq6wmgv2zcsrix6t.onion or followed the 'Numbers dot TK' hint (and entered an email address on cginiziglyaobyph.onion?) were greeted with this email?:] - or maybe not Submitting (?) the number on sq6wmgv2zcsrix6t.onion/NUM showed this message:

`-----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) :

eJwBzQAy/zEwADE4OABDeXBoZXJ0ZXh0B4KeBtKjJ7hGKC7/zqyzxUoFDTzRuU4+TLFUrw9qDGjk YI3fjyMn3G/w9WcfkZMGHdGRicbpTsDO3/oqmVtZpmIDY2HPOeWIZChuLfMDwT3FTUkDjQpsq390 OJ90pArd1JRxdIZtnCvnVy/vg+1MjAFH3ta+CuAwHsIY/3lGOKTin1+5M30BKh7NOQMmBcJ8/RuL TfXMGQT01QVMeAGq6vORk3iw39KOLRU3Lcn1804G1/zd2mdFWvEMaTbu/F+7 =0KfiT9PUe6QkwJXoM36Ukw==

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' => }, '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 is a second chance to get your own RSA message and key. Follow the "Numbers dot TK" hint to find it.

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/0vBho7MrgWy4V4v2CGcq3gU OfNQ+k/z3TRvJZamGqM0bJbYgaHyG6mekf4v7o68b6v7Riir3maljP0snKV6Wv6j Ea8tzLZGonrgIJSSH4Ri3Ce9JiX4FGgNf8kY/3MahW5+TPoJGOmugfAf51XrUafH xTGK6aa9VQoQgg4Hxig8+BQAcNOGBvrnLu2MX4e+K8877YzNhymPNQGiKa/vm/gv BZN8S5tP9JYbSxZIU9EY5/Ny1c7Rb4uWJfmVm0EuKhx4gnVTuo7DXmZh0bcSmgk+ BPsg/mLdFVKMNaf8Znam4Lg7oGby6fg7duwNcRBtH242oDZi7Ar2PaULDeaEhVS9 Z29zFPGNpwDc8E7hecbfBzlLARkiMOApgORfBeTVP7c3p38efg+24v7Rp26J61Qf qtppmijeO+BuytVm8XlmGLoMvL8NlCx/9ghTnaQN1hBWT/WpCPRCLC0F982zvfzC Zhu0lPouHYdB9QYRuUcMQP03UcZNyFsdmw1epVLfL3QP9TzDoeLBopu/gHNARUzp Icx7rqme633XCldmnLn91CMGBOMGLQGdC+z16e9zQGYuliE/SfB66Kebz2f8ZBpK Dqw5Riu8BQAPMK1kt9evb7L/a7TZD5ISlh253ES9Tmi8/Nxot7hGMuHXFvEdajyK qwcTZ2vegt8Tu6Hb7199 =S6GG -----END PGP SIGNATURE-----

Signed with unknown certificate 0x181F01E57A35090F. The signature is bad.`

This message was served only once per number. People who shared their key or message got this by email:

`-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1

Hello. You have shared your information online. You are now removed from this altogether. Even if you crack the key you've been given it doesn't matter, because you have demonstrated that you can't be trusted to follow simple instructions anyway.

Thank you for your participation to this point.

Goodbye.

3301 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJPEsO0AAoJEBgfAeV6NQkPJRUP/1JyxwilMLUX0J+2gLofZV/C /eIJkO3lxYuLQQWiouJVzBSddZ/GVP2XLP86OaZpYoChzGRxYaIia62e0ZnRQHei d7UNWvOjenveo7QUpxpY+xPvPq41l/JJAntE6H82yO4NlCTTFi7UJBG2r8EgSc/s gQs1A5TANcJgq8mFoscPH4T1QxT5N0AXbALMNyEUS37UqBcV40/7v9AJq52tyLnQ IInxdmY38RO/sJJIAi/4hCquJ6OYFYmQxBTldKhacEE0/e8BQXIm/eIXClPL3ff0 mET9uP8CwyFQW8nUM7dBRO4CKTUJ0cYxjj3PlHnRUdfM7AyywWeXkqwlDB4OFOy2 Jw9/18phYSxTV2cM6ETRBK1xSGwevHHBaEdJF7xZAIA3EYbqyjW09YQnf4dihEg7 O3faR8docXTPwQ0qhuU65krI5O17N3Sn731RvBz9bZcDm+E8nh0m6wA0yRBYYjYo 8SW5MscEN2SI7xq8lskHdX9uogDVnb9IqTV2YfrQplnpZIR5jfLU+uWgVXMA2faQ i9QMtyvKGGZ6ejPX+euPmp8XRIUHeXD5H/YQSTTy6D/0WnMHpH/h9p1FRcWOZSbR 1Gmmxi/Oix4PtBXjuNJt51KuQxVsh3s1f2KTcVV3tILalYtyPtoqTRST05KwV/Jj GnHprhtOWRq4pAHlQktc =kPlo -----END PGP SIGNATURE-----`

After the number was decrypted solvers tried to post it on the 16th January, but the site gave a HTTP/500 error. On January 17th, at around 2:49 UTC, this was fixed. When given an RSA-decrypted number, the site reported: “Correct. We’ll email you.”

A new email was sent, and told the solvers to go back to the onion/NUM. This led to an updated version, having a poem/song and a PGP message.

After the RSA puzzle, people who submitted the correct answer to their individual RSA puzzle (each person had different "n") to the onion page received another email with a MIDI puzzle.

-----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 MESSAGE-----
Version: GnuPG v1.4.11 (GNU/Linux)

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
=yk7h
- -----END PGP MESSAGE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBAgAGBQJPGOY0AAoJEBgfAeV6NQkP7KQQAJ7qfuZgtthyD6hXiPvrYXCl
Dnbj4viLPeiwVC/dYHn76yixqImr4+gzWEGzr+MrNpaPRBtCxu7kmBtwuyNHoqlz
KINmTLuwjpLkU/VBi02b17Z5UbCguEn8ZZDq8HFJgl3I8teQOBpmNorfsR0+CmjM
btuLdiZkLS0f9LS4mCivnlJmr6ULIwiAh7KaCQbj3s908raMQL+uIg6GXort1ilo
sppcEaykOHUmz+cxG2xpOD1KVt/IqSawimB3xfveCcLyRRfRQp4ACyL+eBiTzuT9
IJ9NmCrE3OcFtzJa0S2JjlOI5x1h70GEl1D/rpTu3zOR6I3YF68RufIxtnfpDsx3
6OORSR0kWVO1fVAotL3QfPxq6cjsy5Q+Gm5QeAvI+e5k2lGIL83d3JS23s0IjopS
gJWHwwIF5q9uHrg8oPIJkYkc1Dxzrvgc5DcHsYo+KQxWYsPhjh7nQp8hl0KpK8Q/
I8yFg3afBfH1ci15HifKVwAJGtrki3+NkPDw7IuwFDtW6NCd4SJ6XQv9fw7NyYQk
/qxbiOrz4yD7MOY9tKapdDMc5B4jIBaGULoKiMqk4KBHc05Z8I4yqaCfWI0BfijJ
VvKgLCx8mLillkKKH8A+f4CG191MKd0LwfrWNDCC62e5vWRaulV0coR2DTrCFFDA
FZL1IQd0u3QtmG5aRBhi
=kTmp
-----END PGP SIGNATURE-----

Basicly it was substitution cipher where one tone in midi was one letter. Midi consist two songs. Second one is encrypted text from Chorus of Blakes Poem A Song of Liberty (Let the Chorus be your guide to the depths : was hint). First midi song was encrypted text players had to decrpy, with unique set of words on the end:

A part of the MIDI in ASCII:

MFile 1 3 96
MTrk
0 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     v    192     63
192 Off ch=2 n=63 v=0      
192 On ch=2 n=61 v=96    e   24     61          
216 Off ch=2 n=61 v=0        
216 On ch=2 n=56 v=96     r    192       56
408 Off ch=2 n=56 v=0            
408 On ch=2 n=55 v=96   y      384        55
792 Off ch=2 n=55 v=0            
792 On ch=2 n=65 v=96    g   24       65
816 Off ch=2 n=65 v=0
816 On ch=2 n=65 v=96     o     96     65
912 Off ch=2 n=65 v=0
912 On ch=2 n=65 v=96      o     96      65
1008 Off ch=2 n=65 v=0
1008 On ch=2 n=60 v=96      d      24      60
1032 Off ch=2 n=60 v=0
1272 On ch=2 n=55 v=96     y     384        55
1656 Off ch=2 n=55 v=0
1656 On ch=2 n=65 v=96      o       96       65
1752 Off ch=2 n=65 v=0                      
1752 On ch=2 n=61 v=96     u        192      61
1944 Off ch=2 n=61 v=0
1968 On ch=2 n=67 v=96      h       24         67
1992 Off ch=2 n=67 v=0
1992 On ch=2 n=55 v=96       a       24         55
2016 Off ch=2 n=55 v=0
2016 On ch=2 n=63 v=96        v             63
2208 Off ch=2 n=63 v=0
2208 On ch=2 n=61 v=96         e            61
2232 Off ch=2 n=61 v=0
2256 On ch=2 n=67 v=96  p           96               67
2352 Off ch=2 n=67 v=0
2352 On ch=2 n=56 v=96   r                         56
2544 Off ch=2 n=56 v=0
2544 On ch=2 n=65 v=96    o                       65
2640 Off ch=2 n=65 v=0
2640 On ch=2 n=63 v=96     v                      63
2832 Off ch=2 n=63 v=0
2832 On ch=2 n=61 v=96      e                         61
2856 Off ch=2 n=61 v=0
2856 On ch=2 n=63 v=96       n    96                63
2952 Off ch=2 n=63 v=0
2976 On ch=2 n=60 v=96        t     192                60
3168 Off ch=2 n=60 v=0
3168 On ch=2 n=65 v=96         o                        65
3264 Off ch=2 n=65 v=0
3288 On ch=2 n=56 v=96  b                           56
3312 Off ch=2 n=56 v=0
3312 On ch=2 n=61 v=96  e                            61
3336 Off ch=2 n=61 v=0
3360 On ch=2 n=61 v=96        m                          61
3456 Off ch=2 n=61 v=0
3456 On ch=2 n=65 v=96         o                          65
3552 Off ch=2 n=65 v=0
3552 On ch=2 n=58 v=96s
3744 Off ch=2 n=58 v=0
3744 On ch=2 n=60 v=96t
3936 Off ch=2 n=60 v=0
3960 On ch=2 n=60 v=96d
3984 Off ch=2 n=60 v=0
3984 On ch=2 n=61 v=96e
4008 Off ch=2 n=61 v=0
4008 On ch=2 n=60 v=96d
4032 Off ch=2 n=60 v=0
4032 On ch=2 n=55 v=96i
4128 Off ch=2 n=55 v=0
...
..
.

The key was:

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

Solution:

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
[unique list of words here]
garden ball house cat shore back head galon
DominicJohnston commented 1 year ago

Second MIDI song:

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 L 96 Off ch=3 n=48 v=0 E 96 On ch=3 n=49 v=96 T 120 Off ch=3 n=49 v=0 T 120 On ch=3 n=48 v=96 H 312 Off ch=3 n=48 v=0 E 312 On ch=3 n=48 v=96 P 504 Off ch=3 n=48 v=0 R 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 1368 Off ch=3 n=48 v=0 1368 On ch=3 n=46 v=96 1560 Off ch=3 n=46 v=0 1584 On ch=3 n=53 v=96 1680 Off ch=3 n=53 v=0 1680 On ch=3 n=51 v=96 1704 Off ch=3 n=51 v=0 1728 On ch=3 n=48 v=96 1920 Off ch=3 n=48 v=0 1920 On ch=3 n=55 v=96 1944 Off ch=3 n=55 v=0 1944 On ch=3 n=49 v=96 1968 Off ch=3 n=49 v=0 1992 On ch=3 n=44 v=96 2184 Off ch=3 n=44 v=0 2184 On ch=3 n=43 v=96 2208 Off ch=3 n=43 v=0 2208 On ch=3 n=51 v=96 ... .. .

The key was:

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

Some guide to un-puzzling the MIDI:

-Take the base64-encoded portion of your message with the PGP armour headers around it, remove the “- “ from the beginning and top lines, and feed this into pgp --decrypt habitres.midi > song.midi. -Download midiscv, compile, and run ./midiscv song.midi song.csv -Use this script to produce a message. This script matches the notes in track 3 of the MIDI file with the letter “chorus” at the top of the message with the MIDI in it

 #!/usr/bin/python2
    book = """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."""

    craw = [
        'a;43_24',
        'b;44_24',
        'c;46_24',
        'd;48_24',
        'e;49_24',
        'f;51_24',
        'g;53_24',
        'h;55_24',
        'i;43_96',
        'j;44_96',
        'k;46_96',
        'l;48_96',
        'm;49_96',
        'n;51_96',
        'o;53_96',
        'p;55_96',
        'q;43_192',
        'r;44_192',
        's;46_192',
        't;48_192',
        'u;49_192',
        'v;51_192',
        'w;53_192',
        'x;55_192',
        'y;43_384',
        'z;44_384',
        ' ;-12_24',
        ', ;-12_240',
        '\n;-12_384',
        ':\n;-12_768',
        '. ;-12_960']
    chars = {}
    for cline in craw:
        char = cline.split(';')
        chars[char[1]] = char[0]

    import string, sys
    book = string.replace(book, ' ', '')
    book = string.replace(book, '\n', '')

    f = open(sys.argv[1], 'r')

    tracks = {}

    while 1:
        line = f.readline()
        if not line:
            break
        line = line.strip('\n').split(', ')
        try:
            tracks[int(line[0])]
        except KeyError:
            tracks[int(line[0])] = []
        tracks[int(line[0])].append(line[1:])

    #print tracks

    notes = {}
    for tid in tracks.keys():
        track = tracks[tid]
        notelist = []
        lasttime = 0
        for event in track:
        #    print event
            note = None
            if event[1] == 'Note_on_c':
                if int(event[0]) != lasttime:
                    #there was a delay
                    d = int(event[0])-lasttime
                    note = 0
            elif event[1] == 'Note_off_c':
                d = int(event[0]) - lasttime
                note = int(event[3])
            if note != None:
                d = d
                #num = note+d
                #print 'Note:\t%d\tDur:\t%d\tNum:\t%d' % (note, d, num)
                notelist.append([lasttime, note, d])
            lasttime = int(event[0])  
        notes[tid] = notelist

    message = ''

    for notenum in range(len(notes[2])):
        note = notes[2][notenum]
        key = str(note[1]-12)+'_'+str(note[2])
        try:
            message += chars[key]
        except KeyError:
            message += key
                #print "oops: "+key
    #    try:
    #        message += book[num]
    #    except IndexError:
    #        message += '_'

    print message

    #print len(book)

Using the mapping in reverse from track 2, we produce a message. Those who sent an encrypted PGP signed email with their words were later invited with the infamous "leaked email".

DominicJohnston commented 1 year ago

vjuNp