# 1. 小步大步算法的边界中群阶 p 已知与未知时的处理差异,以及素数阶子群的安全意义? A BSGS 在群阶未知时也能直接运行,因为不需要任何关于群阶的信息 B 素数阶子群因为没有非平凡子群,可以抵抗小群攻击和 Pohlig-Hellman 的群阶分解 ✓ 正确答案 C BSGS 的时间复杂度是 O(p),空间复杂度是 O(1) D baby steps 一般用有序数组存储以支持二分查找
# 2. BSGS 的推导与实现中时间 O(√p)、空间 O(√p),哈希表如何存 baby steps? A 时间 O(p)、空间 O(√p) B 时间 O(√p)、空间 O(p) C 时间 O(√p)、空间 O(√p) ✓ 正确答案 D 时间 O(log p)、空间 O(1)
# 3. BSGS 的工程实现中 baby steps 哈希表存储与 giant steps 的步进计算? A 乘以 a 取模 B 乘以 a^{-m} 取模 ✓ 正确答案 C 乘以 m 取模 D 加 m 取模
# 4. 阶的整除性与子群中验证公钥的阶能防小群攻击(small subgroup attack),参数校验应检查哪些条件? A 检查公钥元素是否模 p 为 1 B 检查公钥元素的阶是否等于大素数阶 q ✓ 正确答案 C 检查公钥元素是否大于某个阈值 D 检查公钥元素是否为奇数
# 5. 离散对数与 Diffie-Hellman 中安全素数(safe prime)的作用? A p 是素数且 p-1 是素数 B p 是素数且 p+1 是素数 C p 是素数且 (p-1)/2 是素数 ✓ 正确答案 D p 是素数且 p 是费马数
# 6. 离散对数在大素数阶子群上的困难性中 p 取安全素数(p=2q+1)时 BSGS 仍需 O(√q) 时间,参数大小如何决定安全强度? A O(√p) B O(√q) ✓ 正确答案 C O(q) D O(log q)
# 7. Index Calculus 方法求解离散对数中选取因子基(factor base)、关系收集(relation collection)、线性代数求解(高斯消元 mod p-1)、个体对数计算,时间复杂度 L_p[1/3, c] 的亚指数优势 A 多项式时间 B 指数时间 O(√p) C 线性时间 D 亚指数时间 L_p[1/3, c] ✓ 正确答案
# 8. 椭圆曲线离散对数问题(ECDLP)中为什么不存在 Index Calculus 的亚指数算法、当前最优攻击为 Pollard Rho O(√n)、曲线选择(NIST P-256 vs Curve25519)对安全余量的影响 A O(n) B O(√n) ✓ 正确答案 C L_n[1/3, c] 亚指数 D O(log n)
# 9. 离散对数问题的定义与困难性中为什么模素数乘法群的 DLP 被用于 Diffie-Hellman 密钥交换? A 提供消息认证 B 提供公私钥的单向性(正向易、逆向难) ✓ 正确答案 C 提供快速加密 D 提供数字签名
# 10. Pohlig-Hellman 算法中当群阶 n 是光滑数时,为什么可以用中国剩余定理把离散对数分解为小素数幂子问题,复杂度如何? A 群阶是大素数 B 群阶是奇数 C 群阶是光滑数(所有素因子都小) ✓ 正确答案 D 群阶是偶数
# 12. BSGS 的工程实现细节中哈希表存储 baby steps 的空间优化、扩展 BSGS 处理 gcd(a,m)≠1 的情形、与 Pollard Rho for DLP 的空间-时间权衡 A 时间更快 B 不需要群阶 C 确定性无随机 D 空间 O(1),无需大哈希表 ✓ 正确答案
# 13. Diffie-Hellman 密钥交换中离散对数的安全假设中 CDH vs DDH 假设的区别、safe prime p=2q+1 的必要性、小群攻击(small subgroup attack)的防御与参数校验 A 无关 B 更强 ✓ 正确答案 C 等价 D 更弱
# 17. 离散对数在密码协议中的角色中 Diffie-Hellman 的安全性依赖 DLP 的计算困难性? A DLP/CDH/DDH 困难 ✓ 正确答案 B 整数分解困难 C 哈希碰撞难 D 求解线性方程组难