Criptografía con Python - Cifrado afín

Affine Cipher es la combinación del algoritmo Multiplicative Cipher y Caesar Cipher. La implementación básica del cifrado afín es como se muestra en la siguiente imagen:

En este capítulo, implementaremos el cifrado afín creando su clase correspondiente que incluye dos funciones básicas para el cifrado y el descifrado.

Código

Puede utilizar el siguiente código para implementar un cifrado afín:

class Affine(object):
   DIE = 128
   KEY = (7, 3, 55)
   def __init__(self):
      pass
   def encryptChar(self, char):
      K1, K2, kI = self.KEY
      return chr((K1 * ord(char) + K2) % self.DIE)
		
   def encrypt(self, string):
      return "".join(map(self.encryptChar, string))
   
   def decryptChar(self, char):
      K1, K2, KI = self.KEY
      return chr(KI * (ord(char) - K2) % self.DIE)
   
   def decrypt(self, string):
      return "".join(map(self.decryptChar, string))
		affine = Affine()
print affine.encrypt('Affine Cipher')
print affine.decrypt('*18?FMT')

Salida

Puede observar el siguiente resultado cuando implementa un cifrado afín:

La salida muestra el mensaje cifrado para el mensaje de texto sin formato. Affine Cipher y mensaje descifrado para el mensaje enviado como entrada abcdefg.