Commitments

承諾方案的符號

  • December 10, 2020

我正在閱讀這組關於承諾方案的講義,其中定義了承諾方案 $ \text{Com}(b, r) = f(r), h(r) \oplus b $ 作為一個安全的承諾方案。在這種情況下, $ f : {0,1}^n \rightarrow {0,1}^n $ 是單向排列, $ h : {0,1}^n \rightarrow {0,1} $ 是硬核的一點 $ f(\cdot) $ , 和 $ r $ 似乎是一個隨機字元串 $ {0,1}^n $ (符號是 $ r \leftarrow_R {0,1}^n $ ,但我不太確定這實際上是什麼意思,如果有人能在此處澄清符號的含義,那將非常有幫助!)。

我的問題是什麼 $ f(r), h(r) \oplus b $ 方法。逗號在做什麼?這是否意味著承諾方案返回兩個輸出(我的印像是承諾方案只返回一個輸出)?或者我應該結合 $ f(r) $ 和 $ h(r) \oplus b $ 不知何故?謝謝您的幫助!

或者我應該結合 $ f(r) $ 和 $ h(r) \oplus b $ 不知何故?

是的, $ \text{Com}(b, r) $ 是一個“組合”它們的函式。然而,它只是在輸出對的意義上“組合”它們 $ f(r), h(r) \oplus b $

這裡的主要混淆源於沒有意識到元組可以是完全有效的奇異輸出。(Boaz Barak 編寫不帶括號的元組使情況更加複雜。)

從講義:

定義 2(承諾方案)。承諾方案 $ Com $ 是一個無鍵函式,它接受兩個輸入:一個明文 $ x ∈ {0,1}^n $ ` 和隨機性 $ r $ 選擇在 $ {0,1}^n $ . 這個想法是承諾我讓贏家 $ x $ 做我的預測,選擇 $ r \leftarrow_R {0,1}^n $ n 並發布 $ y = Com(x, r) $ . 後來證明我預測 $ x $ , 我會發布 $ x $ 和 $ r $ .


(符號是 $ r \leftarrow_R {0,1}^n $ ,但我不太確定這實際上是什麼意思,如果有人能在此處澄清符號的含義,那將非常有幫助!)。

在註釋的第 3 頁,作者使用 $ R $ 表示隨機。 $ \gets $ 是賦值。 $ \gets_R $ 用於統一隨機分配。

有關更多資訊,請參閱此答案

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