ForHosting KIT · Utilidades de desarrollo

Cifrado Grandpré

Con las filas CODE, ABLE, FISH y TRAP, la palabra CAT se cifra como 112141: cada letra pasa a ser el número de su fila y de su columna en la rejilla que usted arma. Al descifrar, los pares vuelven a ser letras. 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
CAT
Palabras
CODE, ABLE, FISH, TRAP
Modo de cálculo
Encrypt
Obtiene
Resultado
112141
Longitud
6
Letras asignadas
3
Pares
3

El cifrado Grandpré es una sustitución homofónica clásica que numera cada letra según sus coordenadas en una rejilla de filas de palabras clave. Usted aporta las palabras que rellenan cada fila del tablero, pega texto plano o un flujo de pares de dígitos y elige cifrar o descifrar. El cifrado recorre las letras latinas del mensaje y sustituye cada una por la etiqueta de dos dígitos fila-columna de la primera celda coincidente en orden fila-mayor; el descifrado recoge los dígitos, los lee por pares y busca cada par en la misma rejilla. Como una misma letra puede aparecer más de una vez entre las filas de palabras, el sistema es homofónico en principio —las letras repetidas del texto plano no tienen por qué compartir siempre un código— mientras esta implementación permanece totalmente determinista al tomar siempre la primera celda. Cuando la lista de palabras no cubre el alfabeto completo, la respuesta sigue siendo válida para las letras presentes e informa del estado de rejilla incompleta con la lista de letras ausentes, para que pueda ampliar el cuadrado.

Cómo las filas de palabras clave Grandpré se convierten en pares de coordenadas

Un cuadrado Grandpré se construye con palabras dispuestas una por fila de forma que cada celda contenga una sola letra latina. Las descripciones clásicas prefieren un tablero de diez por diez cuyas diez palabras hacen que la primera columna forme una undécima palabra, pero cualquier conjunto rectangular de filas de palabras clave con el mismo número de letras funciona igual: se eliminan los no-letras, se pasa a mayúsculas y se exige que cada fila tenga el mismo ancho entre dos y diez columnas, con un máximo de diez filas.

Los ejes se etiquetan desde uno hacia arriba; cuando un lado tiene diez celdas, la décima etiqueta es el dígito cero, según la convención 1–9–0 de los manuales. El cifrado sustituye cada letra del texto plano por el código de dos dígitos formado por su etiqueta de fila seguida de la de columna.

Si la letra aparece varias veces en la rejilla, esta herramienta elige siempre la primera coincidencia de izquierda a derecha y de arriba abajo, de modo que entradas idénticas producen siempre el mismo flujo de dígitos sin aleatoriedad. El descifrado invierte la búsqueda en la tabla: los dígitos se recogen del texto de entrada en orden y se consumen de dos en dos como etiqueta de fila y de columna.

Un número impar de dígitos, una etiqueta fuera del eje activo o un par que no apunta a ninguna celda fallan de inmediato. Los no-letras del texto plano se omiten al cifrar para que el cifrado quede solo en dígitos de coordenadas; los caracteres no numéricos al descifrar se ignoran mientras se arma el flujo de dígitos.

No hay desplazamiento modular del alfabeto ni clave aditiva secundaria: solo la rejilla abierta de palabras clave, de modo que el cifrado depende de lo completo y cuidadoso que sea el reparto de esas filas.

Dónde aparecen las herramientas Grandpré en el trabajo real

Los cursos introductorios de criptografía y los clubes de acertijos siguen asignando rejillas al estilo Grandpré para que los estudiantes practiquen la sustitución homofónica por coordenadas antes de conocer cifrados de máquina; un oráculo de confianza que cifra y descifra a partir de filas de palabras explícitas acelera demostraciones y correctores automáticos.

Los calentamientos de capture-the-flag y los retos de geocaching ocultan mensajes de pares de dígitos junto a un cuadrado de palabras publicado, y quien resuelve quiere un codificador de primera coincidencia rápido y predecible, no un suite general de criptoanálisis. Los equipos de contenido y soporte a veces codifican ligeramente spoilers, respuestas de cuestionarios o etiquetas internas como pares de coordenadas sobre una lista de palabras compartida y necesitan la ruta inversa sin instalar una biblioteca criptográfica por lenguaje.

Si necesita un cuadrado de Polibio fijo de cinco por cinco sin palabras clave, un cuadrado digráfico Playfair, una capa aditiva Nihilist, desplazamientos Caesar o Vigenère, o la recuperación automática de un tablero Grandpré desconocido solo a partir del cifrado, trátelos como intenciones de búsqueda y landings distintos, no sobrecargue esta página del cifrado por coordenadas de filas de palabras clave.

Demostraciones escolares de coordenadas homofónicas

Cifre y descifre palabras de muestra en una rejilla de filas de palabras clave publicada para que las lecciones introductorias de criptografía compartan un mapeo de referencia y vean informes de cobertura de rejilla incompleta.

Retos de acertijos y CTF con pares de dígitos

Codifique o invierta flujos de coordenadas Grandpré contra un cuadrado de palabras conocido sin escribir un script ad hoc para cada conjunto de problemas.

¿Qué es el cifrado Grandpré?

Un cifrado homofónico clásico que sitúa letras en una rejilla de filas de palabras clave y sustituye cada letra del texto plano por las coordenadas de dos dígitos fila-columna de una celda coincidente.

¿Cómo indico la rejilla?

Pase words como una matriz de cadenas, una fila de palabra clave por entrada. Todas las filas deben tener el mismo número de letras tras eliminar no-letras. Se aceptan tamaños de 2×2 hasta 10×10.

¿Qué significa rejilla incompleta?

El cifrado sigue funcionando para las letras presentes; solo falla cuando el texto plano necesita una letra ausente.

¿Qué coordenada se elige si una letra aparece más de una vez?

La primera celda en orden fila-mayor (de izquierda a derecha y de arriba abajo). Así el cifrado permanece determinista y sin aleatoriedad, aunque el tablero admita homófonos.

¿Cuánto cuesta?

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

¿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/grandpre \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"CAT","words":["CODE","ABLE","FISH","TRAP"]}'
{
  "text": "CAT",
  "words": [
    "CODE",
    "ABLE",
    "FISH",
    "TRAP"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.grandpre",
  "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.

Cómo las filas de palabras clave Grandpré se convierten en pares de coordenadas

Las letras que no aparecen entre las palabras suministradas no se pueden cifrar: la petición falla con invalid_input y nombra el hueco de rejilla incompleta en lugar de inventar un sustituto.

Qué envía usted y qué recibe a cambio

Envíe un campo de cadena obligatorio llamado text, un campo de matriz obligatorio llamado words con una cadena de palabra clave por fila de la rejilla, y un campo opcional mode con valor encrypt o decrypt. Si omite mode, encrypt es el valor por defecto, de modo que una carga mínima sigue generando pares de coordenadas. Las comprobaciones clásicas incluyen cifrar CAT con las palabras de ejemplo de cuatro por cuatro CODE, ABLE, FISH, TRAP en un flujo de seis dígitos, descifrar ese flujo de nuevo a CAT, confirmar que incomplete es true cuando faltan letras como G o Z, y rechazar un cifrado de cinco dígitos en lugar de truncarlo en silencio. En caso de éxito la respuesta repite mode y text, devuelve result como flujo de dígitos o letras mayúsculas recuperadas, length de ese resultado, letters_mapped y pairs como celdas usadas, digit_count del flujo de coordenadas, rows y cols del tamaño de la rejilla, grid como las filas de palabras en mayúsculas normalizadas, incomplete como booleano, missing_letters como los caracteres A–Z ausentes del tablero, alphabet_coverage como cuántas letras distintas aportan las palabras, row_labels y col_labels como cadenas compactas de ejes, y cipher igual a grandpre para clientes que comprueban el perfil. Faltan text o words, menos de dos filas, más de diez filas, una fila sin letras latinas, longitudes de fila desiguales tras quitar no-letras, valores de mode no admitidos, cadenas más largas que el máximo documentado, cargas de cifrado sin letras, de descifrado sin dígitos, un número impar de dígitos y pares de coordenadas fuera de los ejes etiquetados fallan con invalid_input y un mensaje claro en inglés. Los fallos de validación no consumen saldo prepago. El precio de las llamadas API correctas es la base publicada de $0.002 por elemento.

Dónde aparecen las herramientas Grandpré en el trabajo real

Como esta capacidad es un motor parse puro, el precio de la API es la base publicada de $0.002 por elemento correcto y la validación fallida no consume saldo.

Codificación de etiquetas con lista de palabras compartida

Convierta respuestas de cuestionarios o etiquetas internas en pares dígito fila-columna sobre una lista de palabras acordada y descodifíquelas después con el mismo contrato en el navegador o la API.

Ver la documentación completa del KIT →