ForHosting KIT · Utilidades de desarrollo

Chaocipher

Cifre WELLDONEISBETTERTHANWELLSAID con los discos iniciales clásicos de Byrne y obtendrá OAHQHCNYNXTSZJRRHJBYHQKSOUJY: los dos alfabetos se reordenan tras cada letra, así que cada una se cifra con una correspondencia distinta. Los mismos discos lo descifran. 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
WELLDONEISBETTERTHANWELLSAID
Izquierda
HXUCZVAMDSLKPEFJRIGTWOBNYQ
Derecha
PTLNBQDEOYSFAVZKGJRIHWXUMC
Modo de cálculo
Encrypt
Obtiene
Resultado
OAHQHCNYNXTSZJRRHJBYHQKSOUJY
Entrada
WELLDONEISBETTERTHANWELLSAID
Normalizado
WELLDONEISBETTERTHANWELLSAID
Texto
OAHQHCNYNXTSZJRRHJBYHQKSOUJY

Chaocipher es la máquina polialfabética clásica inventada por John F. Byrne en 1918 y mantenida en secreto durante décadas hasta que el algoritmo completo se publicó en 2010. A diferencia de una tabla fija de César o Vigenère, conserva dos alfabetos circulares —el disco izquierdo para el texto cifrado y el derecho para el texto claro— y tras cada letra ambos discos se reordenan con una permutación estricta de cenit y nadir. Usted aporta los alfabetos iniciales izquierdo y derecho como permutaciones completas de 26 letras A–Z, el texto a proteger o recuperar y un modo encrypt o decrypt. El solver localiza cada letra en un disco, lee la letra alineada en el otro y luego rota y desliza ambos alfabetos para que el siguiente mapeo sea completamente distinto.

Cómo funcionan los dos alfabetos y las reglas cenit–nadir

El cifrado Chaocipher trata el alfabeto derecho como disco de texto claro y el izquierdo como disco de texto cifrado. Para cada letra del texto claro usted la localiza en el alfabeto derecho actual y lee la letra del mismo índice en el alfabeto izquierdo; ese es el símbolo cifrado de este paso. De inmediato ambos alfabetos se permutan con el procedimiento de cenit estacionario del modelo de Byrne documentado por Moshe Rubin.

En el disco izquierdo la letra cifrada recién usada se rota al cenit (primera posición), se extrae la letra en cenit más uno, el bloque desde cenit más dos hasta el nadir (posición catorce, índice base cero trece) se desplaza un lugar hacia el cenit, y la letra extraída se reinserta en el nadir.

En el disco derecho la letra del texto claro se rota al cenit, todo el alfabeto rota un paso más para que la siguiente letra quede en el cenit, se extrae la letra en cenit más dos, el bloque desde cenit más tres hasta el nadir se desplaza a la izquierda y la letra extraída cae en el nadir.

El descifrado usa la búsqueda inversa —encuentre la letra cifrada en el disco izquierdo y lea la letra del mismo índice a la derecha— y aplica exactamente las mismas dos permutaciones para que el estado de la máquina se mantenga sincronizado.

Como cada paso depende de la letra anterior, un cambio de una sola letra al inicio del mensaje se propaga por ambos alfabetos y destruye las rachas largas de estructura monoalfabética, por eso el análisis clásico de frecuencias falla en tráfico Chaocipher largo cuando se desconocen los discos de partida.

Write-ups de CTF y puzzles

Los autores de retos verifican los pasos de cifrado y descifrado Chaocipher para discos de partida publicados sin mantener un script offline aparte.

¿Qué es Chaocipher?

Un cifrado polialfabético clásico de John F. Byrne (1918). Dos alfabetos alinean cada letra y ambos permutan tras cada carácter, de modo que la sustitución nunca permanece fija.

¿Qué son los alfabetos izquierdo y derecho?

El disco izquierdo aporta las letras del texto cifrado; el derecho conserva las del texto claro. Cada uno debe ser una permutación completa de A–Z (26 letras únicas). Son la clave secreta de la máquina.

¿Qué ocurre si un alfabeto está mal formado?

Longitud incorrecta, letras duplicadas, símbolos A–Z ausentes o caracteres no alfabéticos en la cadena del disco se rechazan con un mensaje claro.

¿Es gratuito Chaocipher?

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

¿Qué pasa con los espacios, la puntuación y las minúsculas?

El texto se pasa a mayúsculas de la A a la Z y se eliminan espacios y signos antes de cifrar. Un texto sin ninguna letra se rechaza, porque no habría nada que procesar.

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/chaocipher

¿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/chaocipher \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"WELLDONEISBETTERTHANWELLSAID","left":"HXUCZVAMDSLKPEFJRIGTWOBNYQ","right":"PTLNBQDEOYSFAVZKGJRIHWXUMC"}'
{
  "text": "WELLDONEISBETTERTHANWELLSAID",
  "left": "HXUCZVAMDSLKPEFJRIGTWOBNYQ",
  "right": "PTLNBQDEOYSFAVZKGJRIHWXUMC"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.chaocipher",
  "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.

Los alfabetos mal formados —longitud incorrecta, letras duplicadas, símbolos A–Z ausentes o basura no alfabética— se rechazan con un error invalid_input claro en lugar de producir basura en silencio. El camino es aritmética de letras puramente determinista, sin llamadas de red, sin semillas aleatorias y sin dependencia del reloj, de modo que el ejecutor gratuito del navegador y la API prepaga devuelven el mismo JSON cada vez para laboratorios, write-ups de CTF o demos históricas de cripto.

Cómo invocar la API y qué devuelve

El text se normaliza solo a A–Z en mayúsculas; se eliminan espacios y puntuación, y una carga sin letras se rechaza. Envíe un cuerpo JSON con tres campos de cadena obligatorios —text, left y right— más un mode opcional que por defecto es encrypt si se omite. Los alias aceptados para text incluyen input, value, data, message, plaintext y ciphertext; left también acepta left_alphabet, left_disk, ct_alphabet y cipher_alphabet; right acepta right_alphabet, right_disk, pt_alphabet y plain_alphabet; mode acepta operation, op, direction y action, y reconoce sinónimos habituales como encode o decode. Ambos alfabetos deben ser exactamente veintiséis letras A–Z únicas tras ignorar separadores opcionales; una cadena corta, una racha de duplicados, una letra ausente o un dígito dentro de la cadena del disco es invalid_input y nunca se cobra. En éxito la respuesta repite el text original y los alfabetos left y right de partida, informa mode como encrypt o decrypt, normalized como el flujo solo de letras procesado, result y text como el cifrado o las letras recuperadas, length como el recuento de caracteres de salida, left_final y right_final como los alfabetos tras la última permutación, formula como una mnemotecnia breve de reglas y message como un resumen de una línea en inglés. El precio es un $0.002 fijo por petición exitosa con unidad item.

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

Use alfabetos de partida bien barajados en lugar de cadenas A–Z casi secuenciales para que las primeras permutaciones no dejen rachas alfabéticas largas junto al cenit. Esta página atiende a quienes buscan Chaocipher, cifrado Byrne o herramientas de alfabetos duales que evolucionan en línea; no es AES, no es una bóveda de contraseñas, no es Playfair y no es un simple César. Prefiera esta capacidad cuando necesite sustitución dinámica clásica transparente para educación o puzzles; si necesita secreto real, use un cifrado autenticado moderno. El par clásico de exhibición left HXUCZVAMDSLKPEFJRIGTWOBNYQ y right PTLNBQDEOYSFAVZKGJRIHWXUMC con texto WELLDONEISBETTERTHANWELLSAID es la autocomprobación estándar: el cifrado debe dar OAHQHCNYNXTSZJRRHJBYHQKSOUJY, y el descifrado de ese flujo con los mismos discos de partida debe recuperar la frase original. Las comprobaciones de ida y vuelta son la mejor prueba de cordura cuando inventa discos nuevos: cifre y luego descifre con las cadenas left y right originales, nunca con los alfabetos finales de una ejecución previa. Mantenga las cargas bajo el máximo publicado de cien mil caracteres para acotar la memoria del Worker. Al enseñar, combine tres ejemplos: una frase corta con los alfabetos de la exhibición Byrne, un descifrado de un cifrado publicado y un alfabeto deliberadamente mal formado para mostrar la ruta dura de invalid_input. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los clientes prueban alfabetos rotos.

Laboratorios de cifrado clásico en clase

Los estudiantes fijan a mano los alfabetos de la exhibición Byrne, cifran un lema corto y comparan el flujo de letras y los discos finales con el resultado determinista de la API.

Demos de cripto histórica

Museos y blogs demuestran cómo los alfabetos duales que evolucionan se diferencian de los cifrados monoalfabéticos fijos cifrando en vivo frases de visitantes con discos left y right compartidos.

¿Cómo se mantiene sincronizado el descifrado?

El descifrado busca la letra cifrada en el disco izquierdo y lee la letra del mismo índice en el derecho, y luego aplica las mismas permutaciones left y right usadas al cifrar.

Ver la documentación completa del KIT →