跳到主要内容

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.