Encryption

XSalsa20Poly1305 用於靜態加密

  • July 10, 2021

我剛剛發現了一個使用 XSalsa20Poly1305 進行傳輸和靜態加密的項目。如果值得信任數據,我正在嘗試查找一些資訊。

將我找到的資訊放入上下文中感覺有點困難。我讀到帶有(大量)Salsa20(密碼)的Poly1305(MAC)可以替代AES。

  1. 使用 XSalsa20Poly1305 有顯著優勢嗎?
  2. X Salsa20Poly1305中的“X”是否僅表示 192 位隨機數?

我不是密碼學家,我很想了解更多細節。

雖然您沒有提及來源,但這裡有一個. 實際上,伯恩斯坦的論文中描述了 XSalsa 家族;

XSalsa20Poly1305 中的“X”是否僅表示 192 位隨機數?

是的,這意味著 XSalsa 的 nonce 大小是 192 位,而 Salsa 有 64 位。這是如此之大,以至於即使對於隨機隨機數也必須生成 $ 2^{96} $ 統一的隨機數,以便以 50% 的機率發生碰撞。這在長期密鑰中非常重要。如果重新使用(密鑰,隨機數)對,則機密性失去。192 位可以防止這種情況。對於密碼學來說,這幾乎是永遠不會發生的事件。

使用 XSalsa20Poly1305 有顯著優勢嗎?

  • 顯而易見的一個是長隨機數。
  • 另一種是Poly1305 是比 GCM 更好的驗證器
  • 由於 ARX 設計,它具有非常好的 CPU 性能,在原始 CPU 中擊敗了 AES,甚至可以與 AES-NI 競爭。

OpenSSL 比較(ChaCha 不是 Salsa);

另外,請注意,伯恩斯坦在論文中提供了安全證明;如果 Salsa20 是安全的,那麼 XSalsa 也是如此。

經證明,Salsa20 的 15 輪可以抵禦差分攻擊。

請注意,Salsa 家族有一個新變種;恰恰一家。ChaCha 系列旨在以幾乎相同的速度增加每輪的擴散。ChaCha 家族比 Salsa 家族更適應,TLS 1.3 使用 ChaCha20-Pol1305。

ChaCha20 也有 XChaCha20-Poly1305 ( ietf draft ),它使用相同的 192 位隨機數大小。優於 XSalsa20-Poly1305。請注意,由於 Salsa 出現在eSTREAM 項目中,因此對 ChaCha 家族的研究少於 Salsa 家族。

如果可以的話,更喜歡 XChaCha20-Poly1305。


請注意,經過身份驗證的加密是傳輸時必須的,建議對其餘數據進行加密。

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