Rsa

如何從可能偏離協議的惡意發件人處攻擊 Oblivious Transfer

  • December 31, 2020

我正在看 $ 1–2 \space \text{oblivious transfer} $ 此處描述:https://en.wikipedia.org/wiki/Oblivious_transfer#:~:text=In%20cryptography%2C%20an%20oblivious%20transfer,Rabin。

我想證明一個惡意發送者(Alice)可以攻擊這個協議,如果它可以偏離它,即發送一個錯誤的 RSA 密鑰對,並學習秘密位 $ b $ .

如果發件人(愛麗絲)發送 $ e $ 這樣 $ gcd(e, \phi(N)) \neq 1 $ ,那麼 RSA 密鑰是無效的,但是接收者(Bob)如果沒有分解 $ N $ .

但是,我不完全理解如何發送這樣一個無效的輸入 $ e $ 有幫助。

自從 $ e $ 和 $ \phi(N) $ 不是互質的,那麼 $ k^e $ 接收方發送的協議並不是完全隨機的。但它如何幫助了解誰是 $ b $ ?

幫助將不勝感激。

我想證明一個惡意發送者(Alice)可以攻擊這個協議,如果它可以偏離它,即發送一個錯誤的 RSA 密鑰對,並學習秘密位 $ b $ .

事實上,你可以證明這一點(或者更確切地說,OT 需要 Alice 的 ZK 證明 $ \gcd(e, \phi(N)) = 1 $ )

但是,我不完全理解如何發送這樣一個無效的輸入 $ e $ 有幫助。

如果 $ \gcd(e, \phi(N)) > 1 $ , 那麼不是所有的值 $ z $ 有 $ e $ th 根,即有時不會有值 $ y $ 和 $ y^e = z $ . 而且,如果你知道分解,這很容易測試。

所以,當 Alice 獲得價值時 $ v = (x_b + k^e) \bmod N $ , 她可以計算 $ v - x_0 $ 和 $ v - x_1 $ . 正確的將是 $ e $ 根;錯誤的人可能不會 - 如果不是,那麼她就會知道 $ b $ .

愛麗絲會遇到的一個問題是,在這種情況下,她將無法明確恢復 $ k $ ; 這將阻止她完成協議。然而,損害已經造成。

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