非对称加密算法
公钥和私钥,在非对称加密算法中,有的算法支持公钥加密私钥解密,有的算法支持私钥加密公钥解密,有的这两种算法都支持。
- DH(Diffie-Hellman) - 密钥交换算法
- RSA - 基于因子分解
- ElGamal - 基于离散对数
- ECC(Elliptical Curve Cryptography) - 椭圆曲线加密
DH(Diffie-Hellman) - 密钥交换算法
密钥长度 |
默认 |
工作方式 |
填充方式 |
实现方 |
512-1024(64倍数) |
1024 |
无 |
无 |
JDK |
初始化发送方密钥
- KeyPairGenerator
- KeyPair
- PublicKey
初始化接收方密钥
- KeyFactory
- X509EncodedKeySpec
- DHPublicKey
- DHParameterSpec
- KeyPairGenerator
- PrivateKey
密钥构建
- KeyAgreement
- SecretKey
- KeyFactory
- X509EncodedKeySpec
- PublicKey
加密,解密
代码实现
RSA
- 数据加密&数字签名
- 公钥加密,私钥解密
- 私钥加密,公钥解密
ElGamal
参考资料
JAVA实现非对称加密