Affine Ciphers
优质
小牛编辑
125浏览
2023-12-01
仿射密码是乘法密码和凯撒密码算法的组合。 仿射密码的基本实现如下图所示 -
![仿射密码的基本实现](https://imgs.xnip.cn/cj/docimg/793/66314e0e-23f2-440e-9923-47b477229524.jpg)
在本章中,我们将通过创建包含两个加密和解密基本函数的相应类来实现仿射密码。
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')
输出 (Output)
实现仿射密码时,您可以观察到以下输出 -
![仿射](https://imgs.xnip.cn/cj/docimg/793/82a995ee-2502-4706-becd-31a578b57bfd.jpg)
输出显示纯文本消息Affine Cipher的加密消息和作为输入abcdefg.发送的消息的解密消息abcdefg.