Randomness
對抗簡單功能的優勢?
攻擊者必須通過區分輸出是否由某個函式更新來贏得下一場比賽?
- 攻擊者查詢預言機的輸出。
- Oracle 生成新的 4 個隨機字節 $ a $ , $ b $ , $ c $ , 和 $ d $ 和一個隨機位 $ x $ .
- 如果 $ x=0 $ , Oracle 輸出值為 $ a $ , $ b $ , $ c $ , 和 $ d $ .
- 如果 $ x=1 $ ,它首先使用以下方程更新值(按順序應用),然後輸出更新的值 $ a $ , $ b $ , $ c $ , 和 $ d $ . $$ \begin{align} a &= (a + dc) \bmod 256;\ b &= (b + ad) \bmod 256;\ c &= (c + ba) \bmod 256;\ d &= (d + cb) \bmod 256;\ \end{align} $$
- 攻擊者的目標是發現輸出是第 3 步或第 4 步的結果?
*攻擊者可以進行無限查詢。
範例:如果在步驟 2 中 a=0、b=0、c=1、d=1 和 x=1,則 Oracle 輸出 1、1、2、3。
讓 $ f(a,b,c,d) $ 表示您在第 4 步中的轉換。這是這 4 個步驟的順序組合:
- $ (a,b,c,d) \mapsto (a+dc \bmod 256,b,c,d) $
- $ (a,b,c,d) \mapsto (a,b+ad \bmod 256,c,d) $
- $ (a,b,c,d) \mapsto (a,b,c+ba \bmod 256,d) $
- $ (a,b,c,d) \mapsto (a,b,c,d+cb \bmod 256) $
請注意,每個步驟都是可逆的。例如,第一步是可逆的 $ (a’,b,c,d) \mapsto (a’-dc \bmod 256,b,c,d) $ . 因此,整個轉變 $ f(a,b,c,d) $ 是可逆的。
由於分佈超過 $ (a,b,c,d) $ 最初是均勻的並且 $ f $ 是可逆的,分佈在 $ f(a,b,c,d) $ 也是統一的。這意味著:不管 $ x=0 $ 或者 $ x=1 $ ,輸出是一致的,所以區分器沒有優勢猜測 $ x $ .