Poly1305
外觀
Poly1305是由丹尼爾·J·伯恩斯坦設計的密碼學訊息鑑別碼(MAC)。它可用於驗證數據完整性和訊息真偽。不依賴AES的Poly1305變種已由互聯網工程任務組在RFC 8439中標準化。
概述
[編輯]在原始提案中,Poly1305使用AES區塊加密法來擴充金鑰(Poly1305-AES)。在NaCl中,Poly1305使用Salsa20替代AES,在TLS和SSH中,它與ChaCha20金鑰流一起使用。
Google選擇了伯恩斯坦設計的,帶Poly1305訊息鑑別碼的ChaCha20,作為OpenSSL中RC4的替代品,用以完成互聯網的安全通訊。[1]Google最初實現了HTTPS (TLS/SSL)流量在Chrome瀏覽器(Android手機版)與Google網站之間的通訊。[2]
不久之後,Google在TLS中採用它,ChaCha20和Poly1305演算法也以 chacha20-poly1305@openssh.com 成為OpenSSH中的一個新密碼套件。[3][4]後來,通過編譯時選項避免它依賴於OpenSSL也成為可能。[5]ChaCha20-Poly1305的使用已在RFC 7905中標準化。
實現
[編輯]以下是支援Poly1305的加密庫列表:
參考文獻
[編輯]- ^ draft-ietf-tls-chacha20-poly1305 The ChaCha20-Poly1305 AEAD Cipher for Transport Layer Security
- ^ Google Swaps Out Crypto Ciphers in OpenSSL (頁面存檔備份,存於互聯網檔案館), InfoSecurity, April 24, 2014
- ^ Miller, Damien. ssh/PROTOCOL.chacha20poly1305. BSD Cross Reference, OpenBSD src/usr.bin/. 2013-12-02 [2014-12-26]. (原始內容存檔於2014-12-27).
- ^ Murenin, Constantine A. Unknown Lamer , 編. OpenSSH Has a New Cipher — Chacha20-poly1305 — from D.J. Bernstein. Slashdot. 2013-12-11 [2014-12-26]. (原始內容存檔於2021-03-09).
- ^ Murenin, Constantine A. Soulskill , 編. OpenSSH No Longer Has To Depend On OpenSSL. Slashdot. 2014-04-30 [2014-12-26]. (原始內容存檔於2016-06-24).
外部連結
[編輯]- Poly1305-AES(頁面存檔備份,存於互聯網檔案館) reference and optimized implementation by author D. J. Bernstein
- Fast Poly1305 implementation in C(頁面存檔備份,存於互聯網檔案館) on github.com