用非素數橢圓曲線理解小輔因子攻擊
我遇到了涵蓋此攻擊的 2 個較舊的答案(關於小型輔因子攻擊的 2 個不同但相似的問題)。
在這裡,攻擊者替換 $ bG $ Bob 發送給 Alice $ H $ 在哪裡 $ H $ 是一個較小的順序點。
在這裡,攻擊者替換 $ bG $
Bob 用bG + aH發送給 Alice $ bG + H $ 在哪裡 $ H $ 是一個較小的順序點。這與答案 1 不同,他將其替換為 $ H $ .這兩種攻擊是相同的還是不同的攻擊?
了解答案 1中的攻擊:
另外,更換後 $ bG $ ,這就是答案所說的攻擊者接下來要恢復 Alice 的私鑰所做的事情 $ a $
從答案
(攻擊者)能夠找到 $ a\bmod 8 $ 通過檢查以下消息。
作者所說的“後續消息”是指 Alice 和 Bob 在協議的 DH 部分完成後相互交換的消息 - 即在沒有攻擊的理想情況下, $ abG $ 將是 DH 完成後 Alice 和 Bob 用來交換消息的對稱密鑰。這就是作者所說的“關註消息”的意思。即,攻擊者獲取由派生密鑰加密的消息,然後對其進行暴力破解。我認為這種蠻力比原始命令的全部力量更簡單的原因是因為 $ H $ 是一個小訂單點, $ aH $ 也將是相同小訂單的一個點,因此攻擊者只需要嘗試較少數量的小訂單點就可以成功地暴力破解它?我的理解正確嗎?
了解答案 2中的攻擊:
作者在這裡說
鮑勃知道價值 $ abG $ (他誠實地完成了第二階段的一半),他可以計算 Alice 的共享秘密 $ h $ 不同的選擇,因此恢復 $ a \bmod h $ .
在這裡,作者沒有明確說他使用派生的共享密鑰加密的消息來查找 Alice 的私鑰——但我假設這就是攻擊。
因為這裡 Alice 生成的密鑰是 $ a(bG+H) $ - 我不清楚這是否也是一個較小的訂單點,可以像第一個一樣被暴力破解。有人能解釋一下這裡的攻擊嗎?
我是否在正確的軌道上重新理解輔因子攻擊?
關於答案 1:是的,您理解正確。在實踐中,攻擊者將不得不暴力破解 Alice 發送的消息的密鑰。但是經常發生這種交換消息的蠻力被忽略並隱含假設的情況。
關於答案2:首先,問題中有一個錯誤。你寫了
Bob 發送給 Alice $ bG+aH $
但實際上 $ a $ Bob 不知道, $ a $ 是攻擊的最終目標。鮑勃只是發送 $ bG+H $ ,正如答案 2中正確寫的那樣。
現在,Bob 計算了 $ bG $ , 已經送出 $ bG+H $ 並已收到 $ aG $ 來自愛麗絲。
Alice 將共享秘密計算為 $ a(bG+H)=abG+aH $ 並使用從中派生的密鑰來加密她的消息。
Bob 計算 $ b(aG)=abG $ ,現在它使用派生的密鑰暴力破解從 Alice 發送的消息 $ abG+iH $ 對所有人 $ i < h $ 在哪裡 $ h $ 是輔因子。正確解密的將給 Bob 的值 $ a \pmod h $ .
如您所見,蠻力的努力與答案 1 的情況相同。