rotation

Published: April 26, 2023Updated: December 9, 2025

Description

A single text file contains an encrypted string; the challenge name hints at a Caesar/ROT-style cipher. Discover the shift that restores the flag.

Read the provided ciphertext (e.g., xqkwKBN{...}).

Use CyberChef or a local script to apply different ROT shifts until the plaintext forms picoCTF{...}.

wget https://artifacts.picoctf.net/c/354/encrypted.txt && cat encrypted.txt
python3 - <<'PY' from string import ascii_lowercase cipher="xqkwKBN{z0bib1wv_l3kzgxb3l_7l140864}" for shift in range(26): plain=[] for ch in cipher: if 'a' <= ch <= 'z': plain.append(chr((ord(ch)-97-shift)%26+97)) elif 'A' <= ch <= 'Z': plain.append(chr((ord(ch)-65-shift)%26+65)) else: plain.append(ch) print(shift, ''.join(plain)) PY

Solution

  1. Step 1Test rotations
    Shift the alphabet forward/backward until the output reads picoCTF. A shift of 18 decodes the message.
  2. Step 2Record the decoded flag
    Once the plaintext appears, copy the picoCTF string and submit it.

Flag

picoCTF{r0tat1o...d140864}

Any Caesar/ROT decoder works; the correct offset is 18.