**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]]