Cifrado Trifid
Con la clave KEYWORD y período 5, DEFENDTHEEAST se cifra como ERKQJAYHKOBQL. Cada letra se convierte en tres coordenadas del cubo que luego se reagrupan, mezclando sustitución y transposición. Con la misma clave y el mismo período se descifra. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- DEFENDTHEEAST
- Clave
- KEYWORD
- Período
- 5
- Modo de cálculo
- Encrypt
- Resultado
- ERKQJAYHKOBQL
- Cubo
- KEYWORDABCFGHIJLMNPQSTUVXZ.
- Longitud
- 13
- Símbolos procesados
- 13
El cifrado Trifid es el clásico sistema fraccionador de Félix Delastelle, que asigna a cada uno de los veintisiete símbolos —las letras de la A a la Z más un punto— tres coordenadas dentro de un cubo 3×3×3 con clave, y luego reescribe esas coordenadas en grupos cuya longitud es el período. Leer la matriz de coordenadas por filas y reagrupar las ternas produce un texto cifrado que mezcla sustitución con difusión de estilo transposición, un paso más allá de los mapas monoalfabéticos como el afín o Atbash. Estudiantes, jugadores de CTF, autores de acertijos y herramientas educativas usan Trifid para practicar la construcción del cubo, la fraccionación por períodos y el descifrado de ida y vuelta con una palabra clave compartida. Esta capacidad acepta un texto no vacío, una palabra clave para el cubo, un período de al menos dos y un modo opcional encrypt o decrypt; devuelve la cadena transformada, el cubo expandido y los conteos de procesamiento.
Cómo funcionan el cubo Trifid y la fraccionación por períodos
El cubo se construye tomando los caracteres únicos de la A a la Z y el punto de su palabra clave en orden, y añadiendo después cada símbolo restante del alfabeto, de modo que la cadena tenga siempre exactamente veintisiete posiciones. Los índices de cero a ocho forman la capa cero, de nueve a diecisiete la capa uno y de dieciocho a veintiséis la capa dos; dentro de cada capa, una cuadrícula de tres por tres aporta la fila y la columna, cada coordenada con valor cero, uno o dos.
El cifrado convierte cada símbolo del texto plano en sus tres coordenadas, las escribe como tres filas bajo un grupo del tamaño del período, lee de izquierda a derecha por todas las capas, luego por todas las filas y luego por todas las columnas, y convierte cada terna consecutiva de vuelta en un símbolo del cubo. El último grupo puede ser más corto que el período cuando la longitud del mensaje no es múltiplo del período; ese bloque más corto se fracciona igualmente con su propia anchura.
El descifrado expande cada símbolo del texto cifrado en tres dígitos, divide la secuencia en tres filas iguales de longitud igual al tamaño del grupo y reconstruye cada símbolo del texto plano a partir de la capa, la fila y la columna apiladas en ese índice.
Reglas de validación, filtrado del alfabeto y errores frecuentes
Tras pasar las letras a mayúsculas, solo permanecen la A a la Z y el punto; los espacios, dígitos, comas y demás signos de puntuación se eliminan para que los grupos del período queden bien definidos. La clave debe ser una cadena no vacía que siga conteniendo al menos un símbolo del alfabeto tras el mismo filtrado; las claves vacías o formadas solo por puntuación se rechazan.
El período debe ser un entero entre dos y doscientos cincuenta y seis, ambos inclusive: un período de uno, cero o cualquier valor negativo falla con un mensaje claro de que un período inferior a dos no es válido para la fraccionación Trifid. El modo acepta encrypt, encode, decrypt o decode; las cadenas de modo desconocidas no superan la validación.
El recorrido de ida y vuelta solo funciona cuando el cifrado y el descifrado comparten la misma palabra clave y el mismo período; cambiar cualquiera de ellos reconstruye un cubo distinto o anchuras de grupo distintas y no recuperará el mensaje original. No trate Trifid como cifrado moderno para confidencialidad: el alfabeto es diminuto, la construcción es pública y la estructura de frecuencias sigue revelándose bajo análisis.
Prefiera esta página cuando la intención de búsqueda sea cifrado Trifid, Trifid de Delastelle o cifrado de cubo de 27 símbolos; bifid, Playfair, afín, rail fence y XOR responden a intenciones clásicas distintas y siguen siendo herramientas separadas.
Qué puede hacer con ella
Deberes de criptoanálisis y calentamientos de CTF
El alumnado cifra frases cortas con una palabra clave y un período, y luego descifra los textos de sus compañeros o recupera mensajes bajo restricciones de cubo conocido sin instalar bibliotecas criptográficas adicionales.
Preguntas frecuentes
¿Cómo cifro texto con el cifrado Trifid?
El campo result de la respuesta contiene el texto cifrado.
¿Cómo descifro un texto cifrado con Trifid?
Envíe el texto cifrado como text, la misma key y el mismo period usados al cifrar, y el modo decrypt (o decode). El resultado es el texto plano reconstruido cuando los parámetros coinciden.
¿Qué ocurre si el período es inferior a dos?
La fraccionación Trifid exige un período de al menos dos símbolos por grupo; el período 1 o menor se rechaza y no se cobra.
¿La herramienta del cifrado Trifid es gratuita?
La herramienta del navegador se ejecuta gratis en su dispositivo.
¿Es el cifrado Trifid un cifrado seguro?
No. Trifid es un cifrado fraccionador clásico para acertijos y enseñanza, no para confidencialidad. No lo use nunca para contraseñas ni datos sensibles.
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/trifid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"DEFENDTHEEAST","key":"KEYWORD","period":5}'const res = await fetch("https://api.kit.forhosting.com/enc/trifid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "DEFENDTHEEAST",
"key": "KEYWORD",
"period": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/trifid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "DEFENDTHEEAST",
"key": "KEYWORD",
"period": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/trifid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"DEFENDTHEEAST","key":"KEYWORD","period":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"DEFENDTHEEAST","key":"KEYWORD","period":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/trifid", 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": "DEFENDTHEEAST",
"key": "KEYWORD",
"period": 5
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.trifid",
"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
Un período inferior a dos falla con invalid_input porque la fraccionación necesita grupos de dos o más símbolos.
Cómo funcionan el cubo Trifid y la fraccionación por períodos
Envíe JSON con los campos obligatorios text (cadena), key (cadena) y period (entero de al menos dos), y el campo opcional mode con valor predeterminado encrypt; los alias input, value, s y message sirven para el cuerpo, keyword, cube_key y alphabet_key son alias de key, y p, group y step son alias de period. En caso de éxito, la respuesta incluye result, mode normalizado a encrypt o decrypt, key con los símbolos filtrados de la palabra clave, period, cube con la tabla completa de veintisiete caracteres, length y symbols_processed del mensaje filtrado, alphabet con los veintisiete símbolos canónicos y method igual a trifid. Entradas idénticas producen siempre un JSON idéntico, porque la ruta consiste en recorridos puros de tablas sin red, sin semilla aleatoria y sin reloj.
Reglas de validación, filtrado del alfabeto y errores frecuentes
Un text ausente, que no sea cadena o que esté vacío provoca invalid_input y no se cobra en la API prepagada tras el rechazo del motor. Si no queda nada del alfabeto, la solicitud falla con invalid_input.
Uso de la API, precios, flujos de aula y límites prácticos
Use el cifrado Trifid gratuito en el navegador para comprobar deberes, preparar diapositivas, practicar para CTF y ejecutar cifrados o descifrados puntuales sin programar a mano una tabla 3×3×3 en cada lenguaje. Los sitios de acertijos pueden precalcular respuestas sin conexión y revelarlas con mode decrypt. Los manuales de soporte pueden revertir notas ligeramente ofuscadas escritas con claves escolares conocidas. Combínelo con otros cifrados clásicos solo cuando un paso didáctico posterior necesite otra familia: mantenga Trifid en su propia página para que la intención SEO siga centrada en la fraccionación de cubo con clave. Use la API prepagada de KIT cuando un backend, una función serverless, una plataforma de tutoría o un SDK necesite un contrato estable con saldo, a $0.002 por elemento correcto; los fallos de validación nunca consumen saldo tras el rechazo. Un flujo de aula típico muestra cómo una palabra clave siembra el cubo, cifra un lema corto con período cinco, lo descifra con los mismos parámetros para demostrar la invertibilidad y, por último, demuestra que el período uno se rechaza como invalid_input. Quienes publican SDK pueden asignar el campo result a un botón de copiar, mientras que cube, period y method hacen que los ejemplos de OpenAPI sean autoexplicativos. Mantenga las cargas en tamaños de mensaje ordinarios apropiados para una llamada de elemento en un aislado Worker; esta herramienta es para frases y fragmentos didácticos, no para blobs binarios de varios megabytes.
Casos de integración
Demostraciones de Delastelle en el aula
El profesorado muestra la construcción del cubo 3×3×3, la fraccionación por períodos frente a los mapas monoalfabéticos, y fija el fallo de período inferior a dos como una fixture clara de invalid_input.
Fixtures para pipelines y CI
Los scripts y las pruebas de integración continua fijan salidas deterministas de Trifid y el error de validación del período, de modo que los fallos accidentales de remodelación o de orden del cubo se detecten de inmediato.