使用Python进行密码学 - 仿射密码

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

输出

实现仿射密码时,可以观察到以下输出;

Affine

输出显示纯文本消息仿射密码的加密消息和已作为输入 abcdefg发送的消息的解密消息.