# 密钥长度（Key Size）是什么？定义、例子与常见误区

> 密钥长度是密钥的位数，其安全含义取决于算法，例如 256 位的 ECDSA 密钥比 2048 位的 RSA 密钥更强。

Source: https://ssl.sh/zh/glossary/key-size/
Last updated: 2026-11-10

密钥长度衡量的是密钥有多少位，但不同算法之间的位数不能直接比较。按 NIST SP 800-57 的评估，[RSA](https://ssl.sh/zh/glossary/rsa/) 2048 约相当于 112 位安全强度，RSA 3072 约 128 位；而 [P-256](https://ssl.sh/zh/glossary/p-256/) 曲线上的 [ECDSA](https://ssl.sh/zh/glossary/ecdsa/) 同样约 128 位，P-384 约 192 位。AES-128、AES-256 这类对称算法又是另一套尺度，密钥位数大致就等于安全强度。

## 为什么重要
CA/浏览器论坛基线要求规定公共信任证书的 RSA 模数至少 2048 位，RSA 2048 和 ECDSA P-256 是 TLS 服务器密钥的常见选择。RSA 密钥越大，每次握手时服务器的签名开销越高；椭圆曲线密钥小而快，所以很多站点更愿意用 ECDSA。CA 自己的密钥往往更长，因为寿命更久：Let's Encrypt 的 Generation Y 根证书分别是 RSA-4096（ISRG Root YR）和 ECDSA P-384（ISRG Root YE）。国密 SM2 也是 256 位的椭圆曲线算法。无论多长的 RSA 或 ECDSA 密钥都挡不住足够大的量子计算机，这正是[后量子密码](https://ssl.sh/zh/glossary/post-quantum-cryptography/)出现的原因。

## 例子
```bash
openssl x509 -in example.com.crt -noout -text | grep "Public-Key"
#                 Public-Key: (2048 bit)
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out rsa3072.key
```

## 常见误区
- **256 位 ECC 比 2048 位 RSA 弱。** 恰恰相反，两种位数衡量的不是同一件事。
- **越长越好。** RSA 8192 会明显拖慢握手而收益有限，一般选 RSA 2048/3072 或 ECDSA P-256/P-384 即可。
- **"256 位加密"指的是证书。** 这类宣传通常指会话协商出的对称加密算法，而不是证书密钥。

## 相关术语

- [RSA](https://ssl.sh/zh/glossary/rsa/): RSA 是 1977 年提出的公钥算法，TLS 用它对证书和握手进行签名，在 TLS 1.3 之前还用它传输会话密钥。
- [ECDSA](https://ssl.sh/zh/glossary/ecdsa/): ECDSA 是基于椭圆曲线的数字签名算法，在 TLS 证书中作为 RSA 的替代方案，密钥和签名更小、签名运算更快。
- [ECC](https://ssl.sh/zh/glossary/ecc/): ECC 即椭圆曲线密码学，是基于有限域上椭圆曲线代数结构的公钥密码技术，能用较短的密钥提供很高的安全强度。
- [P-256](https://ssl.sh/zh/glossary/p-256/): P-256 是 NIST 标准化的 256 位素数域椭圆曲线，也叫 secp256r1 或 prime256v1，广泛用于 ECDSA 证书和 ECDHE 密钥交换。
- [Ed25519](https://ssl.sh/zh/glossary/ed25519/): Ed25519 是在 Curve25519 爱德华兹形式上实现的 EdDSA 签名方案，由 RFC 8032 定义，公钥 32 字节，签名 64 字节且为确定性签名。
- [后量子密码](https://ssl.sh/zh/glossary/post-quantum-cryptography/): 后量子密码（PQC）是专为抵御大规模量子计算机攻击而设计的公钥密码算法，用来替代可能被量子计算机破解的 RSA 和 ECC。
- [私钥](https://ssl.sh/zh/glossary/private-key/): 私钥是非对称密钥对中保密的那一半，TLS 服务器用它证明自己拥有证书里的那把公钥。
