Python 密码学 - 仿射密码
仿射密码是乘法密码和凯撒密码算法的结合。仿射密码的基本实现如下图所示 -
在本章中,我们将通过创建相应的类来实现仿射密码,该类包括加密和解密的两个基本函数。
代码
您可以使用以下代码来实现仿射密码 -
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发送的消息的解密消息。