Salsa20 on Daniel Bernsteinin kehittämä jonosalain, joka perustuu Bernsteinin kehittämään näennäissatunnaislukugeneraattoriin.

Salsa20 alustetaan 256-bittisellä avaimella, 64-bittisellä nonssilla (kertakäyttöluvulla) ja 64-bittisellä luvulla, joka ilmaisee sijainnin jonossa. Näiden perusteella Salsa20 luo tilansa, joka koostuu kuudestatoista 32-bittisestä luvusta (yhteensä 512 bittiä). Algoritmi luo tilansa perusteella näennäisesti satunnaista bittijonoa, joka yhdistetään salattavaan tietoon XOR-operaatiolla.[1][2]

Salsa20:n sisäinen toteutus käyttää operaatioita, jotka voidaan toteuttaa nopeasti nykysuorittimilla. Operaatiot ovat myös vakioaikaisia, mikä suojaa ajoitukseen perustuvilta sivukanavahyökkäyksiltä. Bernstein on julkaissut algoritmista eri arkkitehtuureille optimoituja julkisesti käytettäviä eli public domain -toteutuksia.[3]

Salsa20 valittiin vuonna 2008 eSTREAM-projektin lopulliseen portfolioon ohjelmallisia toteutuksia varten.[4]

Bernstein on kehittänyt Salsa20:stä myös hieman muunnellun version nimeltään ChaCha[5] tai ChaCha20.

Kryptoanalyysi muokkaa

Salsa20 on toistaiseksi murtamaton. Paras tunnettu hyökkäys murtaa 8 kierrosta 20:stä.

Vuonna 2005 Paul Crowley julkaisi hyökkäyksen, joka kykenee murtamaan 5 kierrosta Salsa20:n 20:stä 2165:llä operaatiolla[6] ja voitti Bernsteinin "mielenkiintoisimmalle Salsa20-kryptanalyysille" luvatun tuhannen dollarin palkinnon.

Vuonna 2006 Fischer, Meier, Berbain, Biasse ja Robshaw julkaisivat 2177 operaatiota vaativan hyökkäyksen Salsa20:n kuudelle ensimmäiselle kierrokselle[7].

Vuonna 2007 Tsunoo, Saito, Kubo, Suzaki ja Nakashima julkaisivat 2255 operaatiota vaativan hyökkäyksen 8:lle Salsa20:n kierrokselle, joskin käytännössä hyökkäys on hitaampi kuin kaikkien avaimien läpikäyminen.[8]

Samana vuonna Aumasson, Fischer, Khazaei, Meier ja Rechberger julkaisivat 2251 operaatiota vaativan hyökkäyksen 8:lle Salsa20:n kierrokselle.[9]

Lähteet muokkaa

  1. Jean-Philippe Aumasson: Serious Cryptography: A Practical Introduction to Modern Encryption. No Starch Press, 2017-11-21. ISBN 9781593278823. Teoksen verkkoversio (viitattu 22.3.2019). en
  2. Taekyoung Kwon, Mun-Kyu Lee, Daesung Kwon: Information Security and Cryptology -- ICISC 2012: 15th International Conference, Seoul, Korea, November 28-30, 2012, Revised Selected Papers. Springer, 2013-04-03. ISBN 9783642376825. Teoksen verkkoversio (viitattu 22.3.2019). en
  3. D. J. Bernstein: Software speed cr.yp.to. Viitattu 22.3.2019.
  4. The eSTREAM Project www.ecrypt.eu.org. Arkistoitu 9.7.2016. Viitattu 23.3.2019.
  5. D: J. Bernstein: The ChaCha family of stream ciphers cr.yp.to. 25.4.2008.
  6. Paul Crowley, Truncated differential cryptanalysis of five rounds of Salsa20
  7. Simon Fischer, Willi Meier, Côme Berbain, Jean-Francois Biasse, Matt Robshaw, Non-Randomness in eSTREAM Candidates Salsa20 and TSC-4, Indocrypt 2006
  8. Yukiyasu Tsunoo, Teruo Saito, Hiroyasu Kubo, Tomoyasu Suzaki and Hiroki Nakashima, Differential Cryptanalysis of Salsa20/8
  9. Jean-Philippe Aumasson, Simon Fischer, Shahram Khazaei, Willi Meier, and Christian Rechberger, New Features of Latin Dances: Analysis of Salsa, Chacha and Rumba

Aiheesta muualla muokkaa