Cifrado monoalfabético: cifre y descifre con clave de 26 letras
Con la clave QWERTYUIOPASDFGHJKLZXCVBNM, Hello World se convierte en Itssg Vgksr: usted aporta el alfabeto cifrado completo de 26 letras, cada letra tiene un único reemplazo fijo y al descifrar se invierte la tabla. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hello World
- Key
- QWERTYUIOPASDFGHJKLZXCVBNM
- Acción
- Encrypt
- Resultado
- Itssg Vgksr
- Alfabeto
- QWERTYUIOPASDFGHJKLZXCVBNM
- Letras asignadas
- 10
Un cifrado de sustitución simple, también llamado cifrado monoalfabético, sustituye cada letra del alfabeto por exactamente otra y mantiene fija esa correspondencia en todo el mensaje. A diferencia de un cifrado por palabra clave que construye el alfabeto a partir de una semilla corta, esta herramienta toma como clave el alfabeto cifrado completo de veintiséis letras para que usted controle cada correspondencia de forma directa. Pegue el texto en claro o el texto cifrado, suministre una permutación de la A a la Z, elija cifrar o descifrar y reciba la cadena transformada con el recuento de letras mapeadas. Los espacios, dígitos y signos de puntuación pasan sin cambios mientras se conservan las mayúsculas y minúsculas. Úselo para demostraciones monoalfabéticas en clase, diseño de acertijos, calentamientos de CTF y ofuscación reversible de notas breves.
Cómo funciona el alfabeto clave monoalfabético
En un cifrado clásico de sustitución simple el alfabeto del texto en claro de la A a la Z se empareja posición a posición con un alfabeto cifrado de la misma longitud. La clave que usted proporciona es ese alfabeto cifrado: el primer carácter sustituye a A, el segundo a B, y así sucesivamente hasta Z. Por ejemplo, la clave QWERTYUIOPASDFGHJKLZXCVBNM hace corresponder A en claro con Q, B con W, C con E, y así sucesivamente, produciendo una tabla monoalfabética fija para todo el mensaje.
El cifrado busca cada letra en el alfabeto en claro y emite el carácter del mismo índice en la clave; el descifrado hace la búsqueda inversa de modo que las idas y vueltas restauran exactamente las mayúsculas y minúsculas originales y los caracteres no alfabéticos. Los dígitos, espacios, puntuación, emoji y escrituras no latinas no entran en el mapa: se copian tal cual para que fechas, códigos y formato sigan legibles.
Las formas en mayúscula y minúscula de la misma letra comparten una entrada; el motor conserva el caso de cada carácter de origen, de modo que HELLO y hello se cifran de forma coherente respecto a la misma clave. Como la correspondencia es fija para cada letra del mensaje, el análisis de frecuencias aún puede romper textos cifrados largos en inglés; esta herramienta es para docencia, acertijos y ofuscación ligera, no para proteger secretos en reposo o en tránsito.
Prefiera esta página cuando la intención de búsqueda sea cifrado de sustitución monoalfabética o sustitución simple con alfabeto clave completo; los alfabetos sembrados por palabra clave, los desplazamientos César y los cifrados polialfabéticos Vigenère responden a intenciones distintas y permanecen como herramientas separadas.
Cifrar, descifrar y validar claves incompletas
Envíe una cadena text obligatoria y una cadena key obligatoria y, opcionalmente, fije action en encrypt o decrypt (encrypt es el valor por defecto). La clave se recorta y debe contener solo letras de la A a la Z. Tras normalizar a mayúsculas debe tener exactamente veintiséis caracteres y usar cada letra del alfabeto una sola vez.
Si la longitud no es veintiséis, la llamada falla informando de clave incompleta y la longitud real para que usted complete el alfabeto en lugar de recibir un mapa rellenado o truncado en silencio. Si alguna letra aparece más de una vez, la llamada falla nombrando la letra repetida como clave incompleta: una permutación debe cubrir cada letra una vez. Encrypt recorre las letras del texto en claro del alfabeto llano al alfabeto clave; decrypt recorre la dirección opuesta.
El estado es beta mientras se estabiliza la superficie pública, pero las reglas de sustitución siguen esta construcción clásica fija y no cambiarán para entradas idénticas.
El alfabeto de sustitución en clase y sus límites
Llame a la capacidad con text y key como campos obligatorios. Use action decrypt cuando el texto ya sea texto cifrado producido por el mismo alfabeto clave. Una lección típica muestra a los estudiantes una permutación manuscrita de 26 letras, cifra una frase breve, la descifra para demostrar la invertibilidad y, por último, contrasta el mapa fijo con un cifrado polialfabético más adelante en el temario.
Los manuales de soporte pueden revertir notas de tickets ofuscadas a propósito con un alfabeto de sustitución compartido. Nunca tome la sustitución simple como sustituto de AES o del cifrado autenticado: las frecuencias de letras filtran estructura en textos en inglés más largos. Combine la herramienta con sus notas de clase o el enunciado del acertijo para que los estudiantes verifiquen el trabajo a mano frente a una referencia estable.
Qué puede hacer con ella
Demostraciones monoalfabéticas en el aula
Muestre a los estudiantes un alfabeto cifrado completo de 26 letras, cifre una frase de ejemplo, descífrela de nuevo y explique por qué se rechazan las claves incompletas.
Calentamientos de acertijos y CTF
Genere texto cifrado reversible para búsquedas del tesoro, salas de escape y retos introductorios de criptografía con una clave de sustitución conocida.
Ofuscación reversible ligera
Revuelva etiquetas o notas breves con un alfabeto completo compartido cuando necesite una correspondencia de ida y vuelta rápida en lugar de criptografía real.
Preguntas frecuentes
¿Qué entradas necesita el cifrado de sustitución monoalfabética?
Los campos obligatorios text y key. La clave debe ser exactamente 26 letras únicas A–Z. La action opcional es encrypt (por defecto) o decrypt.
¿Qué es una clave incompleta?
Una clave que no es exactamente 26 letras únicas A–Z: longitud incorrecta, letras faltantes o repeticiones.
¿El cifrado es determinista y seguro?
Es plenamente determinista para el mismo text, key y action. Es un cifrado monoalfabético clásico para docencia y acertijos, no seguridad criptográfica moderna.
¿Cómo funciona la clave de 26 letras?
La clave se compara posición a posición con el alfabeto normal: su primera letra sustituye a la A, la segunda a la B y así hasta la Z. Con QWERTYUIOPASDFGHJKLZXCVBNM, la A pasa a Q, la B a W y la C a E.
¿Se conservan las mayúsculas y la puntuación?
Sí. Cada letra conserva su forma, de modo que una mayúscula sale como mayúscula, y los dígitos, espacios, signos y emojis pasan sin cambios. Por eso Hello World da Itssg Vgksr, con su espacio y sus mayúsculas.
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/simple-substitution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}'const res = await fetch("https://api.kit.forhosting.com/enc/simple-substitution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/simple-substitution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/simple-substitution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hello World","key":"QWERTYUIOPASDFGHJKLZXCVBNM"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/simple-substitution", 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": "Hello World",
"key": "QWERTYUIOPASDFGHJKLZXCVBNM"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.simple_substitution",
"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
Las claves incompletas —demasiado cortas, demasiado largas o con letras repetidas— fallan de inmediato con un mensaje invalid_input claro, de modo que un alfabeto parcial nunca se convierte en silencio en un mapa roto.
Cifrar, descifrar y validar claves incompletas
Si la clave falta o queda vacía tras el recorte, la llamada falla con invalid_input nombrando la clave ausente. En caso de éxito, la respuesta devuelve el texto original, la clave normalizada en mayúsculas, la acción usada, el campo alphabet (igual a la clave en esta construcción), la cadena result transformada y letters_mapped contando cuántos caracteres alfabéticos se sustituyeron. No hay llamada de red, semilla aleatoria ni dependencia de reloj, de modo que las pruebas de referencia y los widgets del navegador siempre coinciden con la API para la misma entrada.
Uso de la API, precios, flujos de aula y límites prácticos
El precio de la API alojada es una tarifa plana de $0.002 por solicitud correcta; los fallos de validación como clave ausente, clave incompleta o letra repetida no consumen saldo. Mantenga las cargas en tamaños de texto ordinarios adecuados para una llamada de ítem en un aislamiento Worker; esta herramienta es para mensajes y fragmentos, no para blobs binarios de varios megabytes. Mantenga los nombres de campo explícitos en lugar de empaquetar prosa libre: el contrato se alinea con OpenAPI, los tipos del SDK y los controles del formulario.
Preguntas técnicas
¿Qué incluye una respuesta correcta?
El text original, la key normalizada, action, alphabet (la clave), la cadena result y letters_mapped (recuento de caracteres A–Z sustituidos).
¿Cuánto cuesta la API del cifrado de sustitución simple?
Cada llamada correcta a la API cuesta $0.002. El mismo motor se ejecuta gratis en su navegador sin necesidad de cuenta.