WeChall - Training - Crypto - Caesar I

Challenge

A standard Caesar cipher with random shift per session. The plaintext is: "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG OF CAESAR AND YOUR UNIQUE SOLUTION IS XXXXXXXX"

Solution

Brute force all 26 shifts and look for "YOUR UNIQUE SOLUTION" in the decoded text.

1
2
3
4
5
6
7
8
9
10
11
12
13
ciphertext = "JXU GKYSA RHEMD VEN ZKCFI ELUH JXU BQPO TEW EV SQUIQH QDT OEKH KDYGKU IEBKJYED YI DFUWHHDUYVBF"

for shift in range(26):
result = ''
for c in ciphertext:
if c.isalpha():
base = ord('A')
result += chr((ord(c) - base - shift) % 26 + base)
else:
result += c
if "YOUR UNIQUE SOLUTION IS" in result:
solution = result.split("IS ")[-1].split()[0]
print(f"Solution: {solution}")

The last word after "IS" is the per-session solution.

You can also use CyberChef to decode the ciphertext:

1
2
ROT13_Brute_Force(true,true,false,100,0,true,'')
input: JXU GKYSA RHEMD VEN ZKCFI ELUH JXU BQPO TEW EV SQUIQH QDT OEKH KDYGKU IEBKJYED YI DFUWHHDUYVBF
NPEGRRNEIFLP