60 秒回答模板

加解密算法可以先分类。对称加密如 AES、ChaCha20,用同一密钥加解密,速度快,适合大量数据;非对称加密如 RSA、ECC,用公私钥体系,适合密钥交换、身份认证和小数据加密;哈希如 SHA-256、SM3 不是加密,主要做摘要和完整性校验;HMAC 用共享密钥做消息认证;数字签名如 RSA/ECDSA 用私钥签名、公钥验签。面试里要避免把哈希说成可逆加密,还要结合 HTTPS 说明对称加密传数据、非对称机制解决密钥协商和身份信任。

考点 算法分类
难度 真实面经题
回答目标 讲清方法、边界和追问

深入解析

01

先按用途分类

常见安全算法不是一类东西。要区分机密性、完整性、身份认证、不可抵赖和密钥协商,每类算法解决的问题不同,不能只罗列名称。

02

对称加密

AES、ChaCha20 等对称加密用同一个密钥加密和解密,速度快,适合传输大量数据。问题是密钥如何安全分发,以及密钥泄漏后的影响范围。

03

非对称加密

RSA、ECC 等使用公钥和私钥,公钥可公开,私钥保密。它常用于密钥交换、签名验签和身份认证,但计算成本较高,通常不直接承载大流量数据。

04

哈希和认证

SHA-256、SM3 是单向摘要,不能解密。HMAC 在哈希基础上加入共享密钥,用于验证消息确实来自持有密钥的一方且未被篡改。

05

结合协议说明

HTTPS 通常用非对称机制完成证书验证和密钥协商,再用对称加密传输数据,这体现了安全性和性能之间的组合取舍,也是最容易讲清分类价值的例子。

易错点

  • 不要把 MD5、SHA 这类哈希算法说成加密算法且可解密。
  • 不要只背算法名,要说清使用场景和安全目标。
  • 不要忽略密钥管理,算法安全不代表系统就安全。

面试官追问

哈希和加密有什么区别?

加密是可逆的,持有密钥可以解密;哈希是单向摘要,用于完整性校验和索引,不应被称为解密。

为什么 HTTPS 不全程用 RSA 加密数据?

非对称计算成本高,不适合大流量数据传输,通常只用于协商密钥或签名,数据传输使用对称加密。

数字签名和加密有什么区别?

签名用私钥生成、用公钥验证,证明身份和完整性;加密关注只有目标方能解密读取内容。