你的位置:首页 > Java教程

[Java教程]第十三章 三种非对称加密算法总结

13.1、DH

  • 非对称算法的基石
  • 仅能用于密钥分配,不能用于加解密数据,一般加密数据用AES
  • 密钥长度:512~1024中的64的整数倍
  • 双方各有自己的密钥对

13.2、RSA

  • 最经典的非对称加密算法
  • 也可认为是使用最多的非对称加密算法
  • 能用于密钥分配,也能用于加解密数据(“私钥加密,公钥解密”和“公钥加密,私钥解密”)
  • 密钥长度:512~65536(64的整数倍)
  • 只有发送方有一个密钥对,或者更安全的做法是:双发均生成自己的密钥对,但是后边使用密钥对进行加解密时与DH的区别查看前一章
  • 可用于数字签名

13.3、ElGamal

  • 数字签名DSA的基础
  • 具体实现方式只有BC有,与RSA的实现方式类似
  • 只有“公钥加密,私钥加密”方式(公钥加密实际上安全性不高)
  • 密文会成倍扩张