# Brutus Salvete! Welcome to the write-up for Brutus. This is a classic "cry" (cryptography) challenge that introduces one of the oldest and most famous encryption techniques: the Caesar Cipher. In this challenge, we are given a mysterious message and some python scripts. The goal is to decrypt the message to find the flag. --- ## 1. Initial Analysis We are presented with a short Latin phrase and a flag-like string. The phrase "Ultimum scriptum arcanum a Caesare ad Brutum" translates to "The last secret message from Caesar to Brutus." The explicit mention of Caesar is the primary clue here. In the context of cryptography challenges, this almost always points to the Caesar Cipher, one of the simplest and most well-known substitution ciphers. ## 2. Identifying the Shift A Caesar cipher works by shifting every letter in the alphabet by a fixed number of positions (the "key"). To solve it, we need to find that number. We can look at the structure of the ciphertext provided: {xdsy: Uswksj_Wl_Tjmlmk_Seaua_Xava} Most CTF challenges follow a standard flag format, such as {flag: ...} or flag{...}. It is highly probable that the ciphertext prefix {xdsy: corresponds to the plaintext {flag:. Let's compare the letters to calculate the shift: * x $\rightarrow$ f * d $\rightarrow$ l * s $\rightarrow$ a * y $\rightarrow$ g Let's check the distance between these letters in the alphabet: 1. x (24) to f (6): * To get from X to F, we wrap around the alphabet. * X $\rightarrow$ Y $\rightarrow$ Z $\rightarrow$ A $\rightarrow$ B $\rightarrow$ C $\rightarrow$ D $\rightarrow$ E $\rightarrow$ F * That is a shift of +8. 2. d (4) to l (12): * 4 + 8 = 12. * That is also a shift of +8. The pattern confirms that the decryption key is a Right Shift of 8 (ROT+8). (Note: This means the message was originally encrypted with a Left Shift of 8). ## 3. Decryption Now we apply a +8 shift to the rest of the ciphertext: Uswksj_Wl_Tjmlmk_Seaua_Xava * U (+8) $\rightarrow$ C * s (+8) $\rightarrow$ a * w (+8) $\rightarrow$ e * k (+8) $\rightarrow$ s * s (+8) $\rightarrow$ a * j (+8) $\rightarrow$ r * ...and so on. You can perform this manually or use an online tool like CyberChef (using "ROT13" with an amount of 8) or dcode.fr. Ciphertext: Uswksj_Wl_Tjmlmk_Seaua_Xava Plaintext: Caesar_Et_Brutus_Amici_Fidi ## 4. The Solution Combining the parts, we get the complete flag: {flag: Caesar_Et_Brutus_Amici_Fidi} ("Caesar and Brutus Faithful Friends" - a somewhat ironic flag given historical events!)