Skip to main content

2.3. Integer Conversions

2.3. Integer Conversions (整数转换)

设 qlen 为 q 的二进制长度。qlen 是使得 q 小于 2^qlen 的最小整数。这是 q 的二进制表示的大小, 不包含符号位 (注意 q 是一个大素数, 是奇数, 从而避免了关于等于 2 的幂的任何整数的长度的任何歧义)。我们定义了五个转换函数, 它们对比特串、八位字节和模 q 的整数进行操作。qlen 是这些转换的主要参数。

在以下小节中, 我们使用另外两个长度, 称为 blen 和 rlen。rlen 等于 qlen, 向上舍入到下一个 8 的倍数 (如果 qlen 已经是 8 的倍数, 则 rlen 等于 qlen; 否则, rlen 略大, 最多为 qlen+7)。请注意, rlen 与值 r (生成的签名的前半部分) 无关。blen 是比特的输入序列的长度 (以比特为单位), 可能在调用之间变化。blen 可能小于、等于或大于 qlen。