非对称密钥加密算法
1、RSA算法
过程:
选择两个大素数P,Q,计算N=P*Q
选择一个公钥(加密密钥)E,使其不是(P-1)和(Q-1)的因子
选择私钥(解密密钥)D,满足条件:(D*E)mod (P-1)*(Q-1)=1
加密时,从明文PT计算密文CT如下:CT=PT^E mod N,将密文CT发送给接受方
解密时,从密文CT计算明文PT如下:PT=CT^D mod N
例子:
选择两个大素数P=47,Q=71,计算N=P*Q=3337
选择一个公钥(加密密钥)E,使其不是(P-1)=46和(Q-1)=70的因子,42和70的因子有:2、5、7、23,所以选E=79
选择私钥(解密密钥)D,满足条件:(D*E)mod (P-1)*(Q-1)=1,D可以取1019
加密时,从明文PT计算密文CT如下:CT=PT^E mod N,将密文CT发送给接受方,CT=1133^79 mod 3337
解密时,从密文CT计算明文PT如下:PT=CT^D mod N
2、MD5
2.1原理
第一步:填充
在原消息中增加填充位,目的是使原消息的长度等于一个值,这个值比512的倍数少64位。若原信息长度100位&#