rsa 算法小结
相传 RSA 是一个爆简单但是爆难破解的算法:
算法如下:
找两素数p和q
取n=p*q
取t=(p-1)*(q-1)
取任何一个数e,要求满足e<t并且e与t互素(就是最大公因数为1)
取d*e%t==1
这样最终得到三个数: n d e
设消息为数M (M <n)
设c=(M**d)%n就得到了加密后的消息c
设m=(c**e)%n则 m == M,从而完成对c的解密。
注:**表示次方,上面两式中的d和e可以互换。
3
实践:
两个数 7 和 11 分别是 p, q
根据算法求得 n = 77, t=60
取一个 e = 17
取一个 d = 53 (d 由程序穷举出来)
现在需要加密的数字 m = 5
加密后的消息 c = 59
解密后消息 m = 5