Mật mã đa số
Trong khi sử dụng kỹ thuật mật mã Caesar, việc mã hóa và giải mã các ký hiệu liên quan đến việc chuyển đổi các giá trị thành số bằng một quy trình cơ bản đơn giản là cộng hoặc trừ.
Nếu phép nhân được sử dụng để chuyển đổi thành văn bản mật mã, nó được gọi là wrap-aroundtình hình. Hãy xem xét các chữ cái và các số liên quan sẽ được sử dụng như hình dưới đây -
Các số sẽ được sử dụng cho quy trình nhân và khóa liên quan là 7. Công thức cơ bản được sử dụng trong trường hợp như vậy để tạo mật mã nhân như sau:
(Alphabet Number * key)mod(total number of alphabets)
Số được tìm nạp thông qua đầu ra được ánh xạ trong bảng được đề cập ở trên và ký tự tương ứng được coi là ký tự được mã hóa.
Chức năng điều chế cơ bản của mật mã nhân trong Python như sau:
def unshift(key, ch):
offset = ord(ch) - ASC_A
return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)
Note- Ưu điểm với mật mã nhân là nó có thể hoạt động với các khóa rất lớn như 8,953,851. Sẽ mất một khoảng thời gian khá dài để một máy tính có thể sử dụng phần lớn chín triệu phím.