Учебники

Криптография с Python — Аффинный Шифр

Affine Cipher представляет собой комбинацию алгоритма Multiplicative Cipher и Caesar Cipher. Основная реализация аффинного шифра, как показано на рисунке ниже —

базовая реализация аффинного шифра

В этой главе мы реализуем аффинный шифр, создав соответствующий класс, включающий две основные функции для шифрования и дешифрования.

Код

Вы можете использовать следующий код для реализации аффинного шифра:

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

Выход

При реализации аффинного шифра вы можете наблюдать следующий результат:

аффинных

Выходные данные отображают зашифрованное сообщение для простого текстового сообщения Affine Cipher и расшифрованное сообщение для сообщения, отправляемого в качестве ввода abcdefg.