1. RSA算法
RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman), 是第一个既能用于数据加密也能用于数字签名的算法,易于理解和操作,应用广泛。RSA的安全性依赖于大整数因子分解。目前来看,攻击RSA算法最有效的方法便是分解模n。一般认为RSA需要1024位或更长的魔术才有安全保障。
2. DSA数字签名算法
DSA(Digital Signature Algorithm), 是在借鉴了ElGamal及Schnorr签名算法的基础上,公布的数字签名标准(Digital Signature Standard),该标准采用的算法。其安全性同样基于有限域的离散对数问题。目前DSA的应用越来越广泛。
3. ECC椭圆曲线密码编码学
相比RSA等公钥算法,使用较短的密钥长度而能得到相同程度的安全性。预测未来ECC(Elliptic Curve Cryptography)将会取代RSA成为主流的密钥算法。
算法对比