2 中 1 的不經意轉移的比特承諾
我知道一個使用正常 OT 的比特承諾協議(Bob 有 1/2
的機會學習 Alice 轉移給他的比特),它是這樣的:
承諾階段
Alice 選擇了一點 $ b $
為了 $ i=0 $ 到 $ i=n^2 $
$ ;;; $ 愛麗絲選擇 $ x_{ij} $ 為了 $ 1\leq j\leq n^2 $ 隨機使得 $ (\sum_jx_{ij}) \equiv b \pmod 2 $
$ ;;; $ 愛麗絲和鮑勃進行了不經意的轉賬 $ OT(x_{ij}=y_{ij}) $ 對於每個 $ j $
揭示階段
Alice 發送給 Bob 的承諾比特 $ b $ 和所有的 $ x_{ij} $ .
如果 $ (\sum_jx_{ij}) \not\equiv b \pmod 2 $ 對於一個 $ i $ ,鮑勃拒絕。否則,他接受。
所以這個協議使用 $ n^2 $ OT的迭代。我正在嘗試找到一個可以使用的協議 $ n $
的迭代 $ \binom{1}{2}-OT $ (1-out-of-2 oblivious transfer) 具有指數安全性 $ n $ . 我正在考慮
使用 $ xor $ 的和隨機位,但我能想到的唯一方法是線性安全(我認為)……
承諾階段
Alice 選擇 $ b $ 和 $ 2n $ 隨機位 $ {b_1,b_2,\dots,b_{2n}} $
這樣 $ b_1\oplus b_2=b $ , $ b_3\oplus b_4=b $ , $ \dots,b_{2n-1}\oplus b_{2n}=b $ .
Bob 選擇位 $ c_1,\dots, c_n $ .
愛麗絲和鮑勃做了一個 $ \binom{1}{2}-OT $ 對於每個 $ {b_1,b_2,c_1},{b_3,b_4,c_2},\dots,{b_{2n-1},b_{2n},c_n} $ .
揭示階段
Alice 發送給 Bob 的承諾比特 $ b $ 和所有的 $ b_i\in b_{2n} $ .
Bob 檢查是否 $ b_1\oplus b_2=b $ , $ b_3\oplus b_4=b $ , $ \dots,b_{2n-1}\oplus b_{2n}=b $ .
如果失敗一次,他拒絕,否則他接受。
我想知道你的一些意見是否我正朝著正確的方向前進。
事實證明,我設計的協議很好。
鮑勃不能作弊,因為他不可能發現 $ b $ 因為在每 $ \binom{1}{2}-OT $ 迭代,Bob 只能發現 $ b_i $ 或者 $ b_{i+1} $ 為了 $ i\geq1 $ 和 $ i=2k-1 $ 這樣 $ 1\leq k\leq\frac{n}{2} $ ( $ i $ 不均勻)。
愛麗絲有一個指數級的小機會作弊而不會被抓住,因為如果她想這樣做,愛麗絲將不得不在每一行的揭露階段為其中一個 $ b_i $ 或者 $ b_{i+1} $ ,希望鮑勃發現了另一個。(她不知道 Bob 發現了哪一個)。如果 Bob 發現其中一個位不是他在不經意傳輸期間發現的那個位,或者某一行不等於其他行,Bob 會拒絕。