Cifrado de transposición

Transposition Cipher es un algoritmo criptográfico en el que el orden de los alfabetos en el texto sin formato se reordena para formar un texto cifrado. En este proceso, no se incluyen los alfabetos de texto sin formato reales.

Ejemplo

Un ejemplo simple de un cifrado de transposición es columnar transposition cipherdonde cada carácter en el texto sin formato se escribe horizontalmente con un ancho de alfabeto especificado. El cifrado se escribe verticalmente, lo que crea un texto cifrado completamente diferente.

Considere el texto sin formato hello world, y apliquemos la técnica de transposición columnar simple como se muestra a continuación

Los caracteres de texto sin formato se colocan horizontalmente y el texto cifrado se crea con formato vertical como : holewdlo lr. Ahora, el receptor tiene que usar la misma tabla para descifrar el texto cifrado a texto sin formato.

Código

El siguiente código de programa demuestra la implementación básica de la técnica de transposición en columnas:

def split_len(seq, length):
   return [seq[i:i + length] for i in range(0, len(seq), length)]
def encode(key, plaintext):
   order = {
      int(val): num for num, val in enumerate(key)
   }
ciphertext = ''

for index in sorted(order.keys()):
   for part in split_len(plaintext, len(key)):
      try:ciphertext += part[order[index]]
         except IndexError:
            continue
   return ciphertext
print(encode('3214', 'HELLO'))

Explicación

  • Usando la función split_len(), podemos dividir los caracteres de texto sin formato, que se pueden colocar en formato de columna o de fila.

  • encode El método ayuda a crear texto cifrado con la clave que especifica el número de columnas e imprime el texto cifrado leyendo caracteres en cada columna.

Salida

El código del programa para la implementación básica de la técnica de transposición en columnas da el siguiente resultado:

Note- Los criptoanalistas observaron una mejora significativa en la seguridad criptográfica cuando se realiza la técnica de transposición. También señalaron que volver a cifrar el texto cifrado utilizando el mismo cifrado de transposición crea una mejor seguridad.