Pythonを使用した暗号化-アフィン暗号
アフィン暗号は、乗法暗号とシーザー暗号アルゴリズムを組み合わせたものです。アフィン暗号の基本的な実装は、以下の画像に示すとおりです。
この章では、暗号化と復号化の2つの基本関数を含む対応するクラスを作成することにより、アフィン暗号を実装します。
コード
次のコードを使用して、アフィン暗号を実装できます-
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.