Salsa20

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Salsa20 je proudová šifra publikovaná v roce 2005 Danielem J. Bernsteinem. Její pozměněná verze Salsa20 o dvanácti rundách místo dvaceti se úspěšně účastnila jako jeden z kandidátů projektu ESTREAM. Základem této proudové šifry je pseudonáhodná funkce, která přijímá na vstupu klíč o velikosti 256 bitů a jednorázovou hodnotu o velikosti 64 bitů. Dále je nezvykle vstupem ještě 64bitový index, kterým je určeno, který z výstupním 512bitových pseudonáhodných bloků má být vrácen. Číslo 20 ve jménu šifry odkazuje k základnímu počtu vnitřních rund.

Kromě šifry Salsa vytvořil Bernstein i velmi podobnou šifru ChaCha20 a jednosměrnou kompresní funkci Rumba20. Jejich bezpečnost je pro jejich příbuznost často posuzována společně.

Všechny jmenované funkce byly Bernsteinem spolu se svými vzorovými implementacemi uvolněny jako volné dílo. K roku 2018 se největšího komerčního rozšíření dočkala ChaCha20.

Využití

Od roku 2014 používá šifru ChaCha20 společnost Google spolu s MAC funkcí Poly1305 pro autentizované šifrování v rámci url=HTTPS]komunikace chráněné protokolem [[Transport Layer Security|TLS[/url]]. Společnost touto funkcí nahradila starší proudovou šifru RC4. +more Tuto kombinaci také standardizuje RFC 7539 a pro protokol TLS dále ještě zvlášť RFC 7905.

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.

Šifru RC4 nahradila ChaCha20 také v implementaci programu arc4random v operačních systémech FreeBSD), OpenBSD a NetBSD. Jako základní prvek kryptograficky bezpečného generátoru náhodných čísel používá šifru ChaCha20 jádro DragonFly BSD a od verze 4. +more8 vydané v roce 2016 také Linux pro své rozhraní /dev/urandom.

Odkazy

Reference

Externí odkazy

[url=https://cr.yp.to/snuffle.html]Salsa 20[/url] na stránkách autora

Kategorie:Proudové šifry

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