Liuqichun's Blog

分享|常见加密技术

加密是为了保护数据的安全,进行数据校验,或者进行认证。从用途上看,常见手段分成三类:对称加密、非对称加密,以及不可逆的摘要(Digest)算法。前几天在团队分享加密相关的知识,也是现学现卖,看了本书和在网上查了些资料就开始讲了,废话不多说了,进入本篇文章的主题。

加密相关的基础知识

三者经常一起用,而不是互斥:HTTPS 里用非对称算法交换/协商会话密钥,用对称算法加密后续流量,用摘要和 HMAC(或 AEAD)保证数据没被改过。

常见算法

对称加密

非对称加密

单向散列

实际里怎么组合

一个典型的「既要快又要能在网上传密钥」的流程:

  1. 用证书确认对方公钥是真的(防中间人)
  2. 用 RSA 或 ECDH 协商出一把临时的对称密钥
  3. 后续报文用 AES-GCM 加密并校验
  4. 需要证明「是我说的」时,再对摘要做一次私钥签名

记住这张对照就够日常判断:

目标 用什么
加密大量数据 对称加密(AES)
网上交换密钥、证明身份 非对称加密(RSA / ECC)
校验有没有被改过 摘要 / HMAC
证明是某个人说的 私钥签名 + 公钥验签

EOF

<< Previous Post

|

Next Post >>

#分享 #加密技术