AEAD、哈希与 MAC 基础

共 67 题
#

1. AES-GCM 与 ChaCha20-Poly1305 的工程选型

A AES-GCM 依赖 AES-NI 硬件加速性能更优,ChaCha20-Poly1305 软件实现稳健,按平台选择 ✓ 正确答案
B ChaCha20-Poly1305 在 AES-NI 平台上总是更快
C 两者都不提供完整性
D AES-GCM 无需 nonce
#

2. ChaCha20 的"四分之一轮"(quarter-round)的算术结构

A 它依赖 S-box 查表
B 它只有 1 轮
C 它依赖 AES-NI
D 它用加、旋转、异或(ARX)运算,软件实现快且常量时间、抗侧信道 ✓ 正确答案
#

3. HKDF 的"盐"(salt)与"上下文"(info)的工程应用

A salt 提升密钥质量,info 用于域分离区分不同用途的派生密钥 ✓ 正确答案
B 两者都无安全作用
C info 用于随机化 salt
D HKDF 无 Extract 步骤
#

4. Argon2 vs bcrypt 在内存安全的演进

A bcrypt 内存硬性更强
B 两者完全相同
C Argon2 是内存硬函数,借内存占用提升抗 GPU/ASIC 暴力破解能力,优于 bcrypt ✓ 正确答案
D Argon2 不抗 GPU
#

5. AES-CBC + HMAC 的 encrypt-then-MAC 边界

A 先加密后认证,先验证 MAC 再解密,可防止 padding oracle 攻击 ✓ 正确答案
B 先解密再认证更安全
C 顺序与安全无关
D 应先 MAC 后加密
#

6. AES-GCM 的 nonce(96 bit)的唯一性与并发风险

A nonce 可随意复用
B 同一密钥下 nonce 复用会导致密文泄露与标签伪造,必须保证唯一 ✓ 正确答案
C nonce 只影响性能
D 96 位 nonce 永远不会碰撞
#

7. AES-GCM-SIV(Synthetic IV)的 nonce 复用安全

A 它用合成 IV 使 nonce 复用不泄露明文,是抗误用的变体 ✓ 正确答案
B 它与 GCM 完全相同
C 它不提供认证
D 它无法处理关联数据
#

8. ChaCha20-Poly1305 的软件实现优势(无 AES-NI)

A 它用 ARX 运算、无需 AES-NI,在无硬件加速平台软件实现快且抗侧信道 ✓ 正确答案
B 它依赖 AES-NI
C 它只用于 x86 服务器
D 它无法抵抗时序攻击
#

9. Secure Enclave Processor(SEP)作为独立 A-series chip 的安全边界?

A SEP 与主 CPU 共享内存
B SEP 密钥可由主 CPU 读取
C SEP 只做通用计算
D SEP 是独立安全芯片,物理隔离,主 CPU 被攻破也不影响 SEP 内密钥 ✓ 正确答案
#

10. ChaCha20-Poly1305(RFC 8439)在 ARM mobile、TLS 1.3 的工程价值?

A 它在 ARM 上性能差
B 它在无 AES-NI 的 ARM 移动端软件性能出色,是 TLS 1.3 推荐 AEAD ✓ 正确答案
C 它不被 TLS 1.3 支持
D 它只用于服务器
#

11. AES-GCM(96-bit nonce + 128-bit tag + 128-bit block)在 TLS、AES-NI 加速的工程价值?

A 它在无 AES-NI 平台也最快
B 它不提供认证
C 它在 AES-NI 硬件加速下吞吐极高,是 TLS 服务器端主流 AEAD ✓ 正确答案
D 它只有 64 位标签
#

12. X25519(RFC 7748)在 TLS 1.3 默认 KEM 的工程价值?

A 它依赖复杂查表
B 它不支持 DH
C 它是哈希算法
D 它实现简单、常量时间、抗侧信道,是 TLS 1.3 默认密钥交换 ✓ 正确答案
#

13. scrypt 的 N(CPU/memory cost)/r(block size)/p(parallelization)参数调优?

A N 与内存无关
B N/r/p 决定内存与时间成本,需在抗暴力破解与性能间平衡 ✓ 正确答案
C p 越大内存越小
D 参数不影响安全性
#

14. Plonk universal trusted setup(一次 setup 多 circuit 共享)的工程价值?

A 每个电路都需单独设置
B 它无需任何设置
C 一次设置可服务多个电路,降低部署成本、支持电路升级 ✓ 正确答案
D 它只支持固定电路
#

15. StrongBox(SE/TEE 安全元素)相对 TEE(Trusty、Titan-M)密钥保护的工程价值?

A 两者安全等级相同
B StrongBox 与主 CPU 共享内存
C StrongBox 是独立安全元素,隔离优于共享主 CPU 的 TEE,密钥保护更强 ✓ 正确答案
D TEE 抗物理攻击更强
#

16. TPM 2.0 session(TPM2_StartAuthSession)的 salted HMAC 鉴权工程价值?

A 它不提供鉴权
B 它用盐化 HMAC 验证命令授权并防重放,是 TPM 安全操作的基础 ✓ 正确答案
C 它只用于数据加密
D 它无需密钥
#

17. Ed25519(RFC 8032)在 SSH、PGP、Token 签名的工程价值?

A 它使用随机 nonce,有泄露风险
B 它签名较大
C 它确定性 nonce、常量时间、签名小,是 SSH、Token 等广泛采用的安全签名 ✓ 正确答案
D 它基于 RSA
#

18. Halo2(Electric Coin)通过 Plookup 与 custom gates 在 Zcash Orchard 的工程价值?

A 它用 Plookup 与自定义门优化电路,使 Zcash 隐私交易证明更小更快 ✓ 正确答案
B 它用 Groth16 的每电路设置
C 它无需电路
D 它只做签名
#

19. TPM 2.0 NV(Non-Volatile)storage 在 storage key 与 sealed data 的工程价值?

A sealed data 与平台状态无关
B storage key 不保护密钥
C NV 存储易失
D NV 存储持久化密钥,sealed data 绑定平台状态,只有状态匹配才可解开,支撑硬件信任根 ✓ 正确答案
#

20. Secure Enclave KeyBag 与 Keychain 在用户 unlock 后的 key release 工程价值?

A 密钥在锁定状态也释放
B KeyBag 与密钥无关
C 用户解锁后 Secure Enclave 释放对应 KeyBag 密钥,使数据仅在被授权时可用 ✓ 正确答案
D 解锁后所有数据永久可读
#

21. Linux getrandom(2) 系统调用相对 /dev/urandom 的工程价值?

A getrandom 在池未初始化时也可能返回可预测数据
B 两者完全相同
C getrandom 在熵池未初始化时会阻塞,避免早启动阶段生成可预测随机数 ✓ 正确答案
D getrandom 需要打开文件
#

22. getentropy(3) 用户态库函数在 OpenBSD、glibc、macOS 的工程价值?

A 它总是返回可预测随机数
B 它不封装系统随机源
C 它只支持一个平台
D 它在多个平台提供统一的安全随机接口,失败时明确报错,提升可移植性 ✓ 正确答案
#

23. AES-GCM 在重用 nonce 的 catastrophic failure 防御?

A nonce 复用无影响
B 无法防御
C nonce 复用只影响性能
D 用计数器、并发协调、碰撞检测与密钥轮换确保 nonce 唯一,或改用 SIV 变体 ✓ 正确答案
#

24. Ed25519 vs ECDSA-P256 在签名延迟与确定性 nonce 的工程边界?

A ECDSA 默认确定性 nonce
B Ed25519 依赖随机 nonce
C 两者完全相同
D Ed25519 用确定性 nonce 消除 RNG 故障风险、性能好,ECDSA-P256 靠生态兼容仍广泛使用 ✓ 正确答案
#

25. TPM 2.0 PCR 0-23 的标准分配与 measured boot 的工程语义?

A PCR 无标准分配
B PCR 0-23 按标准记录启动各阶段度量,measured boot 形成信任链供远程证明与 sealed data ✓ 正确答案
C measured boot 不度量内核
D PCR 只用于加密
#

26. Android Keystore 的 KeyMaster attestation 在 attestation challenge 的工程价值?

A challenge 与证明无关
B attestation 证明密钥在硬件生成,challenge 绑定防重放,服务端可验证密钥真实性 ✓ 正确答案
C attestation 只用于加密
D 证明无法防重放
#

27. SEP 的 HSM 类 ECID 与 UID 在 anti-counterfeit 的工程价值?

A ECID 可任意篡改
B ECID 与密钥无关
C 唯一不可篡改的芯片标识配合硬件密钥,可做设备认证与防伪 ✓ 正确答案
D UID 用于加密数据
#

28. StrongBox 在 Pixel 3+ Titan M 的工程应用?

A Titan M 作为 StrongBox 硬件后端,独立保护高敏感密钥并支持证明 ✓ 正确答案
B Titan M 与主 CPU 共享密钥
C StrongBox 无需硬件
D Titan M 只做通用计算
#

29. AES-GCM(Galois/Counter Mode)的 AEAD 工程语义,加密 + 完整性校验如何结合

A 它只加密不认证
B 它同时提供加密与完整性校验,并支持关联数据认证 ✓ 正确答案
C 它需额外 HMAC
D 它不验证标签
#

30. AES-NI(Intel AES New Instructions)的硬件加速性能

A 它减速 AES
B 它用专用指令大幅提升 AES 与 GHASH 吞吐,是服务器端 AES-GCM 高效的关键 ✓ 正确答案
C 它只加速哈希
D 它不影响 GCM
#

31. AES(Advanced Encryption Standard)的 128、192、256 bit 密钥长度

A 密钥越长分组越长
B 分组随密钥变化
C 密钥长度不影响轮数
D 128/192/256 位对应 10/12/14 轮,越长越安全,AES-256 抗量子更优 ✓ 正确答案
#

32. 分组密码模式中 ECB、CBC、CTR、GCM、SIV 的差异

A ECB 安全且推荐
B 所有模式都提供认证
C ECB 泄露模式不安全,CBC/CTR 无认证,GCM 提供 AEAD,SIV 抗 nonce 复用 ✓ 正确答案
D CTR 需要填充
#

33. AES-GCM 的 GHASH 性能与并行化

A GHASH 完全无法并行
B GHASH 无性能影响
C GHASH 与 AES 无关
D GHASH 串行但可通过块合并与 PCLMULQDQ 指令并行化,配合 AES-NI 提升吞吐 ✓ 正确答案
#

34. nonce 重用的密码学后果,GCM 的 catastrophic failure 如何发生

A 同密钥下 nonce 重用导致密钥流复用,可泄露明文并可伪造标签,是灾难性失败 ✓ 正确答案
B nonce 重用最多泄露盐
C nonce 重用可提升性能
D nonce 重用无密码学后果
#

35. AES-GCM 的"短标签"(truncated tag)的工程取舍

A 截断标签不降低安全性
B 截断标签降低伪造难度,带宽受限场景可牺牲部分标签位,但推荐不低于 96 位 ✓ 正确答案
C 标签只用于加密不用于认证
D 标签越短越安全
#

36. Argon2id 在密码哈希的工程应用

A 它是无内存的快速哈希
B 它是 PHC 获胜算法,通过内存/时间/并行参数抵抗 GPU 暴力破解,是口令哈希首选 ✓ 正确答案
C 它不需要盐
D 它只用于加密
#

37. HKDF(HMAC-based Key Derivation Function)的 Extract + Expand 两步

A Expand 负责提取熵,Extract 负责派生密钥
B HKDF 不依赖 HMAC
C HKDF 只有一步
D Extract 用 HMAC+盐压缩输入为 PRK,Expand 用 PRK+info 派生多段密钥 ✓ 正确答案
#

38. Argon2(id、d、i 参数)的内存-时间-并行调优

A Argon2i 数据相关,Argon2d 数据无关
B 三种变体完全相同
C Argon2id 混合两者,内存 m 抗 ASIC、时间 t 控成本、并行度 p 匹配多核,是默认推荐 ✓ 正确答案
D 参数与安全性无关
#

39. PBKDF2(Password-Based Key Derivation Function 2)的迭代次数(≥ 600000)

A 迭代次数越高单次猜测越慢,SHA-256 推荐 ≥600000,但 PBKDF2 非内存硬、易被 GPU 并行 ✓ 正确答案
B 迭代次数越低越安全
C 迭代次数只影响加密不影响哈希
D 迭代次数与暴力破解无关
#

40. scrypt 的内存硬(memory-hard)特性

A 它是纯计算密集,易被 GPU 加速
B 它只用于签名
C 它不需要内存
D 它通过大内存开销抵抗 GPU/ASIC 并行,参数 N/r/p 控制内存与计算成本 ✓ 正确答案
#

41. HKDF 在 TLS 1.3、Noise Protocol 的核心作用

A 它只用于密码哈希
B 它只在 TLS 1.2 使用
C 它不参与密钥派生
D 它用 Extract/Expand 从共享秘密派生各阶段密钥,实现密钥分离与前向安全 ✓ 正确答案
#

42. HKDF vs SP800-108(Counter Mode KDF)的合规差异

A 两者完全相同
B SP 800-108 含 Extract
C HKDF 含 Extract 步骤适合熵不确定输入,SP 800-108 是 Counter 模式扩展,适合已提取密钥的合规派生 ✓ 正确答案
D HKDF 是 NIST 标准,SP 800-108 是 RFC
#

43. HMAC 用内外两层填充 H((k⊕opad)‖H((k⊕ipad)‖m)),为什么它比裸的 H(k‖m) 更安全、能抵抗长度扩展?

A 内外双向异或包裹密钥,使底层压缩函数为 PRF 时 HMAC 是安全 MAC,并抵抗长度扩展攻击 ✓ 正确答案
B 它只是多加了一次哈希,无实质区别
C 它把密钥放在消息末尾
D 它不保护消息完整性
#

44. SHA-1 的碰撞攻击(SHAttered)与 chosen-prefix 碰撞对 Git 内容寻址和 TLS 证书分别造成什么实际影响?

A SHA-1 碰撞只影响性能
B SHA-1 碰撞不存在
C SHAttered 与 chosen-prefix 碰撞可造成 Git 内容寻址混淆与 TLS 证书伪造,需迁移到 SHA-256 ✓ 正确答案
D 碰撞只影响加密不影响签名
#

45. SHA-3 的 Keccak 采用 sponge(海绵)结构,它相对 Merkle–Damgård 在抗长度扩展与结构灵活性上有何优势?

A 它更容易受长度扩展攻击
B 它抗长度扩展且天然支持可变长输出,衍生出 cSHAKE/KMAC 等 ✓ 正确答案
C 它只能输出固定长度
D 它与 Merkle-Damgård 完全相同
#

46. 哈希的抗原像、抗第二原像、抗碰撞三种性质如何定义?碰撞攻击为何只需约 2^(n/2) 次(生日界)?

A 抗碰撞最难,只需 2^(n/2) 次(生日界),抗第二原像/原像需 2^n 次,碰撞安全强度为 n/2 ✓ 正确答案
B 三者强度相同
C 碰撞攻击需 2^n 次
D 生日界与碰撞无关
#

47. SHA-256 采用 Merkle–Damgård 结构逐块压缩,为什么这种结构会遭受长度扩展攻击?

A MD 结构输出暴露内部状态,攻击者可从 H(k‖m) 计算 H(k‖m‖padding‖x),无需知道 k ✓ 正确答案
B SHA-256 抗长度扩展
C 长度扩展只影响加密
D 攻击需知道密钥才能进行
#

48. 为什么消息认证要用 HMAC 而不是直接对密钥拼接消息做哈希?密钥放消息前与放消息后各有什么风险?

A 密钥前缀受长度扩展攻击、密钥后缀受碰撞/前缀攻击,HMAC 的双层结构规避两者并可有证明的安全 ✓ 正确答案
B 拼接哈希完全安全
C HMAC 与拼接哈希相同
D 拼接哈希更安全
#

49. 为什么 HMAC 可在底层压缩函数是伪随机函数的前提下被证明是安全的 MAC?

A HMAC 安全与底层哈希无关
B HMAC 不依赖哈希
C HMAC 无法证明安全
D 在底层压缩函数为 PRF 的假设下,HMAC 可归约为 PRF,从而可证明是安全 MAC ✓ 正确答案
#

50. SHA-1 因碰撞攻击被弃用,但 HMAC-SHA1 目前仍被认为可用,原因是什么?

A SHA-1 的碰撞不影响 HMAC 的 PRF 性质 ✓ 正确答案
B HMAC-SHA1 依赖抗碰撞,已不安全
C SHA-1 碰撞可恢复 HMAC 密钥
D HMAC-SHA1 与 SHA-1 签名同样不安全
#

51. SHA-256 与 SHA-512 的字长与轮数差异是什么?在 64 位平台上为何 SHA-512 有时反而更快?

A 两者字长与轮数完全相同
B SHA-512 字长更短
C SHA-256 用 32 位字 64 轮,SHA-512 用 64 位字 80 轮,SHA-512 在 64 位平台处理长消息时可能更快 ✓ 正确答案
D SHA-512 每块只有 32 字节
#

52. SHA-2 的 Merkle–Damgård 结构为何天然存在长度扩展攻击,SHA-3(Keccak)的 sponge 结构如何从根本上规避?

A SHA-3 仍受长度扩展攻击
B SHA-3 输出不可逆地暴露内部状态,padding 与挤压设计使其天然抗长度扩展 ✓ 正确答案
C SHA-3 与 SHA-2 构造相同
D SHA-3 输出即状态
#

53. Merkle 哈希树如何在 O(log n) 内完成单条数据的完整性证明,证书透明(CT)日志为何依赖它实现可审计性?

A Merkle 证明需 O(n) 个哈希
B CT 不依赖 Merkle 树
C Merkle 树不做完整性
D Merkle 树用认证路径在 O(log n) 内证明叶子归属,CT 日志借此实现公开可审计的证书日志 ✓ 正确答案
#

54. 口令存储中加盐(salt)与慢哈希(bcrypt/scrypt/Argon2)分别抵御彩虹表与暴力破解的哪个环节?

A 盐抵御暴力破解,慢哈希抵御彩虹表
B 只需加盐即可
C 两者都抵御彩虹表
D 盐抵御彩虹表与跨用户攻击,慢哈希提高逐个猜测成本,抵御暴力破解 ✓ 正确答案
#

55. KMAC、cSHAKE 与 TupleHash 等 NIST SP 800-185 派生函数如何基于 Keccak 提供域分离与可变长输出?

A cSHAKE 不支持域分离
B cSHAKE 用函数名与自定义串实现域分离,KMAC/TupleHash 基于它提供可变长输出与 MAC ✓ 正确答案
C KMAC 是签名算法
D 它们不基于 Keccak
#

56. 抗碰撞、第二原像、原像三种安全性之间是什么蕴含关系,生日界为何让 128 位输出成为碰撞安全的下限?

A 抗碰撞最弱
B 抗碰撞蕴含抗第二原像,生日界使碰撞安全强度为 n/2,128 位输出碰撞安全仅 64 位不达标 ✓ 正确答案
C 生日界与输出长度无关
D 128 位输出碰撞安全为 128 位
#

57. HMAC、KMAC 与 AEAD 的认证子密钥在“消息认证”这一目标上的分工与适用边界如何区分?

A 三者完全相同
B HMAC 内嵌加密
C AEAD 只认证不加密
D HMAC/KMAC 是独立 MAC 用于纯认证,AEAD 认证与加密绑定,用于加密传输的完整性 ✓ 正确答案
#

58. RDP(Rényi Differential Privacy)accountant 在 PRIME、TensorFlow Privacy 的工程价值?

A 它无法累计隐私预算
B 它用 Rényi 散度提供更紧的复合界,在 DP-SGD 中累计 ε 预算,支撑可审计的差分隐私 ✓ 正确答案
C 它与 DP 无关
D 它只用于加密
#

59. CSPRNG(ChaCha20-based)的 seed 在 RDRAND/RDSEED 与 fork 后的 re-seed 工程价值?

A RDRAND/RDSEED 提供硬件熵种子,fork 后必须重播种以避免父子进程生成相同随机序列 ✓ 正确答案
B fork 后无需重播种
C 种子越多越不安全
D CSPRNG 不需要种子
#

60. AEAD 标签 vs Encrypt-then-MAC 的工程差异?

A 两者完全相同
B AEAD 把加密与认证原子绑定,EtM 分离两者,AEAD 更简单且避免未认证解密漏洞 ✓ 正确答案
C EtM 更原子
D AEAD 不认证
#

61. bcrypt cost factor(log rounds)在 password storage 的工程价值?

A cost 是固定值,不可调
B cost 越高哈希越快
C cost 是 2 的指数,控制哈希轮数,越高越慢越抗暴力破解,需按硬件与安全目标调优 ✓ 正确答案
D cost 与安全性无关
#

62. Argon2id vs scrypt 在 side-channel 与 GPU-friendly 的工程取舍?

A scrypt 抗侧信道更强
B 两者都无内存硬
C Argon2id 混合数据无关访问抗侧信道且内存硬抗 GPU,是更现代稳妥的选择,scrypt 生态成熟但数据相关 ✓ 正确答案
D Argon2id 易被 GPU 加速
#

63. HPKE 的四种 mode(base、psk、auth、psk-auth)的工程语义?

A HPKE 只有一种模式
B auth 模式不用密钥
C psk 模式不认证
D base 匿名、psk 用预共享密钥、auth 用客户端认证、psk-auth 两者兼有,按威胁模型选择 ✓ 正确答案
#

64. HPKE 在 Messaging Layer Security(MLS,RFC 9420)的工程应用?

A MLS 用 HPKE 的 KEM 实现树状组密钥协商,支持成员变更时的前向安全密钥更新 ✓ 正确答案
B MLS 不用 HPKE
C HPKE 只用于单方加密
D MLS 用对称加密
#

65. 在区块链与版本控制中,哈希作为内容寻址标识一旦算法被攻破,迁移成本来自哪些持久化引用?

A 只需替换算法即可
B 迁移成本来自所有历史对象/区块的持久化哈希引用、链上不可变数据与外部系统依赖,需全面迁移 ✓ 正确答案
C 迁移无成本
D 哈希引用不持久
#

66. 为何对口令做哈希时应避免自研加盐拼接,而选用经过审计的 PHC 获胜算法实现?

A 自研易用弱哈希、错误拼接、未经审计,PHC 获胜算法(Argon2)实现经过审计、提供盐与慢哈希 ✓ 正确答案
B 自研拼接更安全
C 自研哈希经过审计
D 第三方实现不可信
#

67. BLAKE2/BLAKE3 相对 SHA-256 在软件实现上为何更快,BLAKE3 的树形并行结构带来了什么额外能力?

A 它们比 SHA-256 慢
B 它们不支持并行
C 它们用 ARX 与向量指令更快,BLAKE3 的树形并行支持多线程极高吞吐与流式输出 ✓ 正确答案
D 它们与 SHA-256 结构相同