什麼是 Winternitz 一次性簽名方案?


Winternitz 一次性簽名方案

Robert Winternitz 提出了 W-OTS 方法。由於它使用適中的金鑰和簽名大小,因此被認為是量子安全的。

  • 它總共生成 32 個 256 位隨機私鑰。

  • 然後我們多次執行此操作,並且使用一個引數 (W) 來定義它們。

  • 我們可以使用 W = 8(2W) 對私鑰進行雜湊。

  • 它生成長度為 32 個 256 位的公鑰。

  • 簽名是透過一次取 8 位,從 256 中減去 8 位二進位制整數 (n),然後對私鑰進行 256 次雜湊來形成的。

  • 此後,簽名由從隨機私鑰建立的 32 個雜湊組成。

它是如何工作的?

過程如下:

  • 我們首先生成 32 個 256 位的隨機數。我們的私鑰將由這 32 個值組成。

  • 然後對這些值中的每一個進行 256 次雜湊。我們的公鑰將由這 32 個值組成。

  • 現在,我們將使用 SHA-256 對訊息進行雜湊。這將產生 32 個 8 位值 (N1, N2,..., N32)。

  • 對於簽名,我們將訊息雜湊中的每個 8 位值進行 256-N 次雜湊(其中 N 是 8 位值的數值)。

  • 使用 SHA-256 對訊息進行雜湊,並且每個 8 位值都用於證明簽名。訊息雜湊值指定 8 位簽名值雜湊的次數 (N1N2)... 每個操作的結果應與公鑰值相同。

金鑰生成

  • 需要生成一對金鑰,一個私鑰和一個公鑰

  • 使用隨機數生成器,生成 32 個 256 位隨機數以建立私鑰。

  • 對這 32 個數字中的每一個進行 256 次雜湊以獲得另一組 32 個 256 位數字作為公鑰。公鑰可供任何人使用。

簽名生成

  • SHA 256 用於對訊息進行雜湊,生成 256 位摘要。此雜湊被分解為 32 個 8 位值 (N1N2N3...N32)。

  • 256-N 次雜湊每個 8 位值,其中 N 是 8 位值的數值。例如,如果 N1 是一個 8 位數字 10001000 = 136,則 N1 將被雜湊 256 - 136 = 120 次。對每個 8 位值執行此操作後,將建立數字簽名。

簽名驗證

  • SHA-256 用於從訊息生成 32 個 8 位值 (N1N2N3...N32) 的摘要。

  • 然後根據訊息雜湊值 (N1N2N3...N32) 指定的次數對簽名值進行雜湊。

  • 然後將簽名與公鑰進行比較,如果兩者匹配,則簽名被視為合法。

更新於: 2021 年 11 月 5 日

457 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.