Poly1305

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Poly1305 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

Kategorie:MAC funkce Kategorie:Internetové standardy

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top