欧拉函数:
想要了解rsa,首先就得先明白什么是欧拉函数,即phi;
欧拉函数即是运算某一个数内最大公约数为 1 且与其互质的数的数量,例:p = 3 , q = 5 ,且要满足gcd(p,q) = 1,n = p*q;
phi(n) = (p-1)*(q-1),phi(n) = (3-1)*(5-1) = 8,即在15以内,2、3、4、5、7、8、11、13、14与其互质,且最大公约数为:1 ;
RSA加密解密方式,p和q的定义:
rsa是一种非对称的加密方式,即一个公钥key(e,n),一个私钥key(d,n),
要满足rsa加密,需要获取两个互素的数,即p和q,n = p*q,phi(n) = (p-1)*(q-1);
因为rsa是非对称的加密方式,所以需要e是可逆的,故而需要满足gcd(e,phi)=1;
且e的取值范围为:1<e<phi,私钥d=e^-1 mod phi;
加密 c = m^e mod n,解密 m = c^d mod n。
扩展欧几里得:
当任意两个正整数 a 和 b,且gcd(a,b)= 1 时有:ax+by = gcd(a,b) = 1 , x 和 y 其中可能有一个为负数。