Cryptographie avec Python - Chiffre Affine

Affine Cipher est la combinaison de l'algorithme Multiplicative Cipher et Caesar Cipher. La mise en œuvre de base du chiffrement affine est comme indiqué dans l'image ci-dessous -

Dans ce chapitre, nous implémenterons le chiffrement affine en créant sa classe correspondante qui comprend deux fonctions de base pour le chiffrement et le déchiffrement.

Code

Vous pouvez utiliser le code suivant pour implémenter un chiffrement affine -

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')

Production

Vous pouvez observer la sortie suivante lorsque vous implémentez un chiffrement affine -

La sortie affiche le message crypté pour le message en texte brut Affine Cipher et un message déchiffré pour le message envoyé en entrée abcdefg.