Cryptography-with-python-affine-cipher

提供:Dev Guides
移動先:案内検索

Pythonを使用した暗号化-アフィン暗号

アフィン暗号は、乗法暗号とシーザー暗号アルゴリズムの組み合わせです。 アフィン暗号の基本的な実装は、以下の画像に示すとおりです-

アフィン暗号の基本的な実装

この章では、暗号化と復号化の2つの基本機能を含む対応するクラスを作成することにより、アフィン暗号を実装します。

Code

次のコードを使用して、アフィン暗号を実装できます-

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。*として送信されたメッセージの復号化されたメッセージが表示されます。