手记

java安全~非对称加密算法

1、简述

非对称加密算法相比对称加密算法具有高级、双保险的优点,构建密钥对并遵循"公钥加密、私钥解密"和"私钥加密、公钥解密"这两种加密方式,主要有DH(Diffie-Hellman)密钥交换算法、RSA(基于因子分解)、ElGamal(基于离散对数)、ECC(椭圆曲线加密)共4种算法。
DH密钥交换算法是最原始非对称加密算法的实现方式,交互双方通过交换密钥完成消息加密传输,Java 6提供了DH算法的完善支持。继DH算法后,国际上提出了两种基于数学问题求解的非对称加密算法:基于因子分解难题和离散对数难题。基于因子分解难题的目前只有RSA算法,基于离散对数难题的加密算法包括ElGamal和ECC。
ECC椭圆曲线加密算法是以椭圆曲线理论为基础,创建密钥时更快更小、更高效。ECC算法通过椭圆曲线方程式的性质产生密钥,不是采用传统方法利用大质数的积来产生。
目前,非对称加密算法应用于B2B、B2C等安全性要求高的电子商务领域。

2、DH
  • 对称加密带来的困扰
  • 构建本地密钥
  • 对称

3、RSA
  • 唯一广泛接受并实现
  • 数据加密&数字签名
  • 公钥加密、私钥解密/私钥加密、公钥解密
  • 基于大数因子分解


4、EIGamal
  • 公钥加密算法
  • Bouncy Castle提供实现


2人推荐
随时随地看视频
慕课网APP