Mật mã với Python - Mật mã Affine
Affine Cipher là sự kết hợp của Multiplicative Cipher và Caesar Cipher. Cách triển khai cơ bản của mật mã affine như thể hiện trong hình dưới đây -
Trong chương này, chúng ta sẽ thực hiện mật mã affine bằng cách tạo ra lớp tương ứng của nó bao gồm hai hàm cơ bản để mã hóa và giải mã.
Mã
Bạn có thể sử dụng mã sau để triển khai mật mã affine -
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')
Đầu ra
Bạn có thể quan sát kết quả sau khi triển khai mật mã affine:
Đầu ra hiển thị tin nhắn được mã hóa cho tin nhắn văn bản thuần túy Affine Cipher và tin nhắn được giải mã cho tin nhắn được gửi dưới dạng đầu vào abcdefg.