仿射密码与凯撒密码同属于替换加密,同样在仿射密码中先将字母转换为数字,不同的是仿射密码中有两个密钥,即A和B,密文等于A乘上明文再加上B(m=As+B,m表示密文,s表示明文)
如果需要对仿射密码解密的话,需要用到乘法逆元的知识,即明文等于密文1减去B的差乘上A在模26下的乘法逆元(s=(m-B)A**-1)

乘法逆元:若a乘以b再除以n的余数为1(a*b%n=1),则称a与b互为模n下的乘法逆元,x除以a等于x乘以b,对于小整数可用以下脚本进行求解

而对于大整数,则需要使用gmpy2.invert()函数

对于仿射密码解密可用以下脚本:

posted on 2024-09-29 09:55  物理学q  阅读(44)  评论(0编辑  收藏  举报