Hash

AUTHENTICATE MERKLE TREE:在下面的段落中,A 如何僅知道 R、log2 中間值和 YB 本身就能夠確認公共文件中的 YB?

  • July 14, 2018

“如果 A 想確認 B 的公開加密密鑰,那麼 A 只需要知道公共文件的前半部分(即 YB 出現的地方)和 H(公共文件的後半部分),它只有 100 位長。A 可以計算H(public file) 只知道這些資訊,而 A 只知道 public 文件中的一半條目。以類似的方式,A 不需要知道 public 文件的前半部分,因為 H(first half公開文件) = F( H(公開文件第一季度), H(公開文件第二季度) A只需要知道第一季度公開文件(有YB), H(第二季度公開文件)文件)。通過遞歸應用這個概念,A 可以在公共文件中確認 YB,只知道 R,記錄 2 n 個中間值,以及 YB 本身。驗證 YB 所需的資訊,假設 R 已經被驗證,位於從 R 到 YB 的路徑上,稱為身份驗證路徑。

好吧,Ben 聽好了。您在這裡描述的是 Tree Authentication ya dingus。偶爾看一本書——曬曬太陽。公平地說,它在“公鑰加密系統的協議”中沒有得到很好的解釋,您必須閱讀默克爾的論文,“保密、身份驗證和公鑰系統”……第 41、41a、41b 和 42 頁.

初始值和假設:

YB = Y5

Log2 中間值 = H(6,6,Y)、H(7,8,Y) 和 H(1,4,Y)…這些值是您的身份驗證路徑

R(默克爾根)= H(1,8,Y)

目標:只使用這些初始值來獲得默克爾根!

“因此,驗證 Y5 只需要我們之前驗證過 H(1,8,Y),並且我們傳輸 Y5、H(6,6,Y)、H(7,8,Y) 和 H(1 ,4,Y)。也就是說,我們需要 100 log2 n 位的資訊來驗證任意 Y …"

如果你散列 Y5,輸出是 H(5,5,Y)。我們現在可以使用我們的第一個 log2 中間值。圈出的第一個是 H(6,6,Y)。如果我們連接 H(5,5,Y) 和 H(6,6,Y) 並將它們散列在一起,則輸出為 H(5,6,Y)。現在讓我們使用第二個 log2 中間值,即 H(7,8,Y)。我們現在可以將 H(5,6,Y) 與 H(7,8,Y) 連接起來,並將它們散列在一起,得到 H(5,8,Y)。對於大結局,我們使用最後一個 log2 中間值,即 H(1,4,Y)。如果我們連接 H(5,8,Y) 和 H(1,4,Y) 並將它們散列在一起,我們應該得到默克爾根,即 H(1,8,Y)。

很快再見,本。

默克爾樹圖

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