# César / ROT13 - Cifrado por rotación

Herramienta educativa para cifrar y descifrar texto mediante el cifrado César, con soporte ROT13 y visualización interactiva del disco de cifrado.

## 📋 Descripción

Aplicación web que implementa el cifrado César clásico, permitiendo rotar las letras del alfabeto latino (A-Z) entre 1 y 25 posiciones. Ideal para aprender conceptos básicos de criptografía, realizar mensajes ocultos o experimentar con desplazamientos de caracteres.

## ✨ Características principales

### 🔐 Cifrado César
- **Rotación variable**: Desplazamiento de 1 a 25 posiciones
- **ROT13 rápido**: Botón para fijar rotación en 13 (el más popular)
- **Modo cifrar/descifrar**: Toggle que invierte la dirección de rotación
- **Solo letras A-Z**: Ñ, tildes, números y símbolos permanecen sin cambios

### 🎨 Interfaz visual
- **Disco de César interactivo**: Animación que muestra la rotación del alfabeto
- **Mapeo de letras**: Visualización de cada letra original → letra cifrada
- **Vista previa lado a lado**: Comparación entre texto original y cifrado
- **Letras coloreadas**: Cada letra mantiene su color según su posición original

### ♿ Accesibilidad integrada
- **Ajuste de fuente**: Aumenta o reduce tamaño de texto (70% - 200%)
- **Alto contraste**: Modo para mejorar visibilidad
- **Espaciado ampliado**: Facilita la lectura para personas con dislexia
- **Sin animaciones**: Opción para reducir movimiento
- **Persistencia**: Las preferencias se guardan automáticamente

### 📊 Herramientas adicionales
- **Contador de caracteres**: Límite de 500 caracteres con advertencia visual
- **Medidor de seguridad**: Evaluación educativa de la fortaleza del cifrado
- **Copiar resultados**: Botones para copiar texto original o cifrado
- **Persistencia local**: Guarda el último texto y rotación

## 🛠️ Tecnologías utilizadas

- HTML5 / CSS3
- JavaScript (ES6+)
- SVG para el disco de César animado
- LocalStorage para persistencia

## 📦 Estructura del proyecto

cesar-rot13/
├── cesar-rot13.html # Aplicación principal
├── README.md # Este archivo
└── LICENSE # Licencia EUPL


## 🚀 Uso

1. Abre `cesar-rot13.html` en cualquier navegador moderno
2. Escribe o pega el texto en el área de entrada (máx. 500 caracteres)
3. Ajusta la rotación con el slider o pulsa el botón **ROT13 Rápido**
4. Cambia entre **Cifrar** y **Descifrar** según necesites
5. Visualiza el resultado en tiempo real en el panel de vista previa
6. Copia los resultados con los botones correspondientes

### 💡 Ejemplos

| Texto original | Rotación | Texto cifrado |
|----------------|----------|---------------|
| HOLA MUNDO | 13 | UBYN ZHAQB |
| abc xyz | 3 | def abc |
| Hola, ¿cómo estás? | 5 | Mtqf, ¿htr jxyfx? |

## ⚠️ Notas importantes

- **Solo letras A-Z**: Caracteres como Ñ, á, é, í, ó, ú, números y símbolos permanecen igual
- **Espacios preservados**: La estructura del texto se mantiene
- **Cifrado simétrico**: Para ROT13, aplicar el mismo proceso dos veces recupera el original
- **Sin persistencia de modo**: El modo cifrar/descifrar no se guarda intencionalmente

## 📖 Conceptos educativos

El cifrado César es uno de los sistemas de cifrado más antiguos, utilizado por Julio César para comunicarse con sus generales. Consiste en desplazar cada letra un número fijo de posiciones en el alfabeto.

- **ROT13** es una variante específica con rotación 13, que tiene la propiedad de ser su propio inverso (aplicarlo dos veces devuelve el texto original).
- Este cifrado es **extremadamente débil** para seguridad real, pero excelente para aprendizaje y mensajes simples.

## 📄 Licencia

Este proyecto se distribuye bajo la **European Union Public License (EUPL) v1.2**.

Copyright © 2026 Jorge Nieto Ortiz

Consulta el texto completo de la licencia en: [https://joinup.ec.europa.eu/collection/eupl](https://joinup.ec.europa.eu/collection/eupl)

## 🔧 Requisitos del sistema

- Navegador con soporte para:
  - ES6+
  - localStorage
  - SVG

## 👨‍💻 Autor

**Jorge Nieto Ortiz**

---

*Herramienta educativa de cifrado César con enfoque en accesibilidad y visualización interactiva.*
