Salsa20

Salsa20 je proudová šifra publikovaná v roce 2005 Danielem J. Bernsteinem.[1] 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.[2] 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ě.[3][4]

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 HTTPS komunikace chráněné protokolem TLS. Společnost touto funkcí nahradila starší proudovou šifru RC4.[5] Tuto kombinaci také standardizuje RFC 7539[6] a pro protokol TLS dále ještě zvlášť RFC 7905.[7]

Od roku 2013 používá kombinaci ChaCha20 a Poly1305 program OpenSSH,[8] který se díky tomu následně zbavil povinné závislosti na knihovně OpenSSL.[9] RFC 7634 standardizuje použití ChaCha20 a Poly1305 v protokolech IKE a IPSec.[10]

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

Odkazy

Reference

V tomto článku byl použit překlad textu z článku Salsa20 na anglické Wikipedii.

  1. BERNSTEIN, Daniel J. The Salsa20 family of stream ciphers [online]. 2007-12-25. Dostupné online. (anglicky)
  2. Salsa20/12 [online]. Ecrypt, duben 2012. Dostupné v archivu pořízeném dne 2018-02-26. (anglicky)
  3. AUMASSON, Jean-Phillipe; FISCHER, Simon; KHAZAEI, Shahram. New Features of Latin Dances: Analysis of Salsa, ChaCha, and Rumba. In: NYBERG, Kaisa. Fast Software Encryption 2008. Berlín: Springer, 2008. Dostupné online. ISBN 978-3-540-71039-4. (anglicky)
  4. ČEN-ČCHING, Š'; PIN, Čang; TENG-KUO, Feng. Improved Key Recovery Attacks on Reduced-Round Salsa20 and ChaCha. In: Information Security and Cryptology – ICISC 2012. [s.l.]: Springer, 2012. ISBN 978-3-642-37681-8. (anglicky)
  5. Google Swaps Out Crypto Ciphers in OpenSSL. infosecurity-magazine.com [online]. 2014-04-25. Dostupné online.
  6. NIR, Yoav; LANGLEY, Adam. ChaCha20 and Poly1305 for IETF Protocols. Request for Comments [online]. Květen 2015. Čís. 7539. Dostupné online. ISSN 2070-1721. (anglicky)
  7. LANGLEY, Adam; CHANG, Weh-Teh; MAVROGIANNOPOULOS, Nikos; STROMBERGSON, Joachim; JOSEFSSON, Simon. ChaCha20-Poly1305 Cipher Suites for Transport Layer Security (TLS). Request for Comments [online]. Červen 2016. Čís. 7905. Dostupné online. ISSN 2070-1721. (anglicky)
  8. Encryption Communications Open Source OpenSSH Has a New Cipher — ChaCha20-poly1305 — from D.J. Bernstein. Slashdot.org [online]. 2013-12-11. Dostupné online.
  9. OpenSSH No Longer Has To Depend On OpenSSL. Slashdot.org [online]. 2014-04-30. Dostupné online.
  10. NIV, Yoav. ChaCha20, Poly1305, and Their Use in the Internet Key Exchange Protocol (IKE) and IPsec. Request for Comments [online]. Srpen 2015. Čís. 7634. Dostupné online. ISSN 2070-1721. (anglicky)
  11. Revision 317015 [online]. 2017-04-16. Dostupné online. (anglicky)
  12. Super User's BSD Cross Reference: arc4random.c [online]. Dostupné online. (anglicky)
  13. Super User's BSD Cross Reference: arc4random.c [online]. Dostupné online. (anglicky)
  14. Super User's BSD Cross Reference: arc4random.c [online]. Dostupné online. (anglicky)
  15. CORBET, Jonathan. Replacing /dev/urandom. Linux Weekly News [online]. 2016-05-04. Dostupné online.

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.