Authenticated-Encryption
1.5 通密碼是什麼意思?
在AEAD 密碼的優勢是什麼?Maarten Bodewes 在他的回答中使用了術語 1.5 pass cipher。1.5 通密碼和 2 通密碼有什麼區別?為什麼 Poly1305 是 1.5 通密碼?ChaCha20-Poly1305中的身份驗證標籤不是在單獨的步驟中加密後計算的嗎?
2-pass 驗證密碼是一種操作模式,它對消息中的每個字節使用兩個完整(塊)密碼操作。還有一種操作模式,OCB 模式,它使用單次傳遞來提供消息機密性和消息完整性/身份驗證(它受到 IP 權限問題的阻礙,因此使用不多)。
1.5 認證的密碼當然不會對每個其他字節執行加密或認證操作。它只是使用一種身份驗證算法——當在正確的硬體上實施時——被認為比分組密碼更快。因此,應該將 1.5 遍讀取為分組密碼的完整一遍 + 一遍 - 計為 0.5 - 用於更快的身份驗證操作。
作為一個例子,GCM 需要一個分組密碼操作和一個 128 位乘法在伽羅瓦欄位中每個加密和認證數據塊(128 位)。伽羅瓦域中的 128 位乘法可以比 AES 塊加密快得多。Poly1305 具有與 GMAC 相同的功能,它指定 GCM 中的伽羅瓦域乘法。
GMAC 和 Poly1305 都需要前後處理。因此,對於較小的消息,1.5 和 2 遍認證密碼之間的差異可能不太明顯(也取決於 2 遍密碼需要多少預處理和後處理)。
請不要直接將 0.5 視為性能指標。1-pass 和 2-pass 密碼的速度差異取決於算法和實現。這只是一個跡象,表明在預期速度方面不應將其視為另一個完整的通行證。