RSA 盲簽名攻擊
在資訊安全課中,我學習了一種使用“盲法”的非自適應選擇密文攻擊,但我無法遵循證明,因此無法重建它。根據我的發現,它似乎基於這個維基百科條目(雖然我認為不完全):http ://en.wikipedia.org/wiki/Blind_signature#Dangers_of_blind_signing
這個想法是攻擊者截獲密文,用盲密文替換它,然後將其發送給接收者。解密後,接收者抱怨郵件已損壞,並返回解密後的損壞“明文”。到現在為止還挺好。現在,如果攻擊者截獲了損壞的明文,他應該能夠解密它以獲得原始消息。
假設損壞的消息 $ m’ $ , 加密密鑰 $ c $ 和 $ n $ (在哪裡 $ n $ = $ p $ * $ q $ ) 是公開的,並且 $ d $ 是收件人的私人解密密鑰,證明應該是:
$$ 1) \ m’ = (m^c * z^c )^d\ mod\ n = m^{cd} * z^{cd} \ mod\ n $$ $$ 2)\ c*d\ mod\ n = 1 $$ $$ 3)\ m’ = m^1 * z^1 mod\ n\ \ \ \ \ (edit:\ because\ of\ 2) $$ $$ 4)\ m = z^{-1} * m’ $$
我了解攻擊者可以攔截損壞的消息 $ m’ $ 在步驟 1) 中。我不明白的是第2步)。難道不應該 $ c*d\ mod\ \phi(n) = 1 $ , 在哪裡 $ \phi $ 是歐拉的全部函式嗎?畢竟 $ d $ ,這是乘法逆 $ c $ , 計算 $ mod\ \phi(n) $ ,只有收件人可以計算,因為他有 $ p $ 和 $ q $ .
你是對的; 誰把上述證明拼寫錯了這一點;我們有 $ c \times d \equiv 1 \pmod {\phi(n)} $ ,或更準確地說, $ c \times d \equiv 1 \pmod {lcm(p-1, q-1)} $ .
另一方面,預計攻擊者無法計算步驟 2(他不能,他不知道 $ lcm(p-1,q-1) $ ,因此無法計算 $ d $ )。相反,它在那裡建立關係 $ c $ 和 $ d $ (以及為什麼它們在第 3 步中取消)