## Inroduction

Qiwi-Infosec - Crypto 100_1 cipher text need to be decoded to read the secret message .

## Description

We got a cipher text that was five lines long and consisted of underscores and numbers from 1 to 5.

## Chipher Text

The following cipher was given:

1 2 3 4 5 6 7 52112515_4535_331534 442315_321144422453_231143_543445 213431313452_442315_5223244415_411112122444 2533341325_2533341325_331534 442315_21311122_2443_442315_4423244214_31243315 

## Solution

By trying a lot of different decoders eventually found that this is a Polybius-Cipher , Using Cryptii Polybius square as web based decoding web or you can use pyhton script that i wrote

### Python decoding funcation

The original square according to Wikipedia is as follows:

12345
1abcde
2fghi/jk
3lmnop
4qrstu
5vwxyz

Each character is presented with two numbers. The first number shows the row and the second number shows the column of the character.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ciphers = ['52112515_4535_331534', '442315_321144422453_231143_543445', '213431313452_442315_5223244415_411112122444', '2533341325_2533341325_331534', '442315_21311122_2443_442315_4423244214_31243315'] matrix = [['a', 'b', 'c', 'd', 'e'], ['f', 'g', 'h', 'i', 'k'], ['l', 'm', 'n', 'o', 'p'], ['q', 'r', 's', 't', 'u'], ['v', 'w', 'x', 'y', 'z']] plain = [] for c in ciphers: words = c.split('_') for word in words: for num in range(0, len(word), 2): y = int(word[num]) x = int(word[num + 1]) plain.append(matrix[y - 1][x - 1]) plain.append('_') plain[len(plain) - 1] = '\n' print ''.join(plain) 

 Cypher Texg is

1 2 3 4 5 WAKE_UP_NEO THE_MATRIX_HAS_YOU FOLLOW_THE_WHITE_QABBIT KNOCK_KNOCK_NEO THE_FLAG_IS_THE_THIRD_LINE 

 Flag is Captured  » FOLLOW_THE_WHITE_QABBIT