Week 1 - Australian Cyber Security Games - 2025
Buried in the Cipher
By Raahguu (Joshua Finlayson)3 min read
Description
The message lies deep beneath the surface — obscured by twisted letters, layered encryption, and ancient languages of the deep. First, it was scrambled with a twist on a classic rotation. Then, a tough key led it astray, a repeating current twisted the letters. And finally, it dove into the language of the deep - where only the most echolocative minds can decode it. But nothing stays buried forever. To retrieve the truth, you must trace its path in reverse - from the echoes back to the source.
It also gives the following text document:
EEEEEEEEEeeEeEEeEEEEEEEEEeeeeEeEEEEEEEEEEeeeeEeEEEEEEEEEEeeeeEEEEEEEEEEEEeeeEeEeEEEEEEEEEeeeeEeeEEEEEEEEEEeeEeEEEEEEEEEEEeEeeeeeEEEEEEEEEeeEeEEeEEEEEEEEEeeEeEeEEEEEEEEEEeeeEeeeEEEEEEEEEeeEEEEeEEEEEEEEEEeeEEeeEEEEEEEEEeeEeeEEEEEEEEEEEeEeeeeeEEEEEEEEEEeeEeEEEEEEEEEEEeEeeeeeEEEEEEEEEeeEeEeEEEEEEEEEEEeeEeEEEEEEEEEEEeeeeEeEEEEEEEEEEeEeeeeeEEEEEEEEEeeeEEeEEEEEEEEEEEeeEEeeEEEEEEEEEEeeEEeeEEEEEEEEEeeEeEEeEEEEEEEEEeeEeeEeEEEEEEEEEeEeeeeeEEEEEEEEEeeeeEeEEEEEEEEEEeeEeEEeEEEEEEEEEeeEeeEEEEEEEEEEEeEeeeeeEEEEEEEEEeeeEeeeEEEEEEEEEEeeEEEEEEEEEEEEEeeeEeeeEEEEEEEEEeeeeEeEEEEEEEEEEEeeEEEEEEEEEEEEEeeeEEeeEEEEEEEEEeEeeeeeEEEEEEEEEEeeEeEEEEEEEEEEEeeEEeEEEEEEEEEEEEeeEeEEEEEEEEEEEeeeEEeEEEEEEEEEEeEeeeeeEEEEEEEEEeeeeEEEEEEEEEEEEeeEeeEEEEEEEEEEEeeeEeEEEEEEEEEEEEeeEeeeEEEEEEEEEeeEEEEeEEEEEEEEEeeEeeEEEEEEEEEEEeeeeEEEEEEEEEEEEeeEeeEEEEEEEEEEEeeEeEEEEEEEEEEEEEeeEeeeEEEEEEEEEeeeeeEe
Solution
This is a cipher that only uses two characters, so the two chances were binary, or some sort of run cipher.
Creating a python script to convert this text to binary, converting the E
into 0
and the e
into 1
:
s = "EEEEEEEEEeeE..." # encrypted text
# Convert to binary
i = ""
for char in s:
if char == "E": i += '0'
else: i += '1'
# Get the binary into bytes and then convert these bytes to ASCII and print that out
for j in range(0, len(i), 8):
print(chr(int(i[j:j+8], 2)), end="")
Outputs izzxu{4_ijwa3l_4_j4z_r33im_zil_w0wz0s_4d4r_xlt7alxlh7}
This has the crucial {
and }
, so clearly binary was the right choice.
The description talks about a tough key (leading) it astray, a repeating current twisted the letters.
The first thing I thought of for a standard cipher that uses a repeating key is the Vigenere cipher
. So I tried the key tough
to start off with, and that appeared to work as it returned plfrn{4_pvcu3e_4_q4l_x33cf_gur_q0pg0e_4j4l_qsf7gfqst7}
, which I could tell was correct as the plfrn
at the start has the same letter differences as cysea
.
After the Vigenere, the description mentioned using a rotaional cipher, so I tried the Ceasar Cipher
, also known as ROT 13
, and it just happened to be that the shift amount was 13
. This got the ending flag of: cysea{4_ciph3r_4_d4y_k33ps_the_d0ct0r_4w4y_dfs7tsdfg7}
Back