learning_notes

学习笔记

View project on GitHub

非对称加密

算法

  1. RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
  2. DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);
  3. ECC(Elliptic Curves Cryptography):椭圆曲线密码编码学。
  4. RC4

ECC和RSA比较

ECC和RSA相比,在许多方面都有对绝对的优势,主要体现在以下方面:

  1. 抗攻击性强。相同的密钥长度,其抗攻击性要强很多倍。
  2. 计算量小,处理速度快。ECC总的速度比RSA、DSA要快得多。
  3. 存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多,意味着它所占的存贮空间要小得多。这对于加密算法在IC卡上的应用具有特别重要的意义。
  4. 带宽要求低。当对长消息进行加解密时,三类密码系统有相同的带宽要求,但应用于短消息时ECC带宽要求却低得多。带宽要求低使ECC在无线网络领域具有广泛的应用前景。

特点

  1. 每个用户拥用一对密钥加密:公钥和私钥。
  2. 公钥加密,私钥解密;私钥加密,公钥解密。
  3. 公钥传输的过程不安全,易被窃取和替换。
  4. 由于公钥使用的密钥长度非常长,所以公钥加密速度非常慢,一般不使用其去加密。
  5. 某一个用户用其私钥加密,其他用户用其公钥解密,实现数字签名的作用。
  6. 公钥加密的另一个作用是实现密钥交换。
  7. 加密和签名算法:RSA、ELGamal。
  8. 公钥签名算法:DSA。
  9. 加密工具:gpg、openssl

总结

  1. 由于非对称加密算法的运行速度比对称加密算法的速度慢很多,当我们需要加密大量的数据时,建议采用对称加密算法,提高加解密速度。
  2. 对称加密算法不能实现签名,因此签名只能非对称算法。
  3. 由于对称加密算法的密钥管理是一个复杂的过程,密钥的管理直接决定着他的安全性,因此当数据量很小时,我们可以考虑采用非对称加密算法。
  4. 在实际的操作过程中,我们通常采用的方式是:采用非对称加密算法管理对称算法的密钥,然后用对称加密算法加密数据,这样我们就集成了两类加密算法的优点,既实现了加密速度快的优点,又实现了安全方便管理密钥的优点。