La sustitución poligráfica es un cifrado en el que se realiza una sustitución uniforme en bloques de letras. Cuando se conoce específicamente la longitud del bloque, se utilizan términos más precisos: por ejemplo, un cifrado en el que se sustituyen pares de letras es bigráfico .
Como concepto, la sustitución poligráfica contrasta con las sustituciones monoalfabéticas (o simples) en las que las letras individuales se sustituyen uniformemente, o las sustituciones polialfabéticas en las que las letras individuales se sustituyen de diferentes formas según su posición en el texto. En teoría, existe cierta superposición en estas definiciones; uno podría considerar que un cifrado de Vigenère con una clave de ocho letras es una sustitución octográfica. En la práctica, esta no es una observación útil ya que es mucho más fructífero considerarlo como un cifrado de sustitución polialfabético.
Cifrados específicos
En 1563, Giambattista della Porta ideó la primera sustitución bigráfica. Sin embargo, no era más que una matriz de símbolos. En la práctica, habría sido casi imposible de memorizar, y llevarlo alrededor de la mesa conllevaría el riesgo de caer en manos enemigas.
En 1854, Charles Wheatstone ideó el cifrado de Playfair , un sistema basado en palabras clave que se podía realizar en papel sobre el terreno. Esto fue seguido durante los siguientes cincuenta años con los cifrados de cuatro y dos cuadrados estrechamente relacionados , que son un poco más engorrosos pero ofrecen una seguridad un poco mejor.
En 1929, Lester S. Hill desarrolló el cifrado Hill , que utiliza álgebra matricial para cifrar bloques de cualquier longitud deseada. Sin embargo, el cifrado es muy difícil de realizar a mano para cualquier tamaño de bloque suficientemente grande, aunque ha sido implementado por máquina o computadora. Por tanto, se encuentra en la frontera entre la criptografía clásica y la moderna.
Criptoanálisis de sustituciones poligráficas generales
Los sistemas poligráficos proporcionan una mejora significativa en la seguridad con respecto a las sustituciones monoalfabéticas. Dada una letra individual 'E' en un mensaje, podría cifrarse usando cualquiera de las 52 instrucciones dependiendo de su ubicación y vecinos, que se pueden usar con gran ventaja para enmascarar la frecuencia de letras individuales. Sin embargo, el impulso de seguridad es limitado; Si bien generalmente requiere una muestra más grande de texto para descifrar, aún se puede hacer a mano.
Uno puede identificar un texto encriptado poligráficamente realizando un gráfico de frecuencia de polígramas y no simplemente de letras individuales. Estos se pueden comparar con la frecuencia del inglés de texto sin formato. La distribución de los digramas es aún más marcada que la de las letras individuales. Por ejemplo, las seis letras más comunes en inglés (23%) representan aproximadamente la mitad del texto plano en inglés, pero solo se necesita el 8% más frecuente de los 676 digramas para lograr la misma potencia. Además, incluso en un texto sin formato de muchos miles de caracteres, uno esperaría que casi la mitad de los digramas no ocurrieran, o solo muy poco. Además, al mirar el texto, uno esperaría ver una dispersión bastante regular de texto repetido en múltiplos de la longitud del bloque y relativamente pocos que no sean múltiplos.
Descifrar un código identificado como poligráfico es similar a descifrar una sustitución monoalfabética general, excepto con un 'alfabeto' más grande. Uno identifica los poligramas más frecuentes, experimenta con su sustitución por polígramas comunes de texto plano e intenta construir palabras, frases y, finalmente, significado comunes. Naturalmente, si la investigación llevó al criptoanalista a sospechar que un código era de un tipo específico, como un cifrado de Playfair o Order-2 Hill, entonces podrían usar un ataque más específico.