对称加密和非对称加密主要区别在于公私钥是否相同。公钥和私钥相同时对称加密,公钥和私钥不同是非对称加密。
常用的对称加密算法有DES、3DES、AES、DESX、Blowfish、、RC4、RC5、RC6
常用的非对称加密算法有RSA、DSA(数字签名用)、ECC(移动设备用)、Diffie-Hellman、El Gamal
1、RSA非对称加密算法
RSA是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。
具体算法步骤如下:
(1)选择一对不同的、足够大的素数p,q。
(2)计算n=pq。
(3)计算f(n)=(p-1)(q-1),同时对p, q严加保密,不让任何人知道。
(4)找一个与f(n)互质的数e作为公钥指数,且1<e<f(n)。
(5)计算私钥指数d,使得d满足(d*e) mod f(n) = 1
(6)公钥KU=(e,n),私钥KR=(d,n)。
(7)加密时,先将明文变换成0至n-1的一个整数M。若明文较长,可先分割成适当的组,然后再进行交换。设密文为C,则加密过程为:C=M^e mod n。
(8)解密过程为:M=C^d mod n。
原文链接:https://blog.csdn.ne