El algoritmo utiliza una tabla o matriz de 5x5.
La tabla se llena con una palabra o frase secreta descartando las letras repetidas. Se rellenan los espacios de la tabla con las letras del alfabeto en orden. Usualmente se omite la "W" y se utiliza la "V" en su lugar o se reemplazan las "J" por "I". Esto se hace debido a que la tabla tiene 25 espacios y el alfabeto tiene 26 símbolos. La frase secreta usualmente se ingresa a la tabla de izquierda a derecha y arriba hacia abajo o en forma de espiral, pero puede utilizarse algún otro patrón. La frase secreta junto con las convenciones para llenar la tabla de 5x5 constituyen la clave de encriptación.
Por ejemplo:
Si la frase secreta es "CRIPTOSISTEMA PLAYFAIR"
Llenaremos de izquierda a derecha y arriba hacia abajo y omitiremos la W
C
|
R
|
I
|
P
|
T
|
O
|
S
|
E
|
M
|
A
|
L
|
Y
|
F
|
B
|
D
|
G
|
H
|
J
|
K
|
N
|
Q
|
U
|
V
|
X
|
Z
|
El mensaje original que se desea encriptar es dividido en bloques de dos caracteres cada uno y se le aplican las siguientes cuatro reglas en orden
- Si en el bloque las dos letras son la misma, se reemplaza la segunda generalmente por una X (o alguna letra poco frecuente) y se encripta el nuevo par.
- Si las dos letras del bloque aparecen en la misma fila de la tabla, cada una se reemplaza por la letra adyacente que se encuentra a su derecha (si es la letra que se encuentra en la última posición a la derecha de la fila se la reemplaza con la primera de la izquierda de esa fila). Ej. SM se reemplazará por EA y AE por OM.
- Si las dos letras del bloque aparecen en la misma columna de la tabla, cada una se reemplaza por la letra adyacente que se encuentra por debajo (si es la letra que se encuentra en la última posición inferior de la columna se la reemplaza con la primera de arriba de esa columna). Ej. LC se reemplazará por GO y GQ por QC.
- Si las letras no se encuentran en la misma fila ni columna se las reemplaza se determina el rectángulo formado por los dos caracteres y se encripta tomando los caracteres que están en las esquinas del rectángulo y en la misma fila que el carácter a encriptar. Ej. SB se reemplazará por MY y KR por HP.
C
|
R
|
I
|
P
|
T
|
O
|
S
|
E
|
M
|
A
|
L
|
Y
|
F
|
B
|
D
|
G
|
H
|
J
|
K
|
N
|
Q
|
U
|
V
|
X
|
Z
|
Ejemplo
Si queremos codificar "LENGUAJE"- Tomamos "LE" como no están ni en la misma fila ni columna se utiliza la regla 4, "LE" se reemplaza por "FO".
- Tomamos "NG" como están en la misma fila utilizamos la regla 2, "NG" se reemplaza por "GH".
- Luego, tomamos "UA" como no están ni en la misma fila ni columna se utiliza la regla 4, "UA" se reemplaza por "ZS" .
- Finalmente tomamos "JE" como están en la misma columna utilizamos la regla 3, "JE" se reemplaza por "VF".
De este esquema podemos deducir que el sistema es polialfabético pues por ejemplo "LE"="FO" implica que "E"="O" y "JE"="VF" implica que "E"="F" lo cual demuestra que el sistema es polialfabético. En el sistema Playfair si bien no es cierto que todo carácter siempre sea encriptado en un mismo caracter si vale que todo par de caracteres siempre sea encriptado en el mismo par de caracteres, por lo que en lugar de decir que el sistema es polialfabético podemos decir que es monoalfabético de orden 2.
Historia y Funcionamiento Applet
No hay comentarios:
Publicar un comentario