**Level Information** > [!important] The password for the next level is stored in the file **data.txt**, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions. > > > > **Commands you may need to solve this level:** > > - grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd So there are a couple different ways I could tackle this. The easiest option is to use the `tr` command however, I wanted to use this as a learning opportunity to create a short python program for encoding and decoding `rot13`. Both options are shown below. --- ## Option 1: **[Tr Command](https://www.man7.org/linux/man-pages/man1/tr.1.html)** *"tr - translate or delete characters"* You may or may not be familiar with `ROT13` which is a cipher that rotates an alphabetic character by 13 places. There is a way to use the `tr` command to 'translate' each character for `data.txt` by ROT13 (13 positions in the alphabet). **Full Command:** ```Bash cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m' ``` ![[Level 11 - 12.png]] --- ## Option 2: Python Script This option will utilise a python script to decrypt the output from `data.txt`. You can see the python script `basic-caesar-cipher.py` on my GitHub [here](https://github.com/console-tornado/python-cipher/blob/main/basic-caesar-cipher.py). ![[Level 11 - 12-1.png]] Whilst searching through and writing this up, I actually discovered a python module, [codecs](https://docs.python.org/3/library/codecs.html) that does this in a much easier way. Using the `codecs` module allows for inbuilt encoding and decoding of `rot13` as well as other ciphers. This version is so much quicker and shorter and as such, I have added this version to my GitHub as well [here](https://github.com/console-tornado/python-cipher/blob/main/codec-caesar-cipher.py). ![[Level 11 - 12-2.png]] ![[Level 11 - 12-3.png]]