Le chiffrement ROT13 (pour "ROTation 13") est un chiffrement de substitution de type monoalphabétique. C'est un cas particulier du chiffrement de César dans lequel chaque lettre du message en clair est remplacé par la lettre située 13 places plus loin dans l'alphabet. Tout comme le chiffrement de César, et tous les chiffrement monoalphabétiques, il n'offre strictement aucune sécurité tant il est facile de le casser.
Il est à noter que le chiffrement ROT13 est, tout comme le chiffrement XOR, un chiffrement commutatif, ou symétrique. Cela signifie qu'il suffit de réappliquer l'algorithme au texte chiffré pour retrouver le texte en clair. En effet, l'alphabet Latin étant composé de 26 lettres, un décalage de 13 lettres représente exactement sa moitié. Deux décalages successifs font alors réapparaître le texte en clair.
Le ROT13 est utilisé sur certains forums, et sur Usenet, pour obfusquer certaines phrases ou parties de phrases. Pour par exemple masquer un spoiler, ou discuter sans être facilement lu par tout le monde. Toutefois il faut bien comprendre qu'en aucun cas le ROT13 ne saurait être une protection suffisante pour chiffrer un message.
Le ROT13 est utilisé, de part sa particularité, pour des jeux de mots. Notamment il existe des mots qui une fois traduits en donnent d'autres. Par exemple 'abjurer' donne 'nowhere'.
Plusieurs variantes sont à dénombrer, le ROT13 ne chiffrant que les lettres, il existe le ROT5 qui lui permet de chiffrer les nombres (10 nombres, donc un décalage de 5). Utilisés en conjonction, on peut ainsi chiffrer les chiffres et les lettres. Cette variante particulière est connue sous le nom de ROT13.5.
Une autre variante plus complexe est le ROT47. Elle utilise comme table, non pas l'alphabet latin, mais la table de correspondance ASCII. Plus précisément le ROT47 utilise la table 7-bits ASCII, en partant de la décimale 33 (!) jusqu'à la décimale 126 (~), en excluant l'espace. Soit 94 caractères au total. Une fois divisé en deux, on retrouve notre ROT47. Il permet d'obfusquer de manière plus efficace les phrases, puisque de nombreux caractères non alphabétiques viennent pimenter un peu le chiffrement. Par exemple la phrase " Ceci est une phrase encryptee avec ROT47 ! " se traduit par " 464: 6DE F?6 A9C2D6 6?4CJAE66 2G64 C@Ecf P ". Il est du coup plus difficile de discerner quoique ce soit qu'avec le simple ROT13.