Here are the puzzles, hints, and answers for the 2021 April Fools Puzzle Contest on #ircpuzzles on libera IRC. Hints were gradually revealed throughout the contest. Expect to need them to finish.
This year's theme was "Cryptography".
Level 00: #ircpuzzles entry point
Clues(s):
- d2hhdGlzYWtleQ==
- Except for Level 01, all spaces are to be replaced with ""
Answer
The password to the next level is "whatisakey"Walkthrough
The clue is Base64 encoded. Running it through a decoder such as base64 -d
gives:
whatisakey
The answer is whatisakey
.
Level 01
Clues(s):
- I2yfoTyuoFOTVRMlnJIxoJShPt==
Hint(s):
- i could go for a salad first...
Answer
The password to the next level is "williamffriedman"Walkthrough
Running the clue through ROT13 gives:
I2yfoTyuoFOTVRMlnJIxoJShPt==
Running that through base64 -d
gives:
William F Friedman
William F Friedman was a US Army cryptographer, hinting at the theme, cryptography.
The answer is williamffriedman
.
Level 02
Clues(s):
- dgffg afgdg afaaf adgdx xxdgg gxgaf gaaxx aggxx dxxfd dggaa dxdda agaff dxadx xaddf aaaaa fgdaa afaaa aaada gxgaa fggfg xfgg
Hint(s):
- the theme is key here - 1/2
- abc...
Answer
The password to the next level is "GabrieldAramon"Walkthrough
5-letter groupings are common in crypto--we can ignore the spaces as irrelevant.
This is an ADFGX cipher, a Playfair variant.
Using the base grid (no rearrangement) and the key "CRYPTO", we decrypt the above to:
gabrieldeluetzbaronetseigneurdaramonetdevallabregues
or
Or Gabriel de Luetz, Baron et Seigneur d'Aramon et de Vallabregues. Also known as Gabriel d'Aramon.
The answer is gabrieldaramon
.
Level 03
Clues(s):
Answer
The password to the next level is "AthanasiusKircher"Walkthrough
The page is from the Voynich Manuscript, but a reverse image search shows the brighter text on the bottom-left has been added.
The "First Study Group", led by the previously mentioned William F. Friedman, devised an ASCII equivalent for the text. The added text would read:
nothing is / more beautiful / than to kno(u/w) all
A quote by AthanasiusKircher
.
Level 04
Clues(s):
- 1.2#2.3#2.3#1.1#3.1#1.4#2.1#1.1#2.1#2.1#2.2#1.2#1.1#2.1#4.3#3.1#2.1#1.1#1.1#1.2#1.1#2.1#1.1#1.1#3.1#2.1#3.1#1.1#3.2#2.1#2.1#1.3#1.1#3.1#1.3#
Hint(s):
- 1H1E2L1O
- fold(1)
- Improved in 2013
- The encoding is a clue
Answer
The password to the next level is "breach"Walkthrough
The message is run-length encoded. The clue, 1H1E2L1O means "1H, 1E, 2L's, 1O". It decompresses as:
HELLO
The full message decompresses as:
.##..###..###.#...#.####..#.#..#..#..##.##.#..#....###...#..#.#.#.##.#..#.#.#...#..#...#.#...##..#..#.###.#...#.###
The length is 115 or 5x23 characters. Reshaping it into a rectangle (for example with the unix tool fold(1)
) gives:
.##..###..###.#...#.###
#..#.#..#..#..##.##.#..
#....###...#..#.#.#.##.
#..#.#.#...#..#...#.#..
.##..#..#.###.#...#.###
CRIME is a security vulnerability against encrypted protocols like HTTPS that use compression.
BREACH is a variant attack of CRIME. The answer is BREACH
.
Level 05
Clues(s):
Hint(s):
- Hut
- Person
- JPL knows the answer
<1>
ian from the land of<2>
<3>
worked in<DMS>
Answer
The password to the next level is "LeslieHarrisonLambert"Walkthrough
The audio clip is 4.643 seconds of mono audio. It's in Vorbis audio format inside an Ogg file. Sounds funky.
$ ogginfo disco_55c8jPxXdoJ2VLSj.ogg
...
User comments section follows...
ARTIST=ircpuzzles
TITLE=Disco
DATE=2021
GENRE=Crypto
COMMENTS=There's no hint in here, but have an easter egg instead.
Vorbis stream 1:
Total data length: 159698 bytes
Playback length: 0m:04.643s
...
OK, great. Let's convert that to a spectrogram.
ffmpeg -i disco_55c8jPxXdoJ2VLSj.ogg -f s16le -acodec pcm_s16le - | specgram --live
ffmpeg -i ~/Downloads/disco_55c8jPxXdoJ2VLSj.ogg -f s16le -acodec pcm_s16le - | specgram -f 2048 -g256 spectrogram.jpg
This code is the same as the one from the Perseverance rover parachute.
In Perseverance the codes read counter-clockwise in binary. We'll treat bright green as 1 and dark blue as 0.
Reading clockwise instead, the binary patterns are:
- Inner: 1111111111 1111111111 0000001101 0000000001 0000000111 0000001001 0000000011 0001111111
- Middle: 0000000010 0000001001 0000001110 0001111111 1111111111 1111111111 0000010010 0000001111
- Outer: 0001111111 1111111111 1111111111 1111111111 0000001000 0000001111 0000001111 0000000100
- Rim: 0000011111 0000010111 0000110011 0000111011 0000110010 0000001110 0000000000 0000101100
Note that each segment starts with 000 (or is 1111111111, which we ignore), as in the real parachute.
(We cheated so this would work out--if it doesn't, shift where you started the circle a couple digits.)
Next, convert binary to decimal:
- Inner: -, -, 13, 1, 7, 9, 3, -
- Middle: 2, 9, 14, 127, -, -, 18, 15
- Outer: 127, -, -, -, 8, 15, 15, 4
- Rim: 31, 23, 51, 59, 50, 14, 0, 44
Let's interpret the first three rings as letters (A=1) as in Perseverance. For the rim, perseverance used degree notation for GPS, and we'll do the same. 14=N, 23=W, and the rest are literal numbers in degree notation.
- Inner: magic
- Middle: robin?
- Outer: hood?
- Rim: 51°59'50" N, 0°44'31" W
The answer is a magic
ian. And someone who, like Robin
Hood
, was born in Nottingham. The coordinates point to his workplace, Hut 8 of Bletchley Park.
The answer is the real name of A.J. Alan, LeslieHarrisonLambert
.
Level 06
Clues(s):
- " rCcanlhuoSsr"
- /digital
Hint(s):
- single
- trans
- "digital"
Answer
The password to the next level is "ClausSchnorr"Walkthrough
The intended solution was to use a single column transposition cipher. The key is "DIGITAL". Duplicate letters are forbidden in keys. The standard is to instead use DIGJTAL
, confirmed by the hint /
(increasing).
Sorting the key letters:
DIGJTAL
1234567
ADGIJLT
6132475
The deciphering writes columns from left to right, top to bottom.
ADGIJLT
6132475
_CaluSs
rcnho*r
We needed one padding *. Why does it get added there? Well, encrypt any phrase with padding at the end, and that's where it shows up. Or, it's the highest-numbered (7th) column.
Returning the key to original order:
DIGJTAL
1234567
Claus_S
chnorr*
Claus Schnorr was a cryptographer.
The answer is ClausSchnorr
.
Level 07
Clues(s):
Answer
The password to the next level is "TheDAOHack"Walkthrough
The cryptocurrency icons are, in order:
- cosmos
- siacoin
- filecoin
- decred
- zcash
- uniswap
- waves
- tron
- monero
- ontology
- chainlink
- nano
Filling in the crossword:
d m t
e f o r C
z cHainlinK O o
c r l E uniswap
waves e r m
s D c onTology
H o A s
siAcoin
n o
The numbered cells read THEDAOHACK
.
In 2016, The DAO was hacked, controversially leading to a hard-fork of the Ethereum blockchain.
The answer is TheDAOHack
.
Level 08
Clues(s):
- bjepnjgtifovufpaqblofzkhiupfk
- Rhymes
Archivist's note: I highly recommend the hints.
Hint(s):
- tri
- Groups of 6
Answer
The password to the next level is "DrSeuss"Walkthrough
tri
hints at the Trifid Cipher
As usual, the key is CRYPTO. The trigram grid for CRYPTO is:
CRY EFG NQS
PTO HIJ UVW
ABD KLM XZ+
Under each letter of the ciphertext, we write the layer, then row, then column:
bjepnjgtifovufpaqblofzkhiupfk
12213221221332113121232223122
32121212212221231332133222213
23111332223212112223221121121
Using the second hint, we split the ciphertext into groups of 6
.
bjepnj gtifov ufpaqb lofzkh iupfk
122132 212213 321131 212322 23122
321212 122122 212313 321332 22213
231113 322232 121122 232211 21121
For each group of 6, we read the numbers in row-order.
bjepnj: 122 132 321 212 231 113
gtifov: 212 213 122 122 322 232
ufpaqb: 321 131 212 313 121 122
lofzkh: 212 322 321 332 232 211
iupfk : 231 222 221 321 121
We use the chart to decode the trigrams:
bjepnj: onefis
gtifov: htwofi
ufpaqb: shredf
lofzkh: ishblu
iupfk : efish
The decoded text is the rhyming phrase:
One Fish, Two Fish, Red Fish, Blue Fish
One Fish, Two Fish, Red Fish, Blue Fish is a well-known book by Theodor Seuss Geisel, pen name Dr. Seuss.
The answer is DrSeuss
.
Level 09
Clues(s):
- 159082528975647841273288552666760531261, 243322489515519334824631119429144576991, 3
Hint(s):
- Always make sure you have a prime time!
Answer
The password to the next level is "CliffordCocks"Walkthrough
Let's call the numbers:
- A=159082528975647841273288552666760531261
- B=243322489515519334824631119429144576991
- C=3
A and B are roughly 128-bit integers.
A isn't prime:
$ factor 159082528975647841273288552666760531261
159082528975647841273288552666760531261: 7 43 1279 121061 2447948497 1394372834168827027
B isn't prime. Testing whether something is prime is fast; finding the factors is slow.
$ openssl prime 243322489515519334824631119429144576991 # Takes 0.02 second
B70E34F56FFEEFFFEB395DB286A283DF (243322489515519334824631119429144576991) is not prime
$ factor 243322489515519334824631119429144576991 # Takes 20 minutes
243322489515519334824631119429144576991: 14117854731608700389 17235089476501026419
The these numbers are for the public-key cryptography scheme, RSA.
- C is e=C=3, is the public exponent
- p=14117854731608700389, is a secret prime
- q=17235089476501026419, is a secret prime
- B is n=pq=243322489515519334824631119429144576991 is a public semiprime
- A is c=m^e = m^3 = 159082528975647841273288552666760531261 (mod n), the encrypted message.
- λ(n)= lcm(p-1,q-1)=243322489515519334824631119429144576991 is secret. λ(n) and e are coprime.
- If ed≡1 (mod λ(n)), then d=40553748252586555798879695870172475031 (calculated using the fairly simple "extended gcd algorithm")
Here's a python session illustrating the above:
import math
e=3
p=14117854731608700389
q=17235089476501026419
c=159082528975647841273288552666760531261
n=243322489515519334824631119429144576991
n==p*q
> True
th = math.lcm(p-1,q-1) # Can also use (p-1)*(q-1)
def gcdExtended(a, b):
if a==0: return b,0,1
gcd,x,y = gcdExtended(b%a, a)
x,y=y-(b//a)*x,x
return gcd,x,y
d=gcdExtended(3, th)[1]
d*e % th
> 1
pow(pow(100, d, n), e, n)
> 100
pow(pow(100, e, n), d, n)
> 100
Yep, everything looks good.
To decrypt it, we calculate: m≡c^d (mod λ(n))
m=pow(c,d,n); m
> 215232259421775365151868797862979120299
import codecs
codecs.decode(hex(m)[2:],"hex")
> b'Pyvssbeq Pbpxf'
Passing Pyvssbeq Pbpxf
through ROT13, we get Clifford Cocks
. Clifford Cocks was the (top-secret) inventor of the RSA algorithm before Rivest, Shamir, and Adleman.
The answer is Clifford_Cocks
.
Level 10
Clues(s):
H S I b A G
GYQyvluEYIXuvcrLjyelApkhEig
c x Y E M w
iOxfFkmMeCfTuXeFMlhfcuvmfLk
L d b k G I
xziLdjhNlfifaBelYDMuCFbuDOe
h C l c S B
oiHsgBmihQyOXapKIhcwhmLXvKM
Z m D M F w
sqwAbtJNUZABJZsGzCsMfPUZqze
Z F m O o N
Hint(s):
- 🦄
- ⚛
- If you can't escape from Verðandi's house, it's necessary to consult Urðr to meet Skuld
- image #1
- grille
- [a-z] = 🧱, [A-Z] = 🕳️︎
- tr -d ' '
- 171
- {B="i",A="h",D="t",C="n"}
Answer
The password to the next level is "Constantinople"Walkthrough
H S I b A G
GYQyvluEYIXuvcrLjyelApkhEig
c x Y E M w
iOxfFkmMeCfTuXeFMlhfcuvmfLk
L d b k G I
xziLdjhNlfifaBelYDMuCFbuDOe
h C l c S B
oiHsgBmihQyOXapKIhcwhmLXvKM
Z m D M F w
sqwAbtJNUZABJZsGzCsMfPUZqze
Z F m O o N
The grid shape is a hint at grilles from cryptography.
This should be combined with level 7's completed crossword:
The crossword is 19 across and 9 tall. There are 171 letters in the grille--exactly 19x9. We rearrange the grille:
HSIbAGGYQyvluEYIXuv
crLjyelApkhEigcxYEM
wiOxfFkmMeCfTuXeFMl
hfcuvmfLkLdbkGIxziL
djhNlfifaBelYDMuCFb
uDOehClcSBoiHsgBmih
QyOXapKIhcwhmLXvKMZ
mDMFwsqwAbtJNUZABJZ
sGzCsMfPUZqzeZFmOoN
Next, we'll take only the lowercase letters:
b yvlu uv
cr jyel pkh igcx
wi xf km e f u e l
hfcuvmf k dbk xzi
djh lfifa el u b
u eh lc oi sg mih
y ap hcwhm v
m wsqw bt
s z s f qze m o
We'll place this as a grille over the crossword
X XXXX XX
XX XXXX XXX XXXX
XX XX XX X X X X X
XXXXXXX X XXX XXX
XXX XXXXX XX X X
X XX XX XX XX XXX
X XX XXXXX X
X XXXX XX
X X X X XXX X X
-------- + --------
d m t
e f o r c
z chainlink o o
c r l e uniswap
waves e r m
s d c ontology
h o a s
siacoin
n o
-------- = --------
X XXXXt XX
XX XXXX XXX XXXX
XX XXaXXlXnX X X X
XXXXXXX X XXXniXXXp
XXXeXXXXX XX X X
Xs XX XX XXtXXoXXX
X XXo XXXXX X
X XXXXcXXn
X X X X XXX X X
-------------------
t
a l n
ni p
e
s t o
o
c n
But talnnipestoocn
is nothing. What gives?
Let's look at the corresponding letters in the grille:
E
F M C
GI L
N
D H B
K
A J
Taking the pairs, we get:
ABCDEFGHIJKLMN
constantinople
The answer is constantinople
Hint(s):
- 🦄: Symbol from crossword
- ⚛: Symbol from crossword
- If you can't escape from Verðandi's house, it's necessary to consult Urðr to meet Skuld: If you can't escape from the present, consult the past to meet the future.
- image #1: Combine [harvester]
- grille: Cryptographic grille
- [a-z] = 🧱, [A-Z] = 🕳️︎: A-Z are the 'holes' in the grille
- tr -d ' ': Try removing whitespace in the grille
- 171: There are 171 letters in the grille
- {B="i",A="h",D="t",C="n"}: Re-ordering at the end
Level 11
Clues(s):
- CIKII IWIIQ FHYFW WXNRY UAAII LYGWV WZQWW EWQRQ QBYJY PDGJC BDRIW CZKJO
Hint(s):
- image #1
- (2 + 10) * 5
Answer
The password to the next level is "THROBAC"Walkthrough
Hint(s):
- image #1: Clocktower in Bletchley Park
- (2 + 10) * 5: Combine the first 2 groups of five letters, then the remaining 10.
The first 10 letters CIKIIIWIIQ
are settings for an Enigma M3 machine.
- Reflector is UKW
C
- First rotor is
I
in positionK
- Second rotor is
III
in positionW
- Third rotor is
II
in positionQ
- There are no plugs in the plugboard
The remainder are the ciphertext: FHYFWWXNRYUAAIILYGWVWZQWWEWQRQQBYJYPDGJCBDRIWCZKJO
.
Using an online solver gives the output:
xxxxn otxxx xthex xxxfl amexx xxthr owing xxxxt rumpe txxxx
'not the flame throwing trumpet'
Claude Shannon invented a flame-throwing trumpet and a roman-numeral computer called THROBAC.
The answer is THROBAC
.
Level 12
Clues(s):
Hint(s):
- What do https://youtu.be/zA52uNzx7Y4 (Eiffel 65 - Blue (Da Ba Dee)) and https://youtu.be/62EjFgPECgo (The Fresh Prince of Bel Air) have in common?
- https://youtu.be/qHepKd38pr0
- image #2
Answer
The password to the next level is "SIGABA"Walkthrough
The intended reading of the pictures is:
- Not "The Raven"
- Bug
- Gold (medal)
- Skull
The four images indicate Edgar Allen Poe's The Gold-Bug. (He also wrote The Raven)
In the Gold Bug, there is a secret hidden in the left eye of the skull. It also mentions invisible ink.
If we brighten the left eye socket of the skull, we see a secret code:
code | hex | dec | ASCII |
---|---|---|---|
101001 | 29 | 41 | ) |
110110 | 36 | 54 | 6 |
110011 | 33 | 51 | 3 |
110101 | 35 | 53 | # |
110010 | 32 | 50 | ! |
110101 | 35 | 53 | # |
In The Gold-Bug, the decoding alphabet is:
52-†81346,709*‡.$();?¶]¢:[
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Decoding )63#!#
with this substitution, we get SIGABA
. SIGABA was a WW2-era cipher machine:
The answer is SIGABA
.
Hint(s):
- What do https://youtu.be/zA52uNzx7Y4 (Eiffel 65 - Blue (Da Ba Dee)) and https://youtu.be/62EjFgPECgo (The Fresh Prince of Bel Air) have in common?: Starting lyrics "a story"
- https://youtu.be/qHepKd38pr0: "Enhance" scene. A hint to zoom in and increase contrast.
- image #2: This is the character Poe, an Uglydoll toy.
Level 13, Winner's Circle
The final level. No puzzle.