ForHosting KIT · Utilidades de desarrollo

Cifrado ADFGVX

Cifre o descifre con el cifrado de campo alemán de seis por seis que admite letras y cifras: ATTACKAT1200, con la clave de cuadrado PRIVACY y la de transposición GERMAN, se convierte en GFVVVVVVAAAVGXGFGFGFGAGV. Con las mismas dos claves se recupera. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Texto
ATTACKAT1200
Clave del cuadrado
PRIVACY
Key
GERMAN
Modo de cálculo
Encrypt
Obtiene
Resultado
GFVVVVVVAAAVGXGFGFGFGAGV
Entrada
ATTACKAT1200
Cuadrícula de clave utilizada
PRIVACY
Normalizado
ATTACKAT1200

El cifrado ADFGVX es el cifrado de campo alemán de seis por seis que fraccionaba mensajes mediante un cuadrado tipo Polibio con clave y luego reordenaba el flujo de etiquetas con una segunda palabra de transposición. A diferencia de una simple sustitución o de una transposición columnar pura, ADFGVX combina ambas etapas de modo que cada letra o dígito del texto en claro se convierte en un par de etiquetas del conjunto A, D, F, G, V y X antes de escribirlas en una rejilla y leerlas en el orden de la clave. Esta capacidad acepta una palabra clave del cuadrado, una clave de transposición, el texto a proteger o recuperar y un modo de cifrar o descifrar.

Cómo funcionan el cuadrado 6×6 y el fraccionamiento

ADFGVX comienza convirtiendo la palabra clave del cuadrado en una matriz de seis por seis sobre los treinta y seis símbolos formados por las letras latinas de la A a la Z y los dígitos decimales del cero al nueve. Las letras y dígitos de la palabra clave del cuadrado se escriben de izquierda a derecha y de arriba abajo, omitiendo duplicados y pasando las letras a mayúsculas; los símbolos restantes del alfabeto y del conjunto de dígitos rellenan el resto de la rejilla en orden natural.

Las filas y columnas se etiquetan con las seis letras amigables con Morse A, D, F, G, V y X en lugar de los dígitos del uno al seis. Al cifrar, el texto en claro se reduce solo a alfanuméricos en mayúsculas y cada símbolo se sustituye por las dos etiquetas de su celda —etiqueta de fila primero, luego de columna—, produciendo un flujo continuo el doble de largo que el mensaje normalizado. Ese flujo fraccionado es la entrada de la segunda etapa.

Al descifrar, tras invertir la transposición, cada par consecutivo de etiquetas ADFGVX se busca en el mismo cuadrado para recuperar una letra o un dígito.

Consejos prácticos, límites y búsquedas relacionadas

Elija una palabra clave del cuadrado con varias letras distintas y dígitos opcionales para que la matriz no sea casi alfabética; las palabras cortas y memorables siguen valiendo para demostraciones, pero frases más largas con símbolos únicos mezclan mejor el cuadrado. Elija una clave de transposición con letras variadas para que el orden de columnas no sea la identidad de izquierda a derecha; se permiten letras repetidas y desempatan por posición.

Recuerde que espacios, puntuación y demás no alfanuméricos se eliminan antes del cifrado, de modo que los números de teléfono conservan sus dígitos pero pierden separadores, y las etiquetas mixtas pierden puntuación en el flujo de símbolos —segméntelos o codifíquelos aparte si los necesita después—. Para descifrar, proporcione un flujo de criptograma solo ADFGVX de longitud par tras la normalización; si una hoja impresa aún tiene espacios, el solucionador ignora los caracteres que no son etiquetas.

Las comprobaciones de ida y vuelta son la mejor prueba de cordura: cifre una frase que incluya dígitos, descifre el resultado con las mismas dos claves y compare con el texto alfanumérico normalizado. Esta página se dirige a quien busca un cifrado ADFGVX, un cifrador ADFGVX o una herramienta de transposición fraccionante de seis por seis en línea; no es AES, no es una caja fuerte moderna de contraseñas, no es Playfair, no es Polibio simple y no es solo transposición columnar.

Prefiera esta capacidad cuando necesite criptografía clásica ADFGVX transparente para educación o puzles; si necesita secreto real, use un cifrado autenticado moderno.

Write-ups de CTF y puzles

Los autores de retos verifican los pasos de cifrado y descifrado ADFGVX con claves de cuadrado y transposición publicadas sin mantener un script offline aparte.

Demostraciones de cripto histórica

Museos y demos de blog muestran cómo los cifrados fraccionantes de la Primera Guerra Mundial difieren de la sustitución monoalfabética cifrando en vivo frases de visitantes con horas o números de unidad.

¿Qué es el cifrado ADFGVX?

Un cifrado de campo alemán clásico: cada letra o dígito se mapea a un par de etiquetas A/D/F/G/V/X mediante un cuadrado 6×6 de clave; luego el flujo de etiquetas se reordena con una clave de transposición columnar.

¿Por qué seis etiquetas A, D, F, G, V, X?

Esas seis letras tienen patrones de código Morse distintos, lo que redujo errores de transmisión en campo cuando los operadores enviaban el criptograma fraccionado por telegrafía inalámbrica.

¿Qué ocurre si falta una clave o está vacía?

Tanto la palabra del cuadrado como la de transposición son obligatorias y no vacías (la del cuadrado necesita al menos un carácter A–Z o 0–9).

¿ADFGVX admite dígitos?

Sí. El cuadrado 6×6 aloja veintiséis letras y diez dígitos, de modo que mensajes como ATTACKAT1200 se pueden cifrar sin eliminar los dígitos de la hora.

¿El cifrado ADFGVX es gratis?

La herramienta del navegador es gratuita y se ejecuta en local.

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.

POSThttps://api.kit.forhosting.com/enc/adfgvx

¿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.

curl -X POST https://api.kit.forhosting.com/enc/adfgvx \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"ATTACKAT1200","square_key":"PRIVACY","key":"GERMAN"}'
{
  "text": "ATTACKAT1200",
  "square_key": "PRIVACY",
  "key": "GERMAN"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.adfgvx",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Informa de claves ausentes o vacías con un error invalid_input claro para que un formulario en blanco nunca produzca en silencio una transformación identidad sin sentido. El camino es aritmética de letras determinista y pura —sin red, sin semillas aleatorias, sin dependencia del reloj— de modo que el ejecutor gratuito del navegador y la API de prepago devuelven el mismo JSON, incluido el cuadrado, el flujo fraccionado y el orden de columnas, cada vez que usted la invoca para docencia, write-ups de CTF o ejercicios de cifrado histórico.

Cómo funcionan la clave de transposición, los campos de la API y la respuesta

Tras el fraccionamiento, el flujo de etiquetas se escribe por filas en una rejilla cuya anchura es la longitud de la clave de transposición. Las columnas se leen luego en el orden obtenido al ordenar los caracteres de la clave en orden Unicode, usando el índice original de izquierda a derecha como desempate estable cuando se repite la misma letra. El descifrado invierte ese paso: las etiquetas del criptograma rellenan las columnas en el orden de la clave según la altura de cada columna para la longitud del flujo, y la rejilla se lee de izquierda a derecha y de arriba abajo. El texto debe producir símbolos utilizables tras la normalización —letras o dígitos al cifrar, etiquetas ADFGVX al descifrar—. Envíe un cuerpo JSON con tres campos de cadena obligatorios —text, square_key y key— más un mode opcional que por omisión es encrypt si se omite. Los alias aceptados para text incluyen input, value, data, message, plaintext y ciphertext; square_key también acepta square_keyword, polybius_key, keyword y square; key acepta transposition_key, column_key, tkey y colkey; mode acepta operation, op, direction y action, y reconoce sinónimos habituales como encode o decode. Cualquier clave ausente o vacía es invalid_input y no se cobra. En caso de éxito la respuesta repite el texto y las claves originales, informa square_key_used como los símbolos distintos de la palabra del cuadrado en orden de relleno, mode como encrypt o decrypt, los flujos intermedios normalized y fractionated, result y text como las etiquetas del criptograma o los símbolos recuperados, square como las seis filas de seis celdas, labels como el conjunto fijo ADFGVX, column_order como la permutación de índices de columna, length y fractionated_length, formula como una regla mnemotécnica breve y message como un resumen en una línea. El precio es un fijo $0.002 por petición correcta con unidad item.

Consejos prácticos, límites y búsquedas relacionadas

Mantenga las cargas por debajo del máximo publicado de cien mil caracteres para acotar la memoria del Worker. Al enseñar, empareje ejemplos: una palabra clásica del cuadrado como PRIVACY con transposición GERMAN sobre un mensaje mixto muestra el fraccionamiento y el reorden de columnas; una demo corta CODE42 muestra celdas de dígitos; y una clave de transposición vacía demuestra la vía dura invalid_input que reporta la clave ausente. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los clientes prueban claves en blanco.

Laboratorios de cifrado clásico en el aula

Los estudiantes construyen a mano un cuadrado ADFGVX 6×6, fraccionan un mensaje corto mixto de letras y dígitos, aplican la clave de transposición y comparan etiquetas y flujo final con el resultado determinista de la API.

Ver la documentación completa del KIT →