ForHosting KIT · Utilidades de desarrollo

Cifrado multiplicativo

Con la clave 5, HELLO se convierte en JUDDS: cada letra se multiplica por su clave módulo 26 y, para descifrar, se usa su inverso, 21. Las claves que comparten un factor con 26 se rechazan, así el mensaje siempre se puede recuperar. 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
HELLO
Clave entera multiplicativa
5
Modo de cálculo
Encrypt
Obtiene
Resultado
JUDDS
Entrada
HELLO
Clave mód
5
Inverso de clave
21

El cifrado multiplicativo es un sistema monoalfabético clásico que multiplica el índice de cada letra por una clave entera secreta módulo veintiséis: la A del texto plano se mapea a cero, la B a uno, y así hasta la Z a veinticinco; luego C es k por P módulo veintiséis al cifrar, y el inverso modular de k restaura el original al descifrar.

Cómo funcionan la clave coprima y la multiplicación modular

El cifrado multiplicativo se entiende mejor como un cifrado César en el que la suma se sustituye por la multiplicación en el anillo de enteros módulo veintiséis. Escriba cada letra latina como un entero desde cero para A hasta veinticinco para Z. El cifrado multiplica ese índice por su clave secreta k y reduce módulo veintiséis; el descifrado multiplica por el inverso modular de k, el residuo único k inverso tal que k por k inverso es congruente con uno módulo veintiséis.

Ese inverso existe si y solo si el máximo común divisor del valor absoluto de k y veintiséis es uno —equivalente a que k sea impar y no múltiplo de trece. Los residuos positivos válidos son uno, tres, cinco, siete, nueve, once, quince, diecisiete, diecinueve, veintiuno, veintitrés y veinticinco; cualquier clave par o múltiplo de trece comparte un factor con veintiséis y se rechaza.

Se conserva el caso: una H mayúscula multiplicada por cinco se convierte en J, y una h minúscula en j, lo que mantiene legibles las frases de ejemplo en las demos. Los caracteres que no son letras —espacios, comas, dígitos dentro del cuerpo del mensaje, emoji— pasan sin cambios.

Verificación de CTF y puzzles

Los autores de desafíos comprueban el cifrado y descifrado multiplicativo para una clave coprima publicada sin mantener un script offline separado.

Demos de cripto histórica

Museos y demos de blogs muestran por qué solo las claves coprimas con veintiséis dan mapas reversibles cifrando en vivo frases de visitantes en el navegador.

¿Qué es el cifrado multiplicativo?

El descifrado multiplica por el inverso modular de k.

¿Por qué la clave debe ser coprima con 26?

Solo cuando gcd(|key|, 26) = 1 la multiplicación por k es biyectiva mod 26, de modo que cada letra del cifrado mapea exactamente a una letra del plano. Los factores compartidos colapsan el alfabeto.

¿Qué claves son válidas?

Cualquier entero cuyo valor absoluto sea coprimo con 26. Residuos positivos mod 26: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25. Las claves pares y los múltiplos de 13 se rechazan.

¿Se cifran espacios y puntuación?

No. Solo A–Z y a–z se multiplican mod 26. Los demás caracteres pasan sin cambios.

¿El cifrado multiplicativo 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/multiplicative

¿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/multiplicative \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"HELLO","key":5}'
{
  "text": "HELLO",
  "key": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.multiplicative",
  "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.

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

Introduzca el texto que desea proteger o recuperar, una clave entera como cinco o diecisiete, y un modo encrypt o decrypt; la herramienta multiplica las letras conservando el caso, deja intactos espacios y puntuación, y rechaza cualquier clave que comparta un factor con veintiséis —números pares y múltiplos de trece— con un error invalid_input claro, de modo que un mapa no biyectivo nunca colapse el alfabeto en silencio. Como el mapeo es aritmética modular pura y determinista —sin red, sin semillas aleatorias, sin dependencia del reloj— el ejecutor gratuito del navegador y la API prepaga devuelven el mismo JSON, incluida la clave reducida módulo veintiséis y su inverso, cada vez que lo invoca para hojas de clase, práctica CTF o demos de cifrado histórico.

Cómo funcionan la clave coprima y la multiplicación modular

El texto vacío y las claves ausentes también se rechazan para que la API nunca devuelva una transformación identidad que parezca exitosa pero no enseñe nada sobre aritmética modular.

Cómo llamar a la API y qué recibe de vuelta

Text debe ser una cadena no vacía de como máximo cien mil caracteres. Envíe un cuerpo JSON con dos campos obligatorios, text como cadena no vacía y key como entero, más un mode opcional que por omisión es encrypt. Los alias aceptados para text incluyen input, value, data, message, plaintext y ciphertext; key también acepta k, multiplier, a, secret y factor; mode acepta operation, op, direction y action, y reconoce sinónimos habituales como encode o decode. La clave puede enviarse como número JSON o como cadena de enteros pura; los números fraccionarios y las cadenas no numéricas producen invalid_input y nunca se cobran. En éxito la respuesta repite el text de entrada original, informa key como el entero que envió, key_mod como esa clave reducida al rango de cero a veinticinco, key_inverse como el inverso modular usado para descifrar, mode como encrypt o decrypt, result y text como la cadena transformada, letters_processed y non_letters como conteos, length como el recuento de caracteres de salida, formula como un mnemónico modular breve, y message como un resumen en una línea en inglés. El precio es un fijo de $0.002 por petición exitosa con unidad item y precio marginal unitario cero.

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

Las comprobaciones de ida y vuelta son la mejor prueba de cordura: cifre una frase, descifre el resultado con la misma clave y confirme que el flujo de letras coincide con la entrada original sensible al caso. Esta página apunta a quienes buscan un cifrado multiplicativo, un cifrador de inverso modular o un cifrado de letras con clave coprima en línea; no es AES, no es RSA, no es el cifrado afín completo con offset aditivo, y no es ROT13. Prefiera esta capacidad cuando necesite criptografía monoalfabética clásica transparente con una clave puramente multiplicativa para educación o puzzles; si necesita secreto real, use en su lugar un cifrado autenticado moderno. Mantenga las cargas por debajo del máximo publicado de cien mil caracteres para que la memoria del Worker se mantenga acotada. Al enseñar, empareje ejemplos: HELLO con clave cinco se cifra a JUDDS; el mismo texto cifrado con mode decrypt y clave cinco recupera HELLO; y la clave dos o la trece demuestran la ruta dura de invalid_input cuando la clave comparte un factor con veintiséis. Las tareas fallidas que devuelven invalid_input no consumen saldo prepago, lo que mantiene baratos los scripts exploratorios cuando los clientes prueban claves pares o múltiplos de trece.

Laboratorios de aritmética modular en clase

Los estudiantes multiplican índices de letras a mano, calculan inversos modulares y comparan letra a letra con la salida determinista de la API y el campo key_inverse.

Ver la documentación completa del KIT →