3.4. Usage Notes (使用说明)
3.4. Usage Notes (使用说明)
使用 DSA 或 ECDSA 时, 值 k 用于计算签名的前半部分, 称为 r (参见第 2.4 节).DSA 和 ECDSA 标准要求, 如果 r 为零, 则应选择新的 k.在这种情况下, 本文档规定值 k 是 "不合适的", 并且生成过程应继续循环.
这种情况的发生是极其不可能的.实际上, 找到导致 r 为零值的私钥和消息需要相当大的计算工作量 (类似于破坏哈希函数的原像抗性); 因此, 纯粹偶然地遇到这种情况被认为是不可能的, 并且攻击者无法通过精心设计的消息强制实现它.在实践中, 这样的代码路径不会被触发, 因此可以以很少的优化来实现.