密码学协议与密钥工程

共 57 题
#

1. AES-GCM、ChaCha20-Poly1305 在 TLS 1.3、QUIC、WireGuard 中的 AEAD 模式与工程取舍?

A ChaCha20-Poly1305 只依赖 AES-NI 硬件加速
B WireGuard 选择 AES-GCM
C 两者都只在 x86 上可用
D AES-GCM 依赖 AES-NI,ChaCha20-Poly1305 在无硬件加速的 ARM 设备上更优,WireGuard 选择后者 ✓ 正确答案
#

2. HPKE(RFC 9180)混合公钥加密,在端到端加密邮件、消息中的应用与工程实现如何?

A HPKE 用对称密钥协商非对称密钥
B HPKE 由 KEM、KDF、AEAD 组成,提供 base/PSK/Auth 三种模式,适合 E2E 加密 ✓ 正确答案
C HPKE 只能使用 RSA
D HPKE 不提供认证模式
#

3. BLS 签名(Boneh-Lynn-Shacham)的聚合签名

A BLS 签名很长且验证开销极大
B BLS 签名不能聚合
C BLS 使用普通 ECDSA 曲线
D BLS 基于双线性配对,支持多个签名聚合为单个短签名,适合区块链与共识场景 ✓ 正确答案
#

4. ECC(Elliptic Curve Cryptography)vs RSA 的性能对比

A 相同安全强度下 ECC 密钥比 RSA 长得多
B RSA 的私钥运算比 ECC 快
C 256 位 ECC 约等价于 3072 位 RSA,ECC 密钥更小、带宽更省、性能更优 ✓ 正确答案
D ECC 只适合加密,不适合签名
#

5. X25519 / X448 的 ECDH 密钥交换

A X25519 基于 ECDSA 签名
B X25519 需要复杂的填充
C X25519 基于 Curve25519 的 ECDH,设计上支持常数时间实现、抗侧信道,是 TLS 1.3 等现代协议的默认选择 ✓ 正确答案
D X25519 提供 512 位安全强度
#

6. RSA 与 ECDSA 在 TLS 握手阶段的性能

A ECDSA 在相同安全强度下签名验签更快、证书更小,成为 TLS 1.3 主流签名 ✓ 正确答案
B RSA 的私钥签名比 ECDSA 快
C ECDSA 证书比 RSA 大
D TLS 1.3 只支持 RSA
#

7. Diffie-Hellman(DH)的密钥交换原理

A DH 双方计算得到相同的共享密钥 g^(ab) mod p,其安全性依赖离散对数问题 ✓ 正确答案
B DH 自动提供身份认证
C 窃听者能由 A 直接算出 a
D DH 双方得到不同的密钥
#

8. ECDH(Elliptic Curve Diffie-Hellman)的性能优势

A ECDH 的密钥比传统 DH 更大
B ECDH 比传统 DH 慢
C ECDH 只能用于签名
D 相同安全强度下 ECDH 密钥更小、运算更快、带宽更省,是现代密钥协商主流 ✓ 正确答案
#

9. TLS 1.3 的"0-RTT"vs"1-RTT"的密钥派生

A 0-RTT 提供前向保密,1-RTT 不提供
B 两者密钥派生完全相同
C 1-RTT 比 0-RTT 更快
D 0-RTT 复用先前会话密钥上传 early data、减少往返,但可能被重放且无前向保密 ✓ 正确答案
#

10. 密码学工程陷阱,侧信道(Timing、Cache、Power)、随机数质量(CSPRNG)、Padding Oracle 如何规避?

A 使用常数时间比较即可完全消除所有侧信道
B Padding Oracle 攻击不构成威胁
C 普通随机数生成密钥是安全的
D 规避方式是使用 AEAD、CSPRNG、常数时间实现,并避免 Padding Oracle 泄露错误信息 ✓ 正确答案
#

11. FIPS 140-2/3 与 FIPS 203/204/205(后量子标准)的认证意义与商业产品差异?

A FIPS 140 是算法标准,FIPS 203 是模块认证
B FIPS 140 是密码模块安全认证,FIPS 203/204/205 分别是 ML-KEM、ML-DSA、SLH-DSA 的后量子算法标准 ✓ 正确答案
C FIPS 203 定义模块物理安全
D 两者含义相同
#

12. Ed25519 / Ed448(Edwards-curve)的签名优势

A Ed25519 基于 Edwards 曲线,支持常数时间、确定性签名、速度快、签名短,比 ECDSA 更安全 ✓ 正确答案
B Ed25519 需要随机 nonce,存在复用风险
C Ed25519 签名大约是 256 字节
D Ed25519 只能用于加密
#

13. Ed25519 的签名速度(~10μs)与验证速度(~30μs)

A 验签比签名快
B Ed25519 每秒只能完成几次签名
C Ed25519 签名约 10μs、验签约 30μs,性能极高,适合高吞吐签名场景 ✓ 正确答案
D Ed25519 比 RSA 私钥运算慢得多
#

14. RSA 密钥长度 2048、3072、4096 的安全等价性与 NIST 建议

A RSA 密钥长度与安全强度无关
B 2048 位 RSA 提供 256 位安全强度
C 4096 位 RSA 比 2048 位快
D 2048 位 RSA 约 112 位安全强度,NIST 建议 2030 年后用 3072 位及以上 ✓ 正确答案
#

15. RSA-OAEP 的加密与 RSA-PSS 的签名

A OAEP 用于签名,PSS 用于加密
B PKCS#1 v1.5 与 OAEP 安全性相同
C OAEP 和 PSS 都是确定性填充
D OAEP 是加密的随机化填充,PSS 是签名的随机化填充,比 PKCS#1 v1.5 更安全,现代系统强制使用 ✓ 正确答案
#

16. X25519 的 ECDH 协议与前向保密

A X25519 用长期私钥参与会话密钥派生
B X25519 主要用于签名
C X25519 不提供前向保密
D X25519 以临时密钥方式使用(ECDHE),会话密钥只依赖临时密钥,长期私钥泄露不影响历史会话,提供前向保密 ✓ 正确答案
#

17. 填充(padding)中 PKCS#7、PKCS#5、OAEP、PSS 的差异

A PKCS#7 用于 RSA 加密,OAEP 用于分组密码
B PKCS#5 用于 RSA 签名
C OAEP 与 PSS 是确定性填充
D PKCS#7/5 是分组密码的块填充,OAEP 是 RSA 加密的随机化填充,PSS 是 RSA 签名的随机化填充 ✓ 正确答案
#

18. Curve25519 vs secp256r1(P-256)的工程取舍

A 两者都有 NSA 参数问题
B P-256 比 Curve25519 更快且更安全
C Curve25519 只能用于签名
D Curve25519 实现简单、常数时间抗侧信道,但生态兼容性差;P-256 生态成熟但需注意常数时间与 nonce ✓ 正确答案
#

19. ECDSA 的 nonce 复用风险(Sony PS3 案例)

A nonce 复用只会导致签名被伪造,不影响私钥
B nonce 可以固定用一个值
C 同一私钥复用 nonce 可被攻击者恢复私钥,Sony PS3 正是因此被破解,应使用确定性 nonce 或 EdDSA ✓ 正确答案
D ECDSA 不需要 nonce
#

20. NIST P-256、P-384、P-521 曲线的工程取舍

A P-256 安全强度最高
B P-256 约 128 位安全强度、性能最好、兼容最广,是默认选择;P-384/P-521 用于更高安全或合规 ✓ 正确答案
C P-521 性能最好
D 三条曲线安全强度相同
#

21. Ed25519 在 SSH、PGP、TLS 1.3 的应用

A Ed25519 只在 SSH 中使用
B Ed25519 只能用于加密
C TLS 1.3 不支持 Ed25519
D Ed25519 被 SSH、PGP、TLS 1.3 广泛支持,提供小密钥、快速、确定性签名与抗侧信道优势 ✓ 正确答案
#

22. secp256k1(比特币曲线)的工程取舍

A secp256k1 提供 512 位安全强度
B secp256k1 是比特币等区块链的曲线,k=1 形式利于高效点乘,约 128 位安全强度,广泛用于签名与密钥派生 ✓ 正确答案
C secp256k1 与 P-521 相同
D secp256k1 只能用于加密
#

23. BLS12-381(pairing-friendly curve)的零知识证明应用

A BLS12-381 是普通 Weierstrass 曲线,不支持配对
B BLS12-381 只能用于对称加密
C BLS12-381 是 pairing-friendly 曲线,支持高效双线性配对,是 zk-SNARK 等零知识证明的主流选择 ✓ 正确答案
D BLS12-381 无安全强度
#

24. HPKE(Hybrid Public Key Encryption)RFC 9180

A HPKE 由 KEM、KDF、AEAD 组成,支持 base/PSK/Auth 模式,组件可替换,是现代 E2E 加密的基础 ✓ 正确答案
B HPKE 只用 RSA 加密数据
C HPKE 不提供认证功能
D HPKE 是签名标准
#

25. AEAD 的 nonce 重用为什么会同时破坏机密性与完整性,随机 nonce 与计数器 nonce 各需什么约束?

A nonce 重用会同时破坏机密性与完整性,随机 nonce 需保证碰撞概率低,计数器 nonce 需严格单调且不重复 ✓ 正确答案
B nonce 重用只影响机密性
C nonce 可以随意复用
D 计数器 nonce 可以回绕
#

26. Argon2id、scrypt、bcrypt、PBKDF2 在内存硬度、并行度与抗 ASIC 攻击上的对比?

A PBKDF2 内存硬度最高
B scrypt 无内存硬度
C bcrypt 抗 ASIC 最强
D Argon2id 提供内存硬度、时间与并行度可调,抗 GPU/ASIC 最强,是当前最推荐的口令 KDF ✓ 正确答案
#

27. 密码验证为什么应采用带盐的内存困难 KDF,参数升级时如何渐进迁移存量哈希?

A 采用透明重哈希,在用户登录验证时用新参数重算并更新,实现渐进迁移 ✓ 正确答案
B 参数升级需一次性重算全部存量哈希
C 升级参数后旧哈希立即失效
D 口令哈希无需加盐
#

28. ChaCha20-Poly1305 在 ARM 移动端为何取代 AES-GCM,硬件 AES-NI 与 ARMv8 Cryptographic Extension 各自的取舍?

A AES-GCM 在无 AES 指令的 ARM 设备上最快
B ChaCha20-Poly1305 是纯软件、天然常数时间,在无 AES 硬件加速的广泛 ARM 设备上更优,因此移动端常用 ✓ 正确答案
C ChaCha20 需要 AES-NI
D 两者都依赖硬件加速
#

29. X25519 / X448 ECDH 在密钥协商中的性能与抗侧信道特性,libsodium 与 BoringSSL 的实现差异?

A libsodium 与 BoringSSL 的 X25519 实现完全相同
B X448 提供 128 位安全强度
C X25519 不支持常数时间
D 两者都常数时间抗侧信道,但 libsodium 重移植性、BoringSSL 重平台汇编优化,性能侧重不同 ✓ 正确答案
#

30. 当 AES-GCM nonce 由 64 位计数器递增时,跨多个进程共享 key 的代价与重复风险如何评估?

A 各进程独立计数器即可保证 nonce 唯一
B 计数器可以回绕
C nonce 重复不影响安全
D 跨进程共享 key 需保证计数器全局唯一,否则 nonce 重复会破坏机密性与完整性,可考虑每实例独立 key 或随机 nonce ✓ 正确答案
#

31. 加密签名库(libsodium、ring、Tink、BoringSSL)在 API 设计上的差异如何影响工程集成?

A 底层库 Tink 更难误用
B 所有库 API 相同
C libsodium/Tink 提供高层、抗误用 API,集成快;BoringSSL 等底层库性能强但需谨慎,工程上按需求选择 ✓ 正确答案
D BoringSSL 强制使用 AEAD
#

32. 协议 transcript 绑定版本、身份和上下文为什么能够防止降级与跨协议混淆?

A transcript 绑定只影响密钥派生,不影响签名
B transcript 绑定没有安全作用
C 绑定版本、身份、上下文的 transcript 哈希使任何参数改动都改变签名与密钥派生,从而防降级与跨协议混淆 ✓ 正确答案
D 降级攻击无法被检测
#

33. FAPI(Financial-grade API)与 OIDC 协议在金融场景下的 mTLS、PAR、JAR 扩展如何部署?

A mTLS 只用于加密流量
B PAR 会增加 URL 长度
C FAPI 用 mTLS 双向认证、PAR 推送请求参数、JAR 签名请求,共同提升金融场景的授权流程安全 ✓ 正确答案
D JAR 不保护请求完整性
#

34. 为什么 TLS 1.3 当前主流部署选择 X25519 与 ML-KEM 的混合密钥交换,而非直接替换为纯 ML-KEM?

A 混合 X25519+ML-KEM 安全性取两者取强,保留经典后备与兼容性,避免纯 PQC 的成熟度与降级风险,是主流部署 ✓ 正确答案
B 纯 ML-KEM 比混合更安全
C 混合模式会降低安全性
D 混合模式不支持经典算法
#

35. 混合证书(一张证书携带传统与 PQC 两套公钥/签名)在存量中间盒与 TLS 库上的兼容性风险有哪些?

A 存量中间盒与旧 TLS 库可能无法解析两种签名或新格式,导致握手失败,需保留经典证书回退与渐进部署 ✓ 正确答案
B 混合证书对旧中间件完全兼容
C 混合证书无需回退
D PQC 签名尺寸不影响握手
#

36. SLH-DSA(SPHINCS+)作为无状态哈希签名,为何适合作为信任根却较少直接用于高频 TLS 握手?

A SLH-DSA 签名小、速度快,适合高频握手
B SLH-DSA 安全性保守但签名大、较慢,适合低频高安全的信任根,不适合高频 TLS 握手 ✓ 正确答案
C SLH-DSA 依赖结构化假设
D SLH-DSA 与 ECDSA 尺寸相同
#

37. RSA-OAEP 与 RSA-PKCS#1 v1.5 在填充预言攻击下的安全性差异,为何现代系统强制使用 OAEP?

A v1.5 加密与 OAEP 安全性相同
B OAEP 更易受填充预言攻击
C OAEP 是确定性填充
D v1.5 确定性填充易受 Bleichenbacher 填充预言攻击,OAEP 用随机化与掩码抵抗,因此现代系统强制 OAEP ✓ 正确答案
#

38. Ed25519 / Ed448 与 ECDSA P-256 在签名大小、验签性能与侧信道安全性上的取舍是什么?

A ECDSA 天然抗侧信道
B Ed25519 签名比 P-256 大得多
C Ed25519 签名与 P-256 相近,但确定性 nonce、常数时间抗侧信道、验签更快,新系统更倾向 Ed25519 ✓ 正确答案
D Ed25519 需要随机 nonce
#

39. 数字签名与 MAC 在可公开验证性、密钥分发和不可否认性上有何区别?

A MAC 可公开验证
B 数字签名用公钥可公开验证、提供不可否认性;MAC 用共享密钥、双方可验证但不提供不可否认性 ✓ 正确答案
C 数字签名提供不了不可否认性
D 两者都用非对称密钥
#

40. 防重放窗口如何依据序列号接受乱序报文并拒绝重复报文,窗口过小会造成什么问题?

A 窗口必须接受所有乱序报文
B 窗口按序列号接受窗口内乱序报文、拒绝窗口外重复报文,窗口过小会误丢合法乱序报文 ✓ 正确答案
C 窗口过小没有影响
D 防重放窗口不需要状态
#

41. 密钥分层中根密钥、密钥加密密钥和数据密钥如何减少轮换与暴露范围?

A 分层用根密钥封装 KEK、KEK 封装 DEK,DEK 频繁轮换且暴露面小,根密钥少用高安全,实现最小暴露与可控轮换 ✓ 正确答案
B 所有密钥都直接加密数据
C 根密钥直接加密数据
D 分层增加暴露面
#

42. JWT 的 none、HS256/RS256/ES256 算法在签名验证时的"算法混淆"漏洞与防御策略是什么?

A HS256 混淆是把私钥当 HMAC 密钥
B ES256 没有混淆风险
C alg=none 是安全的
D 算法混淆漏洞源于信任 header 中的 alg,防御是服务端固定算法白名单、禁止 none、用公钥作 RS256 验证时不上当 ✓ 正确答案
#

43. OAuth 2.0 PKCE 扩展如何防御 authorization code interception,公共客户端与机密客户端的实现差异?

A PKCE 用 client_secret 防御拦截
B 公共客户端无需 PKCE
C PKCE 通过 code_verifier/code_challenge 绑定授权码,拦截者无 verifier 无法兑换;公共客户端无 secret 必须依赖 PKCE ✓ 正确答案
D PKCE 只用于机密客户端
#

44. JWT 的 jti、exp、nbf、aud、iss 字段在防重放、过期与受众限制上的工程组合?

A aud 用于标识签发者
B exp 用于防重放
C jti 用于设置过期时间
D 组合校验 iss、aud、exp、nbf 并用 jti 防重放,能完整控制来源、受众、时间窗口与唯一性 ✓ 正确答案
#

45. 发现应用日志泄露访问令牌后,防御处置应如何覆盖吊销、轮换、审计与日志脱敏?

A 只吊销令牌即可
B 日志脱敏是事后不必要的
C 应吊销令牌、轮换凭证、日志脱敏改造并审计影响范围,形成"响应-修复-防范-审计"闭环 ✓ 正确答案
D 无需审计
#

46. “先收集后解密”(harvest-now-decrypt-later)威胁如何改变了对称与非对称算法的迁移优先级?

A 对称密码最紧迫迁移
B 量子威胁不影响历史数据
C HNDL 使非对称密码迁移最紧迫(Shor 彻底破解),对称密码用 AES-256 加长密钥即可缓解,长生命周期数据需立即迁移 ✓ 正确答案
D 无需提前迁移
#

47. ML-DSA、SLH-DSA 相对 ECDSA 在签名尺寸、公钥尺寸和验证速度上的差异,给证书链与握手报文带来什么压力?

A ML-DSA 签名与 ECDSA 一样小
B PQC 签名不影响握手
C SLH-DSA 签名最小
D ML-DSA/SLH-DSA 签名远大于 ECDSA,使证书链与握手报文膨胀,可能超过 MTU/拥塞窗口,需分片与参数权衡 ✓ 正确答案
#

48. crypto-agility(密码敏捷性)在协议设计与代码实现层面应如何落地,避免把算法硬编码进格式与长度假设?

A 应把算法与长度硬编码以保证稳定
B crypto-agility 与协议兼容无关
C 协议用算法标识协商、代码用抽象接口与配置选择算法,避免长度与格式硬编码,才能平滑替换算法 ✓ 正确答案
D 只需代码层,无需协议层支持
#

49. PQC 迁移中为何握手分片(fragmentation)与 MTU、拥塞窗口成为工程瓶颈,ML-KEM-1024 的密文尺寸意味着什么?

A ML-KEM-1024 密文约 1.5KB 使握手报文超过 MTU/初始拥塞窗口,需分片与调优,成为 PQC 迁移的工程瓶颈 ✓ 正确答案
B PQC 握手报文仍很小
C 不需要分片
D 密文尺寸不影响握手
#

50. HKDF 的 extract 与 expand 分别解决什么问题,salt、IKM、info 应如何分工?

A extract 从 IKM 提取均匀 PRK(salt 去相关),expand 用 info 区分用途扩展密钥,实现熵提取与密钥隔离 ✓ 正确答案
B extract 用于扩展输出长度
C info 是秘密熵源
D HKDF 只有一个阶段
#

51. KMS(AWS KMS、HashiCorp Vault、GCP KMS)在密钥分级、HSM 集成与审计链上的能力对比?

A 所有 KMS 都完全自托管
B AWS/GCP KMS 托管、HSM 验证、审计深度集成;Vault 自托管、灵活支持动态密钥与多后端,选择取决于托管与自控需求 ✓ 正确答案
C Vault 无审计能力
D 云 KMS 不支持 HSM
#

52. 零知识证明(ZKP)的基础,zk-SNARK vs zk-STARK、Trusted Setup vs Transparent Setup 的工程边界如何?

A STARK 需要可信设置
B SNARK 证明小、验证快但需可信设置;STARK 无需可信设置、抗量子但证明大,工程上按信任模型与性能取舍 ✓ 正确答案
C SNARK 无需可信设置
D 两者证明大小相同
#

53. 私有信息检索(PIR)的工程价值,如何让用户查询不可被服务器观察?

A PIR 隐藏查询者的身份
B PIR 与匿名相同
C PIR 让服务器无法得知用户查询了哪一条记录,保护查询隐私,但计算与通信开销大 ✓ 正确答案
D PIR 不保护隐私
#

54. 证书钉扎(HPKP 已弃用)与 TLS pinning 在移动应用中的实现差异,pinned CA 列表更新策略是什么?

A HPKP 是客户端内置校验
B HPKP 已弃用(DoS 风险),移动端常客户端内置 pinning,更新通过远程配置与多 pin 轮换避免可用性事故 ✓ 正确答案
C pinning 是服务端头
D pinning 无需更新
#

55. 当检测到 KMS 访问异常(暴力枚举、跨区域下载)时,告警规则与 IAM 策略紧急收紧应如何排序?

A 先加告警再阻断
B 紧急处置应先禁用异常凭证、收紧 IAM 策略(最小权限、限制区域与来源),再升级告警并审计,先阻断再加固 ✓ 正确答案
C 只需加告警
D 无需收紧 IAM
#

56. NIST FIPS 203/204/205 与 NSA CNSA 2.0 的时间表对商用系统合规迁移给出了怎样的截止预期?

A CNSA 2.0 无时间表
B 2030 年前可继续只用 RSA
C CNSA 2.0 规定 2025-2026 年起逐步采用 PQC,2030 年前逐步排除 RSA/ECC,2033 年起全面 PQC-only,商用系统应据此规划迁移 ✓ 正确答案
D FIPS 203 不涉及时间表
#

57. 在无法升级硬件的嵌入式与 IoT 设备上,PQC 迁移面临哪些内存与算力约束?

A PQC 在嵌入式设备上无需权衡
B ML-KEM 在嵌入式上运行很快
C 嵌入式设备内存小、算力弱,PQC 大尺寸与高算力是挑战,需选低参数、优化实现或边缘代理分担 ✓ 正确答案
D 无需考虑功耗