← Volver al listado de tecnologías
Bandit Nivel 11→12 - Cifrado ROT13
Bandit Nivel 11→12 - Cifrado ROT13
Objetivo
La contraseña en data.txt está cifrada con ROT13 (las letras están rotadas 13 posiciones).
Teoría: Cifrado ROT13
¿Qué es ROT13?
ROT13 es un cifrado de sustitución simple donde cada letra se reemplaza por la letra 13 posiciones después en el alfabeto.
Alfabeto: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ROT13: N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
Propiedad Especial
Como el alfabeto tiene 26 letras, aplicar ROT13 dos veces devuelve el texto original:
"Hola" → ROT13 → "Ubyn" → ROT13 → "Hola"
Usos Históricos
- Ocultar spoilers en foros
- Ofuscar texto en emails
- Puzzles y juegos
No es seguro - es trivial de descifrar.
El Comando tr
tr (translate) reemplaza caracteres:
echo "texto" | tr 'abc' 'xyz'
# Reemplaza a→x, b→y, c→z
Sintaxis para ROT13
tr 'A-Za-z' 'N-ZA-Mn-za-m'
Desglose:
A-Za-z- todas las letras (origen)N-ZA-M- mayúsculas rotadas 13n-za-m- minúsculas rotadas 13
Solución
cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
O:
tr 'A-Za-z' 'N-ZA-Mn-za-m' < data.txt
Usos Generales de tr
Cambiar a mayúsculas
echo "hola mundo" | tr 'a-z' 'A-Z'
# HOLA MUNDO
Eliminar caracteres
echo "hola123mundo" | tr -d '0-9'
# holamundo
Comprimir repetidos
echo "holaaa mundo" | tr -s 'a '
# hola mundo
Reemplazar caracteres
echo "archivo.txt" | tr '.' '_'
# archivo_txt
Opciones de tr
| Opción | Descripción |
|---|---|
-d | Eliminar caracteres |
-s | Comprimir repetidos |
-c | Complemento (todo excepto) |
# Eliminar todo excepto letras
echo "a1b2c3" | tr -cd 'a-z'
# abc
# Eliminar saltos de línea
cat archivo.txt | tr -d '\n'
Otros Cifrados de Sustitución
| Nombre | Rotación |
|---|---|
| ROT1 | 1 posición (Caesar) |
| ROT5 | 5 posiciones |
| ROT13 | 13 posiciones |
| ROT47 | Incluye números y símbolos |
ROT47
echo "Hola123" | tr '\!-~' 'P-~\!-O'
Herramientas Online
Para descifrar rápidamente:
Comandos Aprendidos
| Comando | Descripción |
|---|---|
tr 'ABC' 'XYZ' | Traducir caracteres |
tr -d 'abc' | Eliminar caracteres |
tr -s 'a' | Comprimir repetidos |
tr 'a-z' 'A-Z' | Rangos de caracteres |
Conexión al Siguiente Nivel
ssh [email protected] -p 2220