在使用凯撒密码技术时,加密和解密符号涉及使用简单的加法或减法基本过程将值转换为数字。
如果乘法用于转换为密文,则称为wrap-around情形。 考虑使用的字母和相关数字,如下所示 -
这些数字将用于乘法过程,相关密钥为7.在这种场景中用于生成乘法密码的基本公式如下 -
(Alphabet Number * key)mod(total number of alphabets)
通过输出获取的数字映射在上面提到的表中,相应的字母作为加密字母。
Python中乘法密码的基本调制函数如下 -
def unshift(key, ch):
offset = ord(ch) - ASC_A
return chr(((key[0] * (offset + key[1])) % WIDTH) + ASC_A)
Note - 乘法密码的优点是它可以使用非常大的密钥,如8,953,851。 计算机需要相当长的时间才能通过大多数九百万个键来暴力破解。