RSA
取一个很大的数r=p*q为两个素数的乘积.
令t=(p-1)*(q-1).取公钥e<t,且(e,t)=1用来加密, 私钥d使得d*e≡1 (mod t)用来解密.
设明文为a, 则密文b为a^e mod r.
解密方式为: b^d mod r.
例如r=13*19, 取公钥e=35,算得私钥d=71.
证明: 设e*d=k*t+1, 则(a^e)^d=a^(k*t+1)=(a^t)^k * a≡a (mod r).
最后的同余是由于Euler定理,α(r)=t.
优质内容筛选与推荐>>