Cifrado de clave corriente
Con el pasaje It was the best of times como clave, Attack at dawn se convierte en Impaud hx eeog: cada letra se desplaza según la siguiente letra de un texto largo que nunca se repite, y los espacios se quedan igual. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Attack at dawn
- Key
- It was the best of times
- Modo de cálculo
- encrypt
- Resultado
- Impaud hx eeog
- Codificación
- running_key
- Letras de la clave
- ITWASTHEBESTOFTIMES
- Longitud de la clave
- 19
Esta herramienta de cifrado de clave corriente cifra o descifra texto con una sustitución polialfabética clásica que usa un pasaje largo de texto clave como flujo de clave que no se repite, no una palabra clave corta que se reinicia. Cada letra alfabética del mensaje se desplaza con la siguiente letra tomada del pasaje de clave, de modo que la misma letra del texto plano puede corresponder a letras distintas del texto cifrado según la posición, mientras la clave no vuelve a empezar. Solo se mueven los caracteres A–Z: la aritmética modular sobre un anillo de veintiséis letras conserva mayúsculas y minúsculas, y los espacios, dígitos, puntuación y demás símbolos pasan sin consumir un paso de clave. Si el pasaje de clave tiene menos letras que el mensaje, el motor indica que la clave es demasiado corta en lugar de reiniciar el flujo en silencio como el Vigenère ordinario.
Qué es el cifrado de clave corriente y qué devuelve esta herramienta
El cifrado de clave corriente pertenece a la familia Vigenère y sustituye una palabra clave corta y repetida por un flujo de texto externo largo: históricamente una página de un libro, una columna de periódico o cualquier pasaje acordado. Usted proporciona ese texto clave; sus letras alfabéticas definen cada una un desplazamiento César, de cero para A a veinticinco para Z.
Las letras del texto plano se transforman en orden: la primera usa la primera letra de la clave, la segunda la siguiente, y así sucesivamente sin reiniciar cuando el flujo se agotaría. El cifrado suma el desplazamiento de la clave módulo veintiséis; el descifrado lo resta con el mismo ciclo modular, de modo que las dos operaciones son inversas exactas cuando se usa el mismo pasaje.
Los caracteres que no son letras nunca cambian ni avanzan el índice de clave, lo que mantiene legibles el espaciado y la puntuación alrededor de las letras cifradas. Esta página aplica siempre esa regla de libro de texto, con conservación de mayúsculas y minúsculas y un control estricto de longitud: el flujo de clave debe contener al menos tantas letras como el mensaje.
La clave corriente en clases y acertijos
Los desarrolladores y educadores se encuentran con el cifrado de clave corriente en calentamientos de captura la bandera, capítulos de criptología clásica y demostraciones que contrastan un pasaje de libro no repetido con una palabra clave corta que acaba filtrando estructura bajo el examen de Kasiski. Los equipos de frontend pueden mezclar frases de ejemplo para capturas de pantalla sin inventar un alfabeto propio y recuperarlas con decrypt bajo el mismo pasaje.
Los ingenieros de calidad generan pares de cifrado y descifrado deterministas para pruebas de contrato, de modo que un middleware que afirme admitir clave corriente no pueda reiniciar en silencio una palabra clave corta. Los organizadores de concursos precalculan claves de respuesta para frases modestas en inglés sin confiar en juguetes web opacos que cambian las reglas de espaciado o fuerzan salida solo en mayúsculas.
Las herramientas de producto y educación usan la transformación cuando un aprendiz pega texto cifrado y la interfaz debe mostrar el texto plano recuperado bajo un pasaje documentado, o explicar por qué se rechazó una clave corta. Combínela con otros ayudantes de codificación clásica al construir un pequeño laboratorio de herramientas de texto gratuitas y deterministas, y nunca trate la clave corriente como sustituto del cifrado moderno autenticado.
Qué puede hacer con ella
Práctica de CTF y cifrado clásico
Cifre y descifre mensajes con un flujo largo de texto clave para acertijos, aulas y calentamientos de captura la bandera que enseñan el Vigenère no repetido.
Lecciones de historia de la criptografía
Demuestre el uso de pasajes de libro como clave, las transformaciones que conservan mayúsculas y minúsculas, y por qué una clave demasiado corta debe fallar en lugar de reiniciarse como el Vigenère de palabra clave.
Preguntas frecuentes
¿Cuánto cuesta la herramienta de cifrado de clave corriente?
Es gratis en su navegador, en esta página.
¿Cómo descifro un mensaje de clave corriente?
Envíe el texto cifrado como text, el mismo pasaje de texto clave como key, y establezca mode en decrypt (o dec, decode, d). El cifrado es la opción por defecto cuando se omite mode.
¿Qué ocurre si la clave es demasiado corta?
El pasaje de clave corriente debe contener al menos tantas letras A–Z como el mensaje; las claves más cortas se rechazan con un mensaje claro de demasiada cortedad.
¿En qué se diferencia del Vigenère de palabra clave?
El Vigenère clásico reinicia una palabra clave corta sin fin. La clave corriente no se reinicia: cada letra de clave se usa una vez desde un pasaje largo, y una clave insuficiente es un error.
¿Es segura la clave corriente para secretos reales?
No. Es un cifrado clásico de enseñanza. Use cifrado moderno autenticado como AES-GCM para la confidencialidad real.
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/running-key \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Attack at dawn","key":"It was the best of times"}'const res = await fetch("https://api.kit.forhosting.com/enc/running-key", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Attack at dawn",
"key": "It was the best of times"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/running-key",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Attack at dawn",
"key": "It was the best of times"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/running-key", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Attack at dawn","key":"It was the best of times"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Attack at dawn","key":"It was the best of times"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/running-key", 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": "Attack at dawn",
"key": "It was the best of times"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.running_key",
"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
Úsela gratis en el navegador para calentamientos de CTF, lecciones de historia de la criptografía y demostraciones al estilo de cifrado de libro, o llame a la API a $0.002 por solicitud exitosa cuando las canalizaciones necesiten transformaciones de clave corriente reproducibles.
Qué es el cifrado de clave corriente y qué devuelve esta herramienta
La respuesta JSON incluye result para la cadena transformada, encoding fijo en running_key, mode en encrypt o decrypt, key_letters con el flujo normalizado en mayúsculas extraído de su pasaje, key_length de ese flujo, key_used y key_used_length del prefijo realmente consumido, message_letters, input_length y output_length que coinciden porque la transformación preserva la longitud, shifted_chars contando cuántas letras se movieron, y una cadena formula que reafirma el mapa modular y la regla de no reinicio para documentación y pruebas. No hay alternativa silenciosa a Vigenère de palabra clave ni a Autokey: o la clave es lo bastante larga y la transformación se ejecuta, o la solicitud falla con invalid_input. Si necesita AES, Vigenère clásico de palabra clave repetida, Autokey o Base64, use esos endpoints específicos; esta página responde únicamente el contrato clásico de clave corriente que ya describen los capítulos de historia de la criptografía y los calentamientos de CTF.
Cómo se leen text, key y mode y cómo se rechazan las claves cortas
Los campos de carga preferidos son text para el mensaje, key para el pasaje de texto clave, y mode opcional para encrypt o decrypt. Si tras ese filtro no queda ninguna letra, el motor rechaza la solicitud. Cada letra se procesa con el mapa modular fijo y el índice de clave avanza solo en letras y solo hacia adelante, de modo que cifrar y luego descifrar con el mismo pasaje restaura siempre la carga original cuando la clave era lo bastante larga. Text acepta alias como input, value, s, message, plaintext y ciphertext para que formularios y clientes de SDK reutilicen nombres de columna existentes. Key acepta key_text, keytext, passage, book, keyword y k; solo se conservan los caracteres alfabéticos de la clave y se convierten a mayúsculas en key_letters, mientras se ignoran dígitos y símbolos del pasaje. Mode toma encrypt por defecto cuando se omite y también acepta alias cortos como enc, encode, e para encrypt y dec, decode, d para decrypt; cualquier otra cadena falla la validación. El texto ausente, el texto vacío, los tipos que no son cadena y los modos desconocidos elevan invalid_input, para que un formulario en blanco no parezca una operación exitosa sin efecto. Tras el análisis, el motor cuenta cuántas letras hay en el mensaje y compara ese recuento con key_length. Cuando la clave es demasiado corta, la respuesta es invalid_input con un mensaje explícito que nombra ambos recuentos y pide un texto clave más largo: exactamente el modo de fallo que esta capacidad debe informar, no un reinicio silencioso que reintroduciría el comportamiento de Vigenère de palabra clave. Combine la ejecución gratuita en el navegador de esta página con la API de pago cuando necesite el mismo resultado matemático dentro de un flujo automatizado, sin reimplementar usted mismo el flujo que no se reinicia. Las entradas inválidas devuelven invalid_input y no se cobran, lo que mantiene la validación barata mientras las transformaciones exitosas siguen teniendo un precio fijo por elemento.
Dónde encaja la clave corriente en lecciones, acertijos y fixtures de prueba
Los servicios de backend codifican cadenas de desafío cortas para API de acertijos o entornos de enseñanza donde los estudiantes deben aportar un texto clave lo bastante largo para desbloquear el siguiente paso. En esta página el trabajo se ejecuta enteramente en su navegador; a través de la API cada consulta exitosa cuesta $0.002, la validación fallida no se cobra y no se almacena nada tras devolver la respuesta. Esa división —exploración interactiva gratuita y una API de pago idéntica— coincide con el resto del catálogo tier A del KIT y le permite pasar de una demostración de aula a un flujo automatizado sin cambiar el resultado transformado.
Casos de integración
Fixtures deterministas de integración continua
Genere pares reproducibles de texto cifrado y texto plano de clave corriente para pruebas unitarias, ficheros golden y comprobaciones de contrato, incluidos casos de clave corta.