Cryptanalysis

數據洩露和數據交換

  • December 14, 2015

我有兩個秘密值 $ a $ 和 $ b $ (即它們是任意值)。我將它們屏蔽如下:

$ v_1=r_1a+r_2 $

$ v_2=r_1(b-a) $

在哪裡 $ r_1 $ 和 $ r_2 $ 是一致的隨機值。我發 $ v_1 $ 和 $ v_2 $ 到惡意伺服器,並要求他計算 $ v_1+v_2=r_1b+r_2 $


**問:**給定 $ v_1 $ 和 $ v_2 $ , 伺服器能學到什麼嗎 $ a $ 和 $ b $ ?


注意:我們知道,如果伺服器學習 $ r_1 $ 或者 $ r_2 $ 它可以找出值 $ a $ 和 $ b $ 也。

編輯:我考慮模組化操作,所以他們完成了 mod $ p $ 在哪裡 $ p $ 是一個大素數。所以 $ r_i $ 是從田野中均勻隨機挑選的 $ \mathbb{F}_p $

給定 $ v_1 $ 和 $ v_2 $ , 伺服器能學到什麼嗎 $ a $ 和 $ b $ ?

是的,他們可以(很有可能)確定是否 $ a = b $ ; 如果 $ v_2 = 0 $ ,那麼要麼 $ r_1 = 0 $ 或者 $ a = b $ ; 鑑於 $ r_1 = 0 $ 以機率發生 $ 1/p $ , 攻擊者可以得出結論 $ a = b $ .

現在,這是攻擊者唯一能學到的東西;對於任何觀察到的 $ v_1, v_2 $ ,那麼對於任何 $ a, b $ 配對 $ a \ne b $ , 有一個獨特的 $ r_1, r_2 $ 使它工作的一對。作為 $ r_1, r_2 $ 是隨機和統一選擇的,攻擊者沒有得到關於實際情況的資訊 $ a, b $ 對是。

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