-
对称加密:加密和解密使用的是同一个密钥,加解密双方必须使用同一个密钥才能进行正常的沟通。 -
-
非对称加密:需要两个密钥来进行加密和解密,公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥) ,公钥加密的信息只有私钥才能解开,私钥加密的信息只有公钥才能解开。这个公钥和私钥必须是一对的,如果用公钥对数据进行加密,那么只有使用对应的私钥才能解密,所以只要私钥不泄露,那么我们的数据就是安全的。
哈希算法
先算出摘要(hash值),对称进行签名,直接签名的话性能差
哈希函数的作用是给一个任意长度的数据生成一个固定长度的数据
3.4 签名
3.5 数字证书
- 数字证书是一个由可信的第三方发出的,用来证明所有人身份以及所有人拥有某个公钥的电子文件
-
image
3.6 密钥交换算法
- Diffe-Hellman【赫尔曼算法】算法是一种密钥交换协议(交换方式rha和ecc),它可以让双方在不泄露的情况下协商出一个密钥来
-
image
?
常用的加密算法:
-
对称加密:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES。 -
非对称加密:RSA、ECC(椭圆曲线加密算法)、Diffie-Hellman、El Gamal、DSA(数字签名用) -
Hash 算法:MD2、MD4、MD5、HAVAL、SHA-1、SHA256、SHA512、RipeMD、WHIRLPOOL、SHA3、HMAC
二、非对称加密工作过程
甲乙双方使用非对称加密算法的方式进行数据传输
- 乙方生成一对密钥(公钥与私钥),并将公钥向甲方公开
- 甲方获取到公钥后,将需要传输的数据用公钥进行加密发送给乙方
- 乙方获取到甲方加密数据后,用私钥进行解密
- 在数据传输过程中,即使数据被攻击者截取并获取了公钥,攻击者也无法破解密文,因为只有乙方的私钥才能解密
三、非对称加密中,究竟是公钥加密还是私钥加密?
- 对于加密:公钥加密,私钥解密。毕竟公钥可以公开,但是私钥只有你自已知道,你也同样希望只有你自已才能解密
- 对于签名:私钥加密,公钥解密。好比你的签名只有你自已签的才是真的,别人签的都是假的。
五、RSA非对称加密的缺点
加解密速度较慢,不太适用于高并发的业务场景,一般用它做少量的数据加密。
?
|