Encriptador Affine Cipher (Cifrado Afín)
Cifra y descifra mensajes con Cifrado Afín E(x) = (ax + b) mod m. Verifica coprimalidad euclidiana, calcula inversos modulares y desglosa pasos.
Respuesta Rápida: ¿Qué es Encriptador Affine Cipher (Cifrado Afín)?
¿Qué hace esta herramienta? Cifra y descifra mensajes con Cifrado Afín E(x) = (ax + b) mod m. Verifica coprimalidad euclidiana, calcula inversos modulares y desglosa pasos.
- Paso 1: Introduce o ajusta el campo Texto de Entrada.
- Paso 2: Introduce o ajusta el campo Operación.
- Paso 3: Introduce o ajusta el campo Alfabeto (m).
- Paso 4: Introduce o ajusta el campo Clave Multiplicativa (a).
- Paso 5: Introduce o ajusta el campo Clave Aditiva (b).
- Paso 6: Haz clic en Procesar Cifrado Afín para obtener el desglose y resultados inmediatos.
Para obtener resultados óptimos, asegúrate de ingresar los valores en las unidades correspondientes.
- ¿Qué es el Cifrado Afín (Affine Cipher)?
- Fórmulas Matemáticas de Cifrado y Descifrado Modular
- El Requisito de Coprimalidad y el Algoritmo de Euclides Extendido
- Espacio de Claves por Alfabeto y la Función $\phi$ de Euler
- Ejemplo Práctico Paso a Paso
- Criptoanálisis y Seguridad del Cifrado Afín
- Herramientas Relacionadas en porcentaje.net
- Preguntas Frecuentes (FAQ)
- Conclusión
¿Qué es el Cifrado Afín (Affine Cipher)?
El cifrado afín (o Affine Cipher en la literatura criptográfica internacional) es un sistema clásico de cifrado por sustitución monoalfabética que combina dos operaciones fundamentales de la aritmética modular: una transformación multiplicativa mediante una clave $a$ y una transformación aditiva (o desplazamiento de tipo César) mediante una clave $b$. Cada letra o símbolo del alfabeto de tamaño $m$ se asigna a su correspondiente índice numérico entero en el intervalo $[0, m-1]$ y se proyecta matemáticamente en un nuevo carácter cifrado.
A diferencia de los cifrados de desplazamiento puro —que cuentan con apenas 25 claves útiles en un alfabeto estándar—, el cifrado afín expande significativamente el espacio de claves al introducir la multiplicación modular. Sin embargo, para que el cifrado sea matemáticamente válido y reversible (es decir, para que exista un descifrado determinista sin ambigüedades), la clave multiplicativa $a$ debe ser estrictamente coprima con el tamaño del alfabeto $m$, lo que significa que su máximo común divisor debe ser igual a uno: $\gcd(a, m) = 1$.
El encriptador y descifrador de porcentaje.net proporciona un entorno interactivo de nivel profesional: valida la coprimalidad en tiempo real, calcula el inverso multiplicativo modular mediante el Algoritmo de Euclides Extendido, ofrece compatibilidad con alfabetos en español (27 letras incluyendo la Ñ), inglés (26 letras) y ASCII imprimible (95 caracteres), y desglosa el paso a paso algebraico con tablas de sustitución directas.
Fórmulas Matemáticas de Cifrado y Descifrado Modular
Sea un alfabeto de longitud finita $m$, y sean dos claves enteras $(a, b)$ tales que $1 \le a < m$, $0 \le b < m$ y $\gcd(a, m) = 1$. Cada carácter con índice $x$ se cifra según la función afín:
$E(x) = (a \cdot x + b) \pmod m$
Para recuperar el texto original a partir del carácter cifrado con índice $y = E(x)$, debemos despejar $x$. En aritmética modular, no se puede dividir simplemente entre $a$; en su lugar, se multiplica por el inverso multiplicativo modular de $a$ (denotado como $a^{-1}$):
$D(y) = a^{-1} \cdot (y - b) \pmod m$
El inverso modular $a^{-1}$ es el único número entero en el rango $[1, m-1]$ que satisface la congruencia fundamental:
El Requisito de Coprimalidad y el Algoritmo de Euclides Extendido
¿Por qué es indispensable que $\gcd(a, m) = 1$? Si $a$ y $m$ compartieran un divisor común mayor que 1 (por ejemplo, si en un alfabeto de 26 letras elegimos $a = 4$ o $a = 13$), la función de cifrado dejaría de ser una biyección (uno a uno). Múltiples letras distintas en claro se mapearían al mismo carácter cifrado idéntico, haciendo imposible reconstruir el mensaje original.
Para calcular de manera inmediata el inverso $a^{-1}$, nuestro encriptador ejecuta el Algoritmo de Euclides Extendido, el cual resuelve la Identidad de Bézout encontrando coeficientes enteros $x$ e $y$ tales que:
Tomando módulo $m$: $a \cdot x \equiv 1 \pmod m \implies a^{-1} = (x \pmod m + m) \pmod m$
Espacio de Claves por Alfabeto y la Función $\phi$ de Euler
El número de claves válidas en el cifrado afín está determinado por la Función Totiente de Euler $\phi(m)$ multiplicada por el número de desplazamientos posibles $m$:
| Alfabeto | Tamaño ($m$) | Valores Válidos de $a$ ($\phi(m)$) | Valores Válidos de $b$ | Espacio Total de Claves |
|---|---|---|---|---|
| Inglés Estándar | 26 ($2 \times 13$) | $\phi(26) = 12$ {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25} | 26 ($0 \le b \le 25$) | $12 \times 26 = 312$ claves |
| Español con Ñ | 27 ($3^3$) | $\phi(27) = 18$ {1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20, 22, 23, 25, 26} | 27 ($0 \le b \le 26$) | $18 \times 27 = 486$ claves |
| ASCII Imprimible | 95 ($5 \times 19$) | $\phi(95) = 72$ | 95 ($0 \le b \le 94$) | $72 \times 95 = 6.840$ claves |
Ejemplo Práctico Paso a Paso
Cifremos la palabra «HOLA» en el alfabeto en inglés ($m=26$) con la clave $a = 5$ y $b = 8$:
- Conversión de Letras a Números:
$H \to 7, \quad O \to 14, \quad L \to 11, \quad A \to 0$. - Aplicación de la Fórmula $E(x) = (5x + 8) \pmod{26}$:
Para $H (7)$: $(5 \times 7 + 8) \pmod{26} = 43 \pmod{26} = 17 \to \mathbf{R}$.
Para $O (14)$: $(5 \times 14 + 8) \pmod{26} = 78 \pmod{26} = 0 \to \mathbf{A}$.
Para $L (11)$: $(5 \times 11 + 8) \pmod{26} = 63 \pmod{26} = 11 \to \mathbf{L}$.
Para $A (0)$: $(5 \times 0 + 8) \pmod{26} = 8 \pmod{26} = 8 \to \mathbf{I}$. - Resultado Cifrado: «HOLA» se transforma en «RALI».
- Descifrado: El inverso modular de $5 \pmod{26}$ es $a^{-1} = 21$ (porque $5 \times 21 = 105 \equiv 1 \pmod{26}$).
Para $R (17)$: $21 \times (17 - 8) \pmod{26} = 21 \times 9 \pmod{26} = 189 \pmod{26} = 7 \to \mathbf{H}$. Se recupera exactamente la palabra original.
Criptoanálisis y Seguridad del Cifrado Afín
Aunque el cifrado afín es históricamente relevante y posee un valor pedagógico inestimable para comprender los grupos algebraicos y la teoría de congruencias, no es seguro ante el criptoanálisis moderno:
- Vulnerabilidad al Análisis de Frecuencia: Al ser un cifrado monoalfabético, preserva la firma de frecuencia del idioma original. En español, la letra 'E' y la 'A' seguirán siendo las más frecuentes en el criptograma.
- Ataque de Texto en Claro Conocido (Known-Plaintext Attack): Conocer tan solo dos letras en claro y sus correspondientes letras cifradas permite plantear un sistema de dos ecuaciones lineales con dos incógnitas módulo $m$ para despejar $a$ y $b$ de manera inmediata.
- Fuerza Bruta Inmediata: Con solo 312 o 486 combinaciones posibles de claves en lenguajes naturales, cualquier ordenador actual puede probar todas las alternativas posibles en menos de un milisegundo.
Herramientas Relacionadas en porcentaje.net
Explora otros métodos clásicos y modernos de codificación y cifrado:
- Para un cifrado simétrico que rota automáticamente los 94 caracteres imprimibles, prueba el encriptador ROT47 online.
- Para el cifrado clásico aditivo por desplazamiento, consulta el cifrado César online.
- Para calcular funciones criptográficas unidireccionales, utiliza el generador Hash SHA-256 o el generador Hash MD5.
- Para análisis combinatorio y plantillas de texto rotatorio, visita el generador de combinaciones Spintax.
Preguntas Frecuentes (FAQ)
¿Qué sucede si introduzco un valor de 'a' que no es coprimo con 'm'?
La herramienta detectará de inmediato el conflicto mostrando un indicador en rojo con el valor del máximo común divisor ($\gcd(a,m) > 1$), deshabilitará la salida corrupta y te sugerirá valores de 'a' coprimos válidos con un solo clic.
¿Por qué el alfabeto en español tiene 27 letras y no 26?
El alfabeto oficial de la Real Academia Española incluye la letra Ñ, situada entre la N y la O. Nuestro encriptador la integra con índice numérico propio (índice 14), lo que hace que $m=27$ y amplía el espacio de claves a 486 combinaciones.
¿Qué representa el inverso modular $a^{-1}$?
Es el número entero que cancela la multiplicación por $a$ en el reloj modular. Por ejemplo, en módulo 26, el inverso de 3 es 9 porque $3 \times 9 = 27 = 26 \times 1 + 1 \equiv 1 \pmod{26}$.
¿El cifrado afín altera las letras mayúsculas y minúsculas?
Nuestra herramienta respeta el estilo original: cifra las mayúsculas en mayúsculas y las minúsculas en minúsculas. Los caracteres no alfabéticos (como signos de puntuación en los modos de español e inglés) se preservan intactos.
¿Cómo puedo descifrar un texto si ya tengo las claves $a$ y $b$?
Cambia el selector de modo a «Descifrar», introduce los valores de $a$ y $b$ con los que se encriptó el mensaje, pega el criptograma en el campo de texto y el sistema aplicará automáticamente la fórmula inversa $D(y) = a^{-1}(y - b) \pmod m$.
Conclusión
El encriptador Affine Cipher de porcentaje.net es la herramienta matemática y criptográfica definitiva para estudiantes, educadores y entusiastas de la seguridad informática. Comprende en profundidad los principios de la aritmética modular y la sustitución algebraica con una interfaz moderna, precisa y educativa.
Categorías Recomendadas
Herramientas Relacionadas
Otras calculadoras de Herramientas de Texto que te pueden interesar.
Decodificador Rail Fence Cipher
Descifra mensajes encriptados con el cifrado Rail Fence. Especifica rieles y desfase, o ejecuta...
Ver herramienta Herramientas de TextoEncriptador ROT47 Online
Cifra y descifra texto al instante con ROT47 sobre 94 caracteres ASCII imprimibles (letras, nú...
Ver herramienta Herramientas de TextoSimulador Máquina Enigma de Texto
Simulador electromecánico de la máquina Enigma militar alemana (M3 y Wehrmacht). Configura ro...
Ver herramienta Herramientas de TextoReemplazador Regex Online para Texto
Reemplaza y transforma texto masivo utilizando expresiones regulares y grupos de captura ($1, $...
Ver herramienta Herramientas de TextoFiltrar Combos por Dominio de Email
Filtra combos email:password por proveedor de correo o dominio (Gmail, Hotmail, Yahoo, dominios...
Ver herramienta Herramientas de TextoSanitizador de Entradas de Texto
Depura texto de formularios y APIs: elimina etiquetas HTML, caracteres de control, espacios inv...
Ver herramienta Herramientas de TextoAgregar Número de Línea a Texto
Numera las líneas de tu texto o lista automáticamente. Admite numeración tradicional, con ce...
Ver herramienta Herramientas de TextoTraductor de Alfabeto Fonético NATO (y Código Morse)
Traduce cualquier texto o palabra al alfabeto fonético de la OTAN (Alfa, Bravo, Charlie) o Có...
Ver herramienta Herramientas de TextoGenerador de Intersección de Listas de Texto
Calcula la intersección matemática exacta entre dos listas. Encuentra elementos duplicados o ...
Ver herramienta Herramientas de TextoCompresor de Texto Online
Comprime texto, JSON o código fuente online con algoritmos Deflate, Gzip y LZW en Base64 o Hex...
Ver herramienta Herramientas de TextoEscapador de Cadenas JavaScript
Escapa cadenas de texto para incrustarlas de forma segura en código JavaScript, TypeScript o s...
Ver herramienta Herramientas de TextoGenerador de Resumen por Extracción
Genera resúmenes extractivos de textos extensos en español online con TextRank y TF-IDF. Extr...
Ver herramienta Herramientas de TextoLimpiador de Correos Desechables y Temporales
Audita listas de correo y elimina emails temporales y desechables (Mailinator, 10minutemail, Yo...
Ver herramienta Herramientas de TextoConvertidor de YAML a JSON
Convierte archivos y fragmentos YAML a formato JSON al instante. Soporta multi-documentos (---)...
Ver herramienta Herramientas de TextoConvertidor de UTF-16 a UTF-8
Convierte archivos y texto UTF-16 (Little-Endian y Big-Endian) a UTF-8. Soporte para pares sust...
Ver herramienta Herramientas de TextoRecortador de Texto por Número de Caracteres
Recorta textos exactamente al límite de caracteres deseado. Corte estricto o respetando palabr...
Ver herramienta Herramientas de TextoEliminar Espacios en Blanco
Eliminar espacios en blanco de un texto online de forma rápida, cómoda y gratuita. Remueve to...
Ver herramienta Herramientas de TextoDecodificador de Token JWT Online
Decodifica y depura tokens JWT de forma 100% privada en tu navegador. Visualización coloreada ...
Ver herramienta Herramientas de TextoGenerador de Lorem Ipsum en Español
Genera texto de relleno en español auténtico con tildes (á, é, í, ó, ú), letra eñe (ñ)...
Ver herramienta Herramientas de TextoIdentificador de Codificación de Archivo de Texto
Identifica la codificación y juego de caracteres de cualquier archivo de texto (UTF-8, UTF-16 ...
Ver herramienta Herramientas de TextoConvertidor de texto a formato de oración
Convierte tu texto a formato de oración: mayúscula solo al inicio de cada frase, el resto en ...
Ver herramienta Herramientas de TextoConvertidor de Texto a Hash SHA1
Genera el hash SHA-1 de 40 dígitos hexadecimales para cualquier texto, commit de Git o clave H...
Ver herramienta