Poly1305
Author
Albert FloresPoly1305 je v kryptografii MAC funkce, tedy funkce určená k ověření integrity dat a autentizaci zprávy. Návrh funkce představil její autor Daniel J. Bernstein v roce 2004, finální podobu zveřejnil v roce 2005 a v roce 2015 ji standardizovala IRTF ve dvojici s šifrou ChaCha20 v rámci RFC 7539.
Popis
Jméno je odvozeno od použitého prvočísla 2^{130}-5 a od skutečnosti, že jádrem algoritmu je vyhodnocení polynomu, jehož koeficienty tvoří šestnáctibajtové bloky zprávy, ve zvoleném bodě r.
Interně může být pro vytváření pomocných nepředvídatelných jednorázových hodnot použita symetrická šifra. Původní návrh počítal s použitím šifry AES a byl proto označován za Poly1305/AES.
Implementace a využití
Sám autor D. J. +moreBernstain nabídl jako volné dílo vlastní implementaci funkce v optimalizacích mimo jiné pro AMD Athlon, Pentium, PowerPC a UltraSPARC.
Implementace funkce je také součástí autorem vytvářené knihovny NaCl (kde je v ní používána bloková šifra Salsa20).
Kromě RFC 7539 obecně standardizujícího podobu funkce dále funkci zmiňuje RFC 7905, které ji v kombinaci s ChaCha20 standardizuje jako sestavu pro autentizované šifrování v TLS. V této podobě ji už od roku 2014 používá společnost Google místo starší šifry RC4 pro ochranu url=HTTPS]komunikace mezi jí provozovanými servery a uživateli používajícími její [[webový prohlížeč[/url]] Chrome na její platformě Android.
Od roku 2013 používá kombinaci ChaCha20 a Poly1305 program OpenSSH, který se díky tomu následně zbavil povinné závislosti na knihovně OpenSSL. RFC 7634 standardizuje použití ChaCha20 a Poly1305 v protokolech IKE a IPSec.
Odkazy
Reference
Externí odkazy
[url=https://cr.yp.to/mac.html]Poly1305[/url] na stránce autora * [url=https://github.com/floodyberry/poly1305-opt]Optimalizované implementace[/url] na GitHubu