Description: Can you decrypt this message? Decrypt this message using this key “CYLAB”..
Difficulty: Medium
Author: Mubarak Mikail
Summary
This challenge is about Vigenère cipher, a classic polyalphabetic substitution cipher.
It can be solved either manually (tabula recta) or automatically using an online tool like Vignere cipher
The approach is quite similar to the one used in Easy1.
Analysis
We are given a file cipher.txt:
$ file cipher.txtcipher.txt: ASCII textIts contents are:
rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_2951c89f}At first glance, the text inside the braces looks like a flag, but the prefix rgnoDVD doesn’t match the standard picoCTF{} format.
This suggests that the flag string has been encrypted using the Vigenère cipher with the provided key “CYLAB”.
It’s important to note that only alphabetic characters are affected by the cipher, symbols, digits, and underscores remain unchanged.
Decryption Steps
Since the key and ciphertext lengths differ, the key must be repeated to align with the entire text.
Key: CYLABCYLABCYLABCYLABCYLABCYLABCYLABCYLABCYCipher: rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_2951c89f}We then decrypt only the alphabetic characters using the Vigenère decryption formula, leaving all non-letter characters as they are:
plaintext_letter = (ciphertext_index - key_index) mod 26Steps to Solve
- Align ciphertext and key.
- Convert each letter to its alphabet index (A=0 to Z=25).
- Subtract the key index from the ciphertext index (mod 26).
- Convert the result back to letters.
- Combine all results to get the plaintext message.
Alternatively, we can simplify the process by using an online Vigenère Cipher Decoder, which follows the same tabula recta decryption method.
The decrypted flag is .picoCTF{D0NT_US3_V1G3N3R3_C1PH3R_2951a89h}
⚡ Raikiri🎉 Flag pwned!

💡 TL;DR / Lesson LearnedThe Vigenère cipher encrypts letters by shifting them according to a repeating keyword.
Non-alphabetic characters (like {}, _, and digits) remain untouched.