什么是温特尼茨一次性签名方案?
Winternitz 一次性签名方案
Robert Winternitz 提出了 W-OTS 方法。它被认为具有量子弹性,因为它使用适度的密钥和签名大小。
它总共生成 32 ☓ 256 位随机私钥。
然后我们有很多次,并使用参数(W)来定义它们。
我们可以使用 W = 8(2W) 散列私钥。
它生成长度为 32 256 位的公钥
签名是通过一次取 8 位,从 256 中减去 8 位二进制 int (n),然后将私钥散列 256 次而形成的。
此后,签名由从随机私钥创建的 32 个哈希组成。
它是如何工作的?
程序如下 -
我们首先创建 32 个 256 位的随机数。我们的私钥将由这 32 个值组成。
然后这些值中的每一个都被散列 256 次。我们的公钥将由这 32 个值组成。
我们现在将使用 SHA-256 对消息进行哈希处理。这将产生 32 个 8 位值(N1、N2、...、N32)。
对于签名,我们将消息散列中的每个 8 位值散列 256-N 次(其中 N 是 8 位值的值)。
该消息使用 SHA-256 进行哈希处理,每个 8 位值用于证明签名。消息散列值指定8位签名值被散列的次数(N 1 N 2)......每个动作的结果应该与公钥值相同。
密钥生成
要生成一对密钥,一个私钥和一个公钥
使用随机数生成器,生成 32 个 256 位随机数来创建私钥。
32 个数字中的每一个都被散列 256 次,以获得另一组 32 个 256 位数字作为公钥。任何人都可以使用公钥。
签名生成
SHA 256 用于对消息进行哈希处理,从而生成 256 位摘要。该散列被分解为 32 个 8 位值(N 1 N 2 N 3 ...N 32)。
256-N 次散列每个 8 位值,其中 N 是 8 位值的值。例如,如果 N1 是 10001000 = 136 的 8 位数字,则 N 1将被散列 256 - 136 = 120 次。在对每个 8 位值执行此操作后创建数字签名。
签名验证
SHA-256 用于生成 32 个 8 位值(N 1 N 2 N 3 ...N 32)的摘要。从消息中。
然后根据消息散列值 (N 1 N 2 N 3 ...N 32 ) 指定的次数对签名值进行散列。
然后将签名与公钥进行比较,如果两者匹配,则认为签名是合法的。
以上是 什么是温特尼茨一次性签名方案? 的全部内容, 来源链接: utcz.com/z/351601.html