加密相关总结

分组加密(对称加密是一种分组加密)

特点:加密解密使用同一个秘钥
优点:加解密简单,速度快
缺点:秘钥传输问题,只要秘钥未被泄露,这是最快的加密方式

DES对称加密算法 - des包
AES对称加密算法 - aes包
分组密码算法五种标准分组模式 - cippher包

公钥密码(非对称加密)

特点:加密解密使用不同的秘钥,私钥保存,公钥公开。
优点:相对安全
缺点:加密复杂,速度慢

RSA公钥密码算法 - rsa包
标准椭圆曲线算法 - elliptic包

其他加密

tls协议 - tls包
X.509编码格式的秘钥和证书的解析 -x509包
DSA数字签名算法 - dsa包

单向散列函数(哈希函数) - 消息摘要/签名

特点:给原文生成固定长度的散列值,不同的原文可能生成相同的散列值,但概率很低,这叫碰撞。

md5包:实现了RFC 1321中定义的MD5哈希算法。
sha1包:实现了RFC 3174中定义的SHA-1哈希算法。
sha256包:实现了NIST标准中的SHA224和SHA256哈希算法。
sha512包:实现了NIST标准中的SHA384和SHA512哈希算法。
消息认证码(Message Authentication Code,MAC)
hmac包:实现了NIST标准中的基于单向散列函数的消息认证码(HMAC)算法。
加密方式 检查篡改 防泄漏 检查伪装 防否认 安全传输 用途
对称加密 加密(性能好)
非对称1(私加公解) 签名
非对称2(公加私解) 加密(性能差)
消息摘要/单向散列 - - 防篡改
对称加密+单向散列 消息认证码
非对称1+单向散列 数字签名
对称+非对称1+摘要+证书 https

htts大致原理

  1. 只要秘钥不泄露就不存在篡改、泄露和伪装的问题,但是秘钥的本身传输通信双方是无法加密的。
  2. CA机构,使用自己的私钥加密服务端的公钥,生成证书发送给客户端。
  3. 客户端使用CA机构的公钥解析证书,得到服务端的公钥等信息。(私钥加密无法篡改证书)
  4. 客户端使用服务端的公钥对自己的秘钥M(对称秘钥)加密,将其发送给服务端。(公钥加密防篡改和泄露)
  5. 之后通过对称秘钥M加解密就可以实现安全通信了。
  6. 单向散列算法以及校验规则也可以和服务器公钥一起放入证书。
posted @ 2023-11-21 20:41  longan55  阅读(26)  评论(0)    收藏  举报