## DEV Community

karapto

Posted on • Updated on

# Description

We found this weird message being passed around on the servers, we think we have a working decryption scheme. Download the message here. Take each number mod 37 and map it to the following character set: 0-25 is the alphabet (uppercase), 26-35 are the decimal digits, and 36 is an underscore. Wrap your decrypted message in the picoCTF flag format (i.e. picoCTF{decrypted_message})

# Solution

The description shows the encryption with the following rules.

``````A: 0
B: 1
C: 2
D: 3
E: 4
F: 5
G: 6
H: 7
I: 8
J: 9
K: 10
L: 11
M: 12
N: 13
O: 14
P: 15
Q: 16
R: 17
S: 18
T: 19
U: 20
V: 21
W: 22
X: 23
Y: 24
Z: 25
0: 26
1: 27
2: 28
3: 29
4: 30
5: 31
6: 32
7: 33
8: 34
9: 35
_: 36
``````

Read `message.txt` and calculate mod 37.

``````def decode(number):
r = number % 37
return r

def main():
f = open("message.txt", "r", encoding="UTF-8")
# print(lst[0])

dec_lst = []

for i in range(len(lst)):
dec_lst.append(decode(int(lst[i])))

print(dec_lst)

if __name__ == '__main__':
main()
``````

All that remains is to decrypt the file according to the rules above.

``````[17, 26, 20, 13, 3, 36, 13, 36, 17, 26, 20, 13, 3, 36, 1, 32, 1, 28, 31, 31, 29, 27]
→ [R, 0, U, N, D, _, N, _, R, 0, U, N, D, _, B, 6, B, 2, 5, 5, 3, 1]
``````

The flag is `R0UND_N_R0UND_B6B25531`. Enclose it in picoCTF{} and submit it.