Skip to content

Cifrado Cesar Tr


El comando que vamos a revisar y analizar que hace cifrado cesar de 13 caracteres hacia delante:

Terminal window
cat data.txt | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

Terminal window
cat data.txt

Muestra el contenido del archivo data.txt (lo envía al stdout).


Terminal window
| tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

El pipe (|) pasa ese texto al comando tr, que significa translate (traducir o sustituir caracteres).

La sintaxis:

Terminal window
tr 'caracteres_originales' 'caracteres_nuevos'

sustituye cada carácter del primer conjunto por el correspondiente del segundo.


[A-Za-z] → todas las letras del alfabeto (mayúsculas y minúsculas).

[N-ZA-Mn-za-m] → es el mismo alfabeto, pero rotado 13 posiciones.

Esto significa que cada letra se reemplaza por la letra que está 13 lugares después en el alfabeto.

A eso se le llama cifrado ROT13 (Rotation by 13 places).

Es decir de la N-Z es 13 posiciones, de la A-M, de la n-z y de la a-m, todas son 13 posiciones, continuación una imagen representativa:


Sí data.txt contiene:

Terminal window
Hola Mundo

El comando:

Terminal window
cat data.txt | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

producirá:

Terminal window
Uby nZhaqb

Y sí vuelves a aplicarlo una segunda vez, vuelve al texto original (porque ROT13 es su propio inverso).


Este comando aplica el cifrado ROT13 al texto del archivo data.txt, sustituyendo cada letra por la que está 13 posiciones más adelante en el alfabeto (y viceversa sí se aplica de nuevo).