ROTate project



What is ROTate?

ROTate logoThe ROTate project is a collection of scripts to encrypt and decrypt files using various ROT cipher methods.


Further information about the project.

Python poweredThe ROTate project is written in Python and platform independent.

Due to the fact, that the project is intended for shell and scripting purposes, it does not come with a graphical user interface.

The name ROTate stands for ROT with Additional Tools and Enhancements.

The project allows to encrypt and decrypt files using various ROT cipher methods such as ROT13, ROT47, ROT128 as well as with enhanced variants based on each character set of these methods.

It also comes with a tool to find out which variant and value has been used to encrypt a file. 

Due to the fact, that data encrypted with ROT methods can be cracked quite easily, they are not suitable for encrypting sensible data.

If you need to encrypt data in a secure way, you may have a look at the Erfr project.


What the project consists of and what each component is for.

ROTate variants


This component encrypts or decrypts a file using the ROT13 cipher method.

It also allows using a user-defined rotation value (based on the character set of that cipher method) instead of the default rotation value.


A derivate of the ROTate ROT13 component, which uses the ROT47 cipher method instead.


Another derivate of the ROTate ROT13 component, that uses the ROT128 cipher method instead.


ROTate Cracker

As already mentioned above, data encrypted with ROT methods can be cracked quite easily. This brute force cracker helps to determine which ROT variant and rotation value has been used to encrypt a file or string by simply trying all supported variants with all rotation values available.


Stuff that is required to get ROTate running.

Software requirements:

  • Python framework (either of them, further information can be found here)
    • Python 2.x (version 2.7 or higher is recommended, may also work with earlier versions)
    • Python 3.x (version 3.2 or higher is recommended, may also work with earlier versions)


How to use ROTate.

The following usage example shows how to execute the Python script on the shell of a Unix-like system.

If you do not know, how to run Python scripts on your operating system, you may click here.

The project also comes with some help files which contain fundamental documentation as well as usage examples for each component of the project.

Usually, each script requires command-line arguments to operate. So, to get an overview of all arguments available, simply run the script with the --help argument. For example:

$ ./ --help
usage: -a {encrypt,decrypt} -i INPUT_FILE -o OUTPUT_FILE
                       [-b BUFFER_SIZE] [-h] [-v VALUE] [--version]

Encrypt or decrypt a file using ROT13 with the default rotation value or a
user-defined one (using the ROT13 character set).

required arguments:
  -a {encrypt,decrypt}, --action {encrypt,decrypt}
                        action to perform
  -i INPUT_FILE, --input-file INPUT_FILE
                        input file path
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        output file path

optional arguments:
  -b BUFFER_SIZE, --buffer-size BUFFER_SIZE
                        buffer size in bytes (default is 4096)
  -h, --help            print this help message and exit
  -v VALUE, --value VALUE
                        user-defined rotation value between 0 and 25 (default
                        is 13)
  --version             print the version number and exit

Further information and usage examples can be found inside the documentation
file for this script.


Download the project.

Below you can download the latest version of the project for different Python frameworks. Further information about these frameworks can be found here.



ROTate logo

Release date:


File size:

< 40 KB

Current state:


MIT License


Python 2.x
Python 3.x


tgz | zip
tgz | zip