对称加密与非对称加密:理解关键差异
密码学是加密和解密数据的艺术。加密是将未加密数据(明文)编码为加密数据(密文)的过程,以伪装数据并使其不可读。解密是将加密数据解码为可读信息的方法。
加密算法(或称密码)涉及使用一个变量——称为密钥——使数据不可读。只有拥有正确解密密钥的个人或实体才能读取数据。两种广泛使用的密码类型是对称和非对称。简而言之,对称加密使用单个秘密密钥,而非对称加密涉及一对秘密密钥。
让我们看看这两种加密类型、它们的优缺点、用例以及何时使用。
什么是对称加密及其工作原理?
对称加密,也称为秘密密钥加密或单密钥加密,使用单个秘密密钥进行加密和解密,将明文转换为密文并返回。
流密码和分组密码是对称算法的两种类型。流密码一次加密1位数据,而分组密码加密分为设定长度或块的数据。
在对称加密示例中,发送者Alice使用约定的共享密钥加密她的消息,并将加密消息发送给Bob。Bob接收加密消息并使用共享密钥解密消息。
对称加密使用相同的秘密密钥加密和解密消息。
对称加密算法
对称加密算法有多种类型,包括以下:
- 数据加密标准(DES):发布于1976年,DES是第一个现代对称加密算法。该分组密码不再被视为安全。
- 高级加密标准(AES):AES是对称密钥密码学中最广泛使用的算法。它于2001年被NIST指定为DES的继任者。AES包括三种分组密码——AES-129、AES-192和AES-256——每种都被认为足以保护政府机密信息至秘密级别,绝密信息需要192或256位密钥长度。
- 三重DES(3DES):也称为三重数据加密算法(TDEA),3DES是一种使用三个56位密钥的分组密码,总强度为168位。它比DES更安全,但不如AES强大。NIST于2017年弃用其在新应用中的使用,并呼吁在2023年前完全弃用3DES,之后其使用被禁止。
- 国际数据加密算法(IDEA):IDEA的典型块大小为64位。它用于Pretty Good Privacy及其继任者OpenPGP。
- Blowfish:一种64位分组密码,Blowfish的小块大小使其易受攻击。
- Twofish:Blowfish的继任者,Twofish的块大小为128位。
- Skipjack:这是一种由国家安全局开发的64位分组密码。截至2016年,它不再被认证用于加密政府数据。
- Rivest Cipher 4(RC4):RC4是一种流密码。2000年代和2010年代的攻击揭示了RC4算法的弱点,互联网工程任务组于2015年2月禁止其在TLS中使用。
对称加密的用途包括支付应用、验证和伪随机数生成或哈希。
对称加密的优缺点
对称加密的优点包括:
- 更快的安全性:对称加密运行更快,因为它只使用单个秘密密钥,并且基于较简单的数学。
- 适合大数据集:对称加密在加密大量数据时表现良好。
- 更安全:对称加密比非对称加密更安全,尤其是在量子计算变得可行之后。
对称加密的缺点包括:
- 没有安全共享密钥的最佳方法:对称加密需要在开放网络(互联网)上共享秘密密钥,这增加了每次共享时被泄露的风险。
- 单点故障:如果双方使用的秘密密钥被泄露,交易双方都面临风险,数据可以被解密。
什么是非对称加密及其工作原理?
非对称加密,也称为公钥加密,使用两个相互依赖的密钥将明文转换为密文:一个用于加密数据(公钥),另一个用于解密用公钥加密的数据(称为私钥)。公钥可以被任何人用于加密数据。私钥(也称为秘密密钥)只有解密消息的实体知道。
在非对称加密示例中,发送者Alice使用公钥加密她的消息,并将加密消息发送给Bob。Bob接收加密消息并使用他的私钥解密它。
非对称加密使用公钥和私钥对加密和解密消息。
使用两个不同的密钥提供了许多不同的功能,最重要的可能是数字签名。除其他外,数字签名保证消息是由特定实体创建的。数字签名还验证远程系统或用户。
需要注意的是,一旦密码学相关的量子计算机出现,当前的非对称算法将不再受欢迎。非对称算法依赖于在经典计算机上执行某些数学操作的难度,例如大质数的分解。虽然经典计算机需要数千到数十亿年才能破解非对称加密,但量子计算机将能够在几天甚至几小时内完成。
根据所有估计,量子计算仍需数年时间,但安全专家警告“现在收集,以后解密”攻击,恶意行为者现在窃取加密数据,并在算法可用量子计算机破解时解密。
非对称加密算法
最常见的非对称加密算法包括:
- Diffie-Hellman密钥交换:DH密钥交换使双方能够安全地交换密码密钥,无论通信渠道是公共还是私有。
- Rivest-Shamir-Adleman(RSA):基于DH,RSA常用于电子商务协议,并被认为在密钥足够长且使用最新实现时是安全的。
- 椭圆曲线密码学(ECC):基于椭圆曲线理论,ECC使用代数函数在密钥对之间生成安全性。
非对称密码学用于密钥交换、电子邮件和网络安全,以及加密货币,如比特币。
非对称加密的优缺点
非对称加密的优点包括:
- 私钥更安全:私钥从不分发或交换,保持通信更安全。
- 公钥可以被任何人知道而无问题:公钥可以在线自由传输或公开发布,而不会损害通信。
- 来源和交付证明:数字签名启用发送者认证,因为非对称加密启用不可否认性。
非对称加密的缺点包括:
- 加密速度较慢:非对称加密比对称加密慢。
- 如果私钥丢失则被锁定:如果实体丢失其私钥,消息无法解密。如果私钥被盗,攻击者可以使用它解密他们的消息。
- 公钥所有权未认证:用户必须验证他们的公钥属于他们。
- 对量子计算弱:非对称加密依赖于量子计算擅长的数学方程求解。
非对称密码学易受暴力攻击和中间人攻击。此外,如果恶意黑客知道任一用户的私钥,他们可以使用它解密数据。
密码哈希的重要性
密码哈希函数与其他密码算法相比有 somewhat 不同的角色。它用于基于一段数据(例如文件或消息)返回值。数据的任何意外或故意更改都会更改此哈希值。
一个好的哈希算法应使创建产生特定哈希值的初始输入或从哈希值计算原始输入成为不可能。消息摘要5(MD5)和安全哈希算法1(SHA-1)是广泛使用的哈希算法,现在被认为弱。它们于2014年被弃用,并被SHA-224、SHA-256、SHA-384和SHA-512取代,统称为SHA-2。SHA-3于2015年发布。它由SHA-3-224、SHA-3-256、SHA-3-384和SHA-3-512以及两个可扩展输出函数SHAKE128和SHAKE256组成。SHA-3被标记为备份标准,而不是SHA-2的替代品。
有多种加密算法和哈希函数可用。
对称与非对称:哪个更好?
选择加密算法时,重要的是考虑被加密数据的类型。高风险或敏感数据,例如机密客户信息,需要比营销计划更强的加密。
性能是另一个关键因素。非对称加密通常比对称加密慢,因为创建两个密钥而不是一个。然而,对称加密使用相同密钥的权衡是,该密钥有多次暴露的机会。非对称加密的分发密钥意味着私钥从不分发,因此更安全。
如前所述,对称和非对称加密算法有不同的漏洞。重要的是理解应用,以将最合适的算法与特定用例匹配。
在许多场景中,如SSL/TLS,对称和非对称算法都用于增强安全性。因为非对称加密比对称加密慢得多,数据通常用对称算法加密,然后较短的对称密钥使用非对称加密加密。这使得解密数据所需的密钥能够与对称加密数据一起安全地发送给其他方。在另一个示例中,安全/多用途互联网邮件扩展(S/MIME)使用非对称算法进行不可否认性,使用对称算法进行高效的隐私和数据保护。
关键要点
密码学格局不断变化,但两种加密类型都有其用例。对称加密仍然适用于保护静态数据,例如数据库保护和全盘加密。非对称加密适用于保护通信,例如数字签名和哈希对称密钥。
然而,一旦量子计算变得可行——预计在未来五到十年内——当前的非对称加密算法将无法保护数据。
安全专家建议组织开始从当前的非对称算法迁移到NIST审查的量子安全算法。另一个选项是使用当前密码标准和量子安全算法的混合方法,以保护数据免受经典和量子计算机的攻击,使组织在算法变得可破解时能够密码敏捷。
Michael Cobb, CISSP-ISSAP, 是一位退休的安全作者,拥有超过20年的IT行业经验。Informa TechTarget编辑于2025年修订了本文,以改善读者体验。