picoCTF Cryptography Guide

here's how to solve The Numbers

Back to the Cryptography Guides

The Numbers

Name: The Numbers
Description: The numbers... what do they mean?
Author: Danny
Tags: Easy, Cryptography, picoCTF 2019
Challenge from: picoCTF 2019
Files: the_numbers.png
Hints:
1. The flag is in the format PICOCTF{}

Theory

According to the description, to get the flag I don't really know since the challenge information doesn't give us anything to work with, so let's just go and see that image.

Solution

First, download the image and see what it has:

We can copy down all the numbers and get what each letter is, manually, so basically counting for 1 is A 2 is B, etc. But that is boring, if you wanna do it that way, go ahead. But the way I'm gonna do it, is basically just first take out the numbers of the image:

16 9 3 15 3 20 6 { 20 8 5 14 21 13 2 5 18 19 13 1 19 15 14 }

Then put them in a list:

>>> '16 9 3 15 3 20 6 20 8 5 14 21 13 2 5 18 19 13 1 19 15 14'.split(' ')
['16', '9', '3', '15', '3', '20', '6', '20', '8', '5', '14', '21', '13', '2', '5', '18', '19', '13', '1', '19', '15', '14']

After that, we'll do this python code to add 64 to each one, so that it corresponds to its letter in the ASCII table, and then put them all back in a string separated by a space to then convert it to text:

nums = ['16', '9', '3', '15', '3', '20', '6', '20', '8', '5', '14', '21', '13', '2', '5', '18', '19', '13', '1', '19', '15', '14']

all = ''

for i in nums:
  all += str( int(i) + 64 ) + ' '

print(all)

And from that code we get this:

C:\Users\shukularuni\Documents>python nums.py
80 73 67 79 67 84 70 84 72 69 78 85 77 66 69 82 83 77 65 83 79 78 

Now convert it to text and that should be it:

PICOCTFTHENUMBERSMASON

Now we can just put the curly parenthesis back in, and the flag format correctly, and we get this:

picoCTF{THENUMBERSMASON}

There we go! That's the flag.

I rated this level as "not good"! :(


https://play.picoctf.org/practice/challenge/68