Cryptanalysis

一鍵開啟數據和數據洩漏

  • August 12, 2016

假設所有定義的值和操作 $ \mathbb{F}_p $ . 為簡單起見,假設所有值都不為零。讓 $ (-r) $ 表示值的加法倒數 $ r $ .

我們有一個固定值 $ a $ . 我們計算 $ v_1=a+r_1 $ 和 $ v_2=(-r_1)+r_2 $ , 在哪裡 $ r_i $ 是從田野中均勻隨機挑選出來的。

我們給予 $ v_1 $ 和 $ v_2 $ 對一個半誠實的對手並要求他做:

$ v_1+v_2=a+r_2 $


問題:給定 $ v_1 $ 和 $ v_2 $ 對手能學到什麼嗎 $ a $ 在上述情況下(當它執行模組化添加操作時)?

這只是 OTP 的放大版本。

$ v_1 $ 基本上只是普通的OTP:要解密,知道就足夠了 $ r_1 $

然後你給對手另一個隨機值:如果 $ r_2 $ 被均勻地繪製並且 $ r_1 $ 是固定的, $ v_2 $ 具有相同的分佈 $ r_2 $ 本身。本質上,您正在使用另一個 OTP 來加密第一個 OTP 的密鑰(減號不會改變任何內容)

所以最後,如果你同時傳輸 $ v_1 $ 和 $ v_2 $ ,您只是將消息的大小增加了一倍。而且您將密鑰大小翻了一番,而密鑰管理是 OTP 的主要缺點。解密是可能的與知識 $ r_1 $ (直接)或 $ r_2 $ (間接地,得到 $ r_1 $ 從 $ v_2 $ ).

這種構造很容易在 OTP 上變成攻擊者,反之亦然,因此安全性基本相同。但這僅在您實際使用帶有真正隨機密鑰的 OTP 時才是正確的。在流密碼構造(人們有時錯誤地稱為 OTP)中,情況可能完全不同,從直覺上我會說它會削弱安全性。

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