真实面经题目 · 原创解析
常见的加解密算法有哪些?
常见加解密算法要按对称加密、非对称加密、哈希摘要、消息认证和签名分类回答,并说明它们解决的问题不同。
出现于:百度 · 算法
真实面经题目 · 原创解析
常见加解密算法要按对称加密、非对称加密、哈希摘要、消息认证和签名分类回答,并说明它们解决的问题不同。
加解密算法可以先分类。对称加密如 AES、ChaCha20,用同一密钥加解密,速度快,适合大量数据;非对称加密如 RSA、ECC,用公私钥体系,适合密钥交换、身份认证和小数据加密;哈希如 SHA-256、SM3 不是加密,主要做摘要和完整性校验;HMAC 用共享密钥做消息认证;数字签名如 RSA/ECDSA 用私钥签名、公钥验签。面试里要避免把哈希说成可逆加密,还要结合 HTTPS 说明对称加密传数据、非对称机制解决密钥协商和身份信任。
常见安全算法不是一类东西。要区分机密性、完整性、身份认证、不可抵赖和密钥协商,每类算法解决的问题不同,不能只罗列名称。
AES、ChaCha20 等对称加密用同一个密钥加密和解密,速度快,适合传输大量数据。问题是密钥如何安全分发,以及密钥泄漏后的影响范围。
RSA、ECC 等使用公钥和私钥,公钥可公开,私钥保密。它常用于密钥交换、签名验签和身份认证,但计算成本较高,通常不直接承载大流量数据。
SHA-256、SM3 是单向摘要,不能解密。HMAC 在哈希基础上加入共享密钥,用于验证消息确实来自持有密钥的一方且未被篡改。
HTTPS 通常用非对称机制完成证书验证和密钥协商,再用对称加密传输数据,这体现了安全性和性能之间的组合取舍,也是最容易讲清分类价值的例子。
加密是可逆的,持有密钥可以解密;哈希是单向摘要,用于完整性校验和索引,不应被称为解密。
非对称计算成本高,不适合大流量数据传输,通常只用于协商密钥或签名,数据传输使用对称加密。
签名用私钥生成、用公钥验证,证明身份和完整性;加密关注只有目标方能解密读取内容。