Poly1305

Poly1305是由丹尼尔·J·伯恩斯坦设计的密码学訊息鑑別碼(MAC)。它可用于验证数据完整性訊息真伪。不依赖AES的Poly1305变种已由互联网工程任务组在RFC 8439中标准化。

概述

在原始提案中,Poly1305使用AES分组密码来扩展密钥(Poly1305-AES)。在NaCl英语NaCl (software)中,Poly1305使用Salsa20替代AES,在TLS和SSH中,它与ChaCha20密钥流一起使用。

Google选择了伯恩斯坦设计的,带Poly1305訊息鑑別碼的ChaCha20,作为OpenSSL中RC4的替代品,用以完成互联网的安全通信。[1]Google最初实现了HTTPS (TLS/SSL)流量在Chrome浏览器Android手机版)与Google网站之间的通信。[2]

不久之后,Google在TLS中采用它,ChaCha20和Poly1305算法也以 [email protected] 成为OpenSSH中的一个新密码套件。[3][4]后来,通过编译时选项避免它依赖于OpenSSL也成为可能。[5]ChaCha20-Poly1305的使用已在RFC 7905中标准化。

实现

以下是支持Poly1305的加密库列表:

  • Botan英语Botan (programming library)
  • Bouncy Castle英语Bouncy Castle (cryptography)
  • Crypto++
  • Libgcrypt英语Libgcrypt
  • libsodium英语NaCl (software)
  • Nettle英语Nettle (cryptographic library)
  • OpenSSL
  • GnuTLS
  • LibreSSL
  • mbedTLS
  • wolfCrypt

参考文献

  1. ^ draft-ietf-tls-chacha20-poly1305 The ChaCha20-Poly1305 AEAD Cipher for Transport Layer Security
  2. ^ Google Swaps Out Crypto Ciphers in OpenSSL (页面存档备份,存于互联网档案馆), InfoSecurity, April 24, 2014
  3. ^ Miller, Damien. ssh/PROTOCOL.chacha20poly1305. BSD Cross Reference, OpenBSD src/usr.bin/. 2013-12-02 [2014-12-26]. (原始内容存档于2014-12-27). 
  4. ^ 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). 
  5. ^ 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
 
常用函数
SHA-3入围英语NIST hash function competition
  • BLAKE
  • Grøstl
  • JH英语JH (hash function)
  • Skein英语Skein (hash function)
  • Keccak(胜出)
其他函数
  • ECOH英语Elliptic curve only hash
  • FSB英语Fast Syndrome Based Hash
  • GOST英语GOST (hash function)
  • HAS-160英语HAS-160
  • HAVAL英语HAVAL
  • Kupyna英语Kupyna
  • LM hash英语LM hash
  • MD2英语MD2 (cryptography)
  • MD4
  • MD6
  • MDC-2英语MDC-2
  • N-Hash英语N-Hash
  • RIPEMD
  • RadioGatún英语RadioGatún
  • SWIFFT英语SWIFFT
  • SipHash英语SipHash
  • Snefru英语Snefru
  • Streebog英语Streebog
  • Tiger英语Tiger (cryptography)
  • VSH英语Very smooth hash
  • WHIRLPOOL英语Whirlpool (cryptography)
  • SM3
  • X11
密码散列/
密钥延伸函数
  • Argon2
  • Balloon
  • bcrypt
  • Catena英语Catena (cryptography)
  • crypt(3)英语Crypt (C) (DES)
  • LM散列英语LAN Manager#LM hash details
  • Lyra2
  • Makwa英语Makwa (cryptography)
  • PBKDF2
  • scrypt
  • yescrypt
通用
密钥派生函数
  • HKDF
  • KDF1/KDF2
MAC算法
  • DAA英语Data Authentication Algorithm
  • CBC-MAC英语CBC-MAC
  • HMAC
  • OMAC英语One-key MAC/CMAC英语CMAC
  • PMAC英语PMAC (cryptography)
  • VMAC英语VMAC
  • UMAC英语UMAC
  • Poly1305
认证加密模式
攻击
设计
  • 雪崩效应
  • 碰撞
  • 默克尔-达姆加德结构英语Merkle–Damgård construction
标准化
  • CRYPTREC英语CRYPTREC
  • NESSIE英语NESSIE
  • NIST散列函数竞赛英语NIST hash function competition
实际应用
  • 分类 分类
  • 主题 主题
  • 专题 专题