前言
1.仿射密码
仿射密码是一种基于数学运算的加密算法,它将明文中的每个字母通过一系列的数学变换,转化为密文中的一个字母。
具体算法:
设明文中的一个字母为x,加密后的字母为y,加密密钥为(a, b),则仿射密码的加密公式为:
y = (ax + b) % n
其中,n为字母表的大小(通常为26),% 表示取余运算。
换算:
为了解密密文,需要求出加密密钥的逆元,然后按照逆元的公式进行解密。
设密文中的一个字母为y,解密后的字母为x,加密密钥为(a, b),则仿射密码的解密公式为:
x = a’ * (y - b) % n
其中,a’为a的逆元,% 表示取余运算。
2.逆元
逆元,指在模运算下,对于给定的整数a和模数m,如果存在一个整数x,使得(a