Public-Key

低熵見證的零知識

  • March 20, 2019

對於任何 PPT 證明者( $ p $ ) 和驗證者 ( $ v $ ),假設我有一個低熵證人,說小於 $ 2^8 $ . 現在,假設我有一個 dlog 語句,形式為 $ y = g^w $ . 理論說我可以使用 sigma 協議,這樣 $ p $ 可以證明 $ v $ 它知道 $ w $ . 我還可以利用法定 shamir 變換使其非互動式。

當見證人的熵像本例中那樣低時,情況並非如此。在這兩種情況下,我都可以簡單地列舉 $ 256 $ 可能的見證人並使用響應和承諾來檢查它可能對應於哪一個,即:

對於承諾:

$ t = g^v $

一個挑戰 $ c $ 和回應:

$ r = t + c \times x $

很明顯,如果我有 $ r, \space c $ 和 $ t $ 我可以恢復 $ x $ . 如果我們改用 Pedersen 承諾,也會發生同樣的情況。

我認為這是所有基於 dlog 的 ZKPoK 的常見問題,但我不確定,也不知道應該改用什麼。

在這種情況下,唯一的一條線是:當證人熵那麼低時,我如何證明知識?

Pedersen 的承諾似乎可以解決您的問題。

Pedersen 的承諾是一種價值 $ t = g^w h^r $ (對於見證值 $ w $ 和一個隨機值 $ r $ ); 有人無法恢復 $ w $ 從該值(實際上,即使是計算無界的對手也無法做到這一點)。這是真的,即使 $ w $ 是低熵。

並且,提出某人知道某項知識的知識證明是直截了當的。 $ (w, r) $ 構成 $ t $ , 如:

  • 證明者隨機選擇 $ x, y $ , 併計算 $ s = g^x h^y $ , $ u = x + w \cdot H(s) $ , $ v = y + r \cdot H(s) $
  • 證明者發布 $ s, u, v $
  • 驗證者接受如果 $ g^u h^v = s t^{H(s)} $

在哪裡 $ H $ 是適當範圍內的散列函式。

這是 Schnorr 證明的簡單擴展。

引用自:https://crypto.stackexchange.com/questions/68157