ChaCha20 编辑
Salsa20是一种流加密算法,由丹尼尔·J·伯恩斯坦提交到eSTREAM。它建立在基于add-rotate-xor操作的伪随机函数之上——32位模加、异或位操作。Salsa20映射一个256位元密钥、一个64位Nonce以及一个64位流位置到一个512位的输出。这使Salsa20具有了不同寻常的优势,用户可以在恒定时间内寻求输出流中的任何位置。它可以在现代X86处理器中提供约每4–14次循环周期一字节的速度,并具有合理的硬件性能。它没有注册专利,并且Bernstein还撰写了几篇对常见架构优化的公有领域实现。
1
相关
WireGuard是由Jason A. Donenfeld开发的开放源代码虚拟私人网络程序及协议,基于Linux内核实现,利用Curve25519进行密钥交换,ChaCha20用于加密,Poly1305用于数据认证,BLAKE2用于散列函数运算,支持IPv4和IPv6的第3层。WireGuard旨在获得比IPsec和OpenVPN更好的性能。