Cifrado ADFGX
Use el cifrado ADFGX de la Primera Guerra Mundial, que convierte cada letra en un par de las etiquetas A, D, F, G y X y luego baraja las columnas: con las claves NAVAL y CARGO, ATTACKATONCE sale como DAFFAAXFXDXDDAFGAGAGDAXD. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- ATTACKATONCE
- Clave del cuadrado
- NAVAL
- Key
- CARGO
- Modo de cálculo
- Encrypt
- Resultado
- DAFFAAXFXDXDDAFGAGAGDAXD
- Longitud
- 24
- Letras asignadas
- 12
- Longitud fraccionada
- 24
Esta herramienta de cifrado ADFGX cifra o descifra texto con el esquema clásico alemán de la Primera Guerra Mundial, que combina un cuadrado de Polibio 5×5 con clave y una transposición columnar en segunda etapa. Usted aporta un mensaje, una palabra clave del cuadrado que rellena la cuadrícula de Polibio, una clave de transposición que ordena las columnas y un modo opcional. Al cifrar, cada letra latina se convierte en un dígrafo de las etiquetas A, D, F, G y X; esos símbolos se reordenan luego bajo la palabra de transposición. Al descifrar se deshace primero el orden de columnas y después se mapean los dígrafos de vuelta por el mismo cuadrado, de modo que un par de claves conocido restaura las letras originales. I y J comparten una celda, las no letras se omiten al cifrar y solo se leen símbolos ADFGX al descifrar, según convenciones habituales de manuales y CTF.
Qué es el cifrado ADFGX y qué devuelve esta herramienta
ADFGX es un cifrado de campo clásico que fracciona cada letra mediante un cuadrado de Polibio 5×5 cuyas filas y columnas se etiquetan con las letras amigables con Morse A, D, F, G y X en lugar de los dígitos del uno al cinco. El cuadrado lleva clave: las letras únicas de la palabra del cuadrado se escriben primero en orden de aparición y el resto del alfabeto completa la cuadrícula, forzando a I y J a una sola celda compartida de modo que veinticinco huecos cubren A–Z.
El cifrado sustituye cada letra latina por el dígrafo de dos etiquetas de su fila y columna, produciendo un flujo solo de símbolos ADFGX cuya longitud es el doble del número de letras. Ese flujo se escribe luego por filas en una cuadrícula de ancho igual a la longitud de la clave de transposición y se lee columna a columna en el orden que resulta de ordenar los caracteres de la clave, resolviendo empates por el índice de izquierda a derecha cuando las letras se repiten.
El descifrado invierte el diseño con las mismas alturas de columna derivadas de la longitud total y el ancho de la clave, empareja el flujo de dígrafos recuperado y busca cada par en el cuadrado. Esta página aplica siempre ese contrato fijo y nunca cambia en silencio a ADFGVX, Bífido, Polibio puro ni un cifrado solo de transposición.
Dónde resulta útil en clases y acertijos
Desarrolladores y docentes encuentran el cifrado ADFGX en calentamientos de capture-the-flag, capítulos de manual sobre criptografía de campo de la Primera Guerra Mundial y demos que muestran por qué la fraccionación más la transposición elevó el listón frente a la sustitución simple, aunque el esquema no sea seguro frente al criptoanálisis moderno. Los equipos de frontend pueden reordenar frases de ejemplo para capturas sin inventar un alfabeto propio y recuperarlas con decrypt bajo las mismas claves de cuadrado y transposición.
Los servicios backend codifican cadenas cortas de reto para APIs de puzzles o sandboxes didácticos donde el alumnado debe reconstruir el cuadrado y la cuadrícula para el siguiente paso. Los ingenieros de calidad generan pares deterministas de cifrado y descifrado para pruebas de contrato, de modo que un middleware que diga soportar ADFGX no pueda cambiar en silencio a fraccionación Bífida, omitir la etapa de transposición o forzar etiquetas numéricas en lugar de A D F G X.
Los organizadores de concursos precomputan claves de respuesta para frases modestas en inglés sin confiar en juguetes web opacos que fuerzan salida solo en mayúsculas o insertan relleno que usted no pidió. Las herramientas de producto y educación usan la transformación cuando un aprendiz pega texto cifrado y la interfaz debe mostrar el plano recuperado bajo las palabras documentadas.
Combínelo con otros helpers clásicos de codificación al montar un pequeño laboratorio de herramientas de texto gratuitas y deterministas, y nunca trate ADFGX como sustituto del cifrado autenticado moderno como AES-GCM para secretos reales.
Qué puede hacer con ella
Práctica de CTF y cifrados clásicos
Cifre y descifre mensajes ADFGX con palabras de cuadrado y de transposición para puzzles, aulas y calentamientos de capture-the-flag.
Lecciones de historia de la criptografía
Demuestre la fraccionación ADFGX de la WWI con etiquetas A/D/F/G/X, fusión I/J y transposición columnar sin relleno forzado.
Preguntas frecuentes
¿Cuánto cuesta la herramienta de cifrado ADFGX?
Es gratuita en su navegador en esta página.
¿Cómo descifro un texto cifrado ADFGX?
El cifrado es el valor por omisión si omite mode.
¿En qué se diferencia ADFGX del Polibio simple o de la transposición columnar?
ADFGX fracciona las letras en dígrafos A/D/F/G/X con un cuadrado con clave y luego aplica una transposición columnar con una segunda palabra. El Polibio simple se detiene en pares de dígitos (o etiquetas); la columnar sola solo reordena caracteres sin fraccionación.
¿Es seguro ADFGX para secretos reales?
No. Es un cifrado clásico de enseñanza de la Primera Guerra Mundial. Use cifrado autenticado moderno como AES-GCM para confidencialidad real.
¿Por qué la I y la J comparten casilla en el cuadrado ADFGX?
Porque un cuadrado de 5×5 solo tiene veinticinco casillas para veintiséis letras. La I y la J van juntas en una misma casilla para que la cuadrícula cubra todo el alfabeto, así que una J cifrada vuelve como I al descifrar.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/adfgx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"ATTACKATONCE","square_key":"NAVAL","key":"CARGO"}'const res = await fetch("https://api.kit.forhosting.com/enc/adfgx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "ATTACKATONCE",
"square_key": "NAVAL",
"key": "CARGO"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/adfgx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "ATTACKATONCE",
"square_key": "NAVAL",
"key": "CARGO"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/adfgx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"ATTACKATONCE","square_key":"NAVAL","key":"CARGO"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"ATTACKATONCE","square_key":"NAVAL","key":"CARGO"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/adfgx", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "ATTACKATONCE",
"square_key": "NAVAL",
"key": "CARGO"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.adfgx",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Úselo gratis en el navegador para lecciones de historia de la criptografía, diseño de puzzles y demos de laboratorio reversibles, o invoque la API a $0.002 por solicitud correcta cuando sus pipelines necesiten transformaciones ADFGX reproducibles sin reimplementar la fraccionación y el empaquetado de la cuadrícula.
Qué es el cifrado ADFGX y qué devuelve esta herramienta
La respuesta JSON incluye result para el texto cifrado o el plano recuperado, mode en encrypt o decrypt, square_key y key que repiten las palabras que usted aportó, letters_mapped y fractionated_length para la etapa de dígrafos, key_length y column_order para la transposición, alphabet con el relleno de veinticinco letras del cuadrado, labels fijo a ADFGX, cipher fijo a adfgx y una cadena formula que reexpresa el contrato de dos etapas para documentación y pruebas. No hay ruta de streaming ni un fallback silencioso a Vigenère o AES moderno: o bien aporta texto y ambas claves bajo las reglas documentadas, o la solicitud falla con invalid_input. Si solo necesita un mapa de dígitos de Polibio, solo un reordenamiento columnar o cifrado autenticado moderno, use esos endpoints dedicados; esta landing responde al flujo combinado ADFGX que ya describen los capítulos de historia criptográfica y los calentamientos de CTF.
Cómo se leen text, square_key, key y mode y por qué el resultado es reproducible
El orden de columnas se calcula una sola vez desde la clave de transposición y la misma fórmula de alturas se usa al cifrar y al descifrar, de modo que un ida y vuelta restaura siempre las letras originales de cualquier mensaje con letras latinas bajo esas dos palabras clave. Los campos preferidos del payload son text para el mensaje, square_key para la palabra del Polibio, key para la palabra de transposición y mode opcional para cifrar o descifrar. Text admite alias como input, value, s, message, plaintext y ciphertext para que formularios y clientes SDK reutilicen nombres de columna sin renombrar cada llamada. Square_key admite square_keyword, polybius_key y square; debe contener al menos una letra latina tras normalizar mayúsculas, o el motor lanza invalid_input con un mensaje claro de square_key vacío. Key admite transposition_key, keyword, k, password y passphrase; la cadena no vacía completa define las columnas, incluidos dígitos y símbolos si los incluye, porque el orden usa comparación de caracteres con letras latinas ordenadas sin distinguir mayúsculas y empates estables por índice izquierdo en repeticiones. Una clave de transposición vacía se rechaza con invalid_input. Mode por omisión es encrypt y también acepta alias cortos como enc, encode, e para cifrar y dec, decode, d para descifrar; cualquier otra cadena falla la validación. Texto ausente, claves ausentes, tipos no cadena, plano sin letras al cifrar, cifrado sin símbolos ADFGX y flujos de dígrafos de longitud impar tras deshacer la transposición lanzan invalid_input para que un formulario en blanco no parezca un no-op exitoso. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite la misma transformación ADFGX dentro de un pipeline automatizado sin reimplementar la fraccionación de dígrafos. Las entradas inválidas devuelven invalid_input y no se cobran, lo que mantiene barata la validación mientras las transformaciones correctas tienen un precio fijo por ítem de $0.002.
Dónde encaja ADFGX en clases, puzzles y fixtures de prueba
En esta página el trabajo se ejecuta por completo en su navegador; a través de la API cada consulta correcta cuesta $0.002, la validación fallida no se cobra y no se almacena nada tras la respuesta. Esa división — exploración interactiva gratuita y una API idéntica de pago — encaja con el resto del catálogo KIT de nivel A y le permite pasar de una demo de aula a un pipeline automatizado sin cambiar el texto cifrado.
Casos de integración
Fixtures deterministas de CI
Genere pares reproducibles de cifrado y plano ADFGX para pruebas unitarias, ficheros golden y comprobaciones de contrato.
Preguntas técnicas
¿Qué ocurre si square_key está vacío?
La solicitud falla con invalid_input. La palabra del cuadrado de Polibio debe contener al menos una letra latina A–Z para que el motor rellene una cuadrícula 5×5.