¿Qué es un cifrado por sustitución?

Es aquel cifrado que sustituye cada letra o grupo de letras por otra letra o grupo de letras distinta/s para cifrar el texto en claro.

Los primeros y antiguos métodos de cifrado se basaban en este principio, aunque en aquella época no eran muy robustos ni difíciles de descifrar, pero les resultaban muy útiles.

Cifrado César

Quizá el cifrado más conocido, fue inventado por Julio César en el antiguo imperio Romano. Sigue el siguiente principio:

Cada letra del texto en claro se sustituye por la letra que hay a “k” posiciones detrás de ella en el alfabeto.

Matemáticamente hablando:

Definimos las siguientes operaciones:

  • Ordinal de una letra: Es la posición que ocupa la letra en el alfabeto que usamos. Se denota como: ORD (Letra) [ORD (A) = 0]

  • Caracter de un número: Es la letra que ocupa la posición del número que tenemos. Se denota como: CAR (x) [donde “x” tiene que ser mayor o igual a cero, y menor o igual al número de letras del alfabeto usado]

Vamos a pasar a lo interesante la fórmula del cifrado y descifrado:

  • Cifrado: C(x) = x + k (mod T)

  • Descifrado: D(x) = x – k (mod T)

(Siendo “x” el ORD (Letra a cifrar), “k” es el número de posiciones a desplazar y “T” es el total de letras en el alfabeto a usar)

Se puede observar que la clave de este cifrado es el número de posiciones a desplazar las letras (k).

Como véis no hemos hecho nada más que empezar y ya aparece la operación módulo, aunque Julio César no tuviera ni idea de qué era el módulo.

(Más información en Wikipedia)

Cifrado Polybios

Este cifrado fue realizado en la antigua Grecia y usaba el alfabeto Griego en su versión original, aunque se ha adaptado a los demás alfabetos. Se basa en colocar las letras del alfabeto en una matriz, normalmente de 5×5, y en las cabeceras de las columnas y filas se le asigna unos números o letras siguiendo un patrón preestablecido por el usuario del cifrado.

Así usando el alfabeto tradicional, sin contar la Ñ, tendríamos la siguiente matriz:

1 2 3 4 5
1 A B C D E
2 F G H I K
3 L M N O P
4 Q R S T U
5 V W X Y Z

(Aclaración: La J se junta con la I por convenio)

Y a partir de esta matriz se cifra el mensaje, cogiendo letra a letra y sustituyendola por los números de su fila y columna. Por ejemplo:

HOLA => 23343111

Para descifrar, se cogerían de dos en dos números y se buscaría el cruce de dichos números en la matriz.

Es obvio, que la clave de este cifrado es la matriz, y más concretamente el orden del contenido de ésta y los valores que usemos en los encabezados de las filas y columnas.

(Más información en Wikipedia En inglés)

Post anterior: Introducción

Print Friendly, PDF & Email