Affine Cipher是Multiplicative Cipher和Caesar Cipher算法的组合.仿射密码的基本实现如下图所示 :
在本章中,我们将通过创建包含两个加密和解密基本函数的相应类来实现仿射密码.
代码
您可以使用以下代码实现仿射密码 :
class仿射(对象): DIE = 128 KEY =(7,3,55) def __init __(self):传递 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')
输出
实现仿射密码时,可以观察到以下输出;
输出显示纯文本消息仿射密码的加密消息和已作为输入 abcdefg发送的消息的解密消息.