Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 192

密码算法(Cipher)

审核人Cybersecurity entrepreneur & security researcher

密码算法(Cipher) 是什么?

密码算法(Cipher)将明文变换为密文(加密)并能逆向得到明文(解密)的算法,由一个或多个加密密钥参数化。


密码算法是执行加密与解密的算法。现代算法分为对称(单一共享密钥,如 AES、ChaCha20、3DES)与非对称(公私钥对,如 RSA、ECC),也可分为分组密码(固定块长,如 AES-128)与流密码(逐比特或逐字节,如 ChaCha20)。算法通常与工作模式(CBC、GCM、CTR)、密钥派生、MAC 或 AEAD 构造一起使用,以同时实现机密性与完整性。当前推荐选择 AEAD 构造,例如 AES-GCM、AES-GCM-SIV、ChaCha20-Poly1305,并正确处理 IV/nonce。

从古典密码到标准化密码

密码的历史早于计算机——代换密码(凯撒)、多表密码(维吉尼亚)和转轮机(Enigma)最终都被破解,因此现代密码的设计是公开且经同行评审的,而非依赖保密(柯克霍夫原则)。AES 在经过 NIST 公开竞赛后由 FIPS 197(2001)标准化,至今仍是默认的对称密码。较旧的算法已被正式淘汰:NIST SP 800-131A Rev. 2 规定三密钥 3DES 在 2023 年 12 月 31 日之后不得再用于加密;RC4 因其密钥流存在偏差、可用于明文恢复攻击,已被 RFC 7465 在 TLS 中禁用。如今选择强密码意味着采用 AEAD 构造,如 AES-GCM、AES-GCM-SIV(RFC 8452)或 ChaCha20-Poly1305(RFC 8439),并正确处理 IV/nonce——在 GCM 中重用 nonce 是灾难性的,会泄露认证密钥并导致伪造。密码敏捷性(可在不重构系统的情况下更换算法)如今已成为设计要求,并由向 ML-KEM 等后量子原语迁移的需求所推动。

flowchart LR
  P[Plaintext] --> Enc["Cipher + mode (encrypt)"]
  K1[Key] --> Enc
  Enc --> C[Ciphertext]
  C --> Dec["Cipher + mode (decrypt)"]
  K2[Key] --> Dec
  Dec --> P2[Plaintext]
  C -. intercepted .-> A[Attacker sees only ciphertext]

示例

  1. 01

    TLS 1.3 密码套件 TLS_AES_128_GCM_SHA256。

  2. 02

    使用 AES-XTS-256 的磁盘加密。

常见问题

密码算法(Cipher) 是什么?

将明文变换为密文(加密)并能逆向得到明文(解密)的算法,由一个或多个加密密钥参数化。 它属于网络安全的 密码学 分类。

密码算法(Cipher) 是什么意思?

将明文变换为密文(加密)并能逆向得到明文(解密)的算法,由一个或多个加密密钥参数化。

如何防御 密码算法(Cipher)?

针对 密码算法(Cipher) 的防御通常结合技术控制与运营实践,详见上方完整定义。

相关术语

另见