Mac

鑑於 Poly1305 的“猝死”特性,為何如此受歡迎?

  • March 25, 2016

ECDSA 具有不良特性,即如果密鑰對在簽名操作中重用 nonce,則密碼系統會以私鑰洩漏的形式出現災難性故障。我聽說這被稱為“猝死”密碼學。當然,PS3 濫用 ECDSA 可能是最廣為人知的事件。

像 Ed25519 這樣的 DJB 提倡的密碼系統的一個優點是它們沒有這個弱點。Ed25519 網站聲明“雜湊函式衝突不會破壞這個系統”。

ECDSA 的完美實現將沒有問題,但由於實現缺陷是不可避免的,因此似乎最好使用沒有巨大暴露鋒利邊緣的密碼學。

在這種情況下,我對 DJB 和其他人倡導的身份驗證功能感到困惑,該功能在無意中重用 nonce 時會表現出“突然死亡”。

Poly1305的使用真的只看性能嗎?如果是這樣,為什麼這如此重要?例如 HMAC 的廣泛使用表明 MAC 計算成本是可以承受的,並且沒有緊迫的問題。我不明白為什麼 Poly1305 看起來如此危險時會受到如此偏好。有人可以解釋一下嗎?

Poly1305 的一個特別有趣的方面是它的安全性得到保證,假設底層密碼是安全的。換句話說,只要 AES 沒有被破壞,Poly1305-AES 就可以保證是安全的。如果 AES 被破壞,AES 可以用另一個密碼替換,並獲得類似的安全保證。

DJB 在他的Poly1305-AES 論文中談到了他使用隨機數的選擇:

Poly1305-AES 使用隨機數有幾個原因。首先,沒有隨機數的可比協議具有看起來像 C(C + D)L / 2^106 而不是 DL / 2^106 的安全邊界——這裡 C 是發送者認證的消息數量,D 是偽造的數量嘗試,L 是最大消息長度——因此不能放心地用於大 C。其次,nonce 允許 AES 的呼叫與 Poly1305-AES 中的大多數其他操作並行執行,從而減少延遲許多上下文。第三,出於各種原因,大多數協議無論如何都具有隨機數:例如,安全加密需要隨機數,並且隨機數允許對重播消息進行微不足道的拒絕。

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