Tämän artikkelin tai sen osankieliasua on pyydetty parannettavaksi. Voit auttaa Wikipediaaparantamalla artikkelin kieliasua. Tarkennus:Tietosanakirja-artikkelien kielen on oltava kenen tahansa ymmärrettävää. Tästä ei ymmärrä mitään. |
Salsa20 onDaniel Bernsteinin kehittämäjonosalain, joka perustuu Bernsteinin kehittämäännä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 tietoonXOR-operaatiolla.[1][2]
Salsa20:n sisäinen toteutus käyttää operaatioita, jotka voidaan toteuttaa nopeasti nykysuorittimilla. Operaatiot ovat myös vakioaikaisia, mikä suojaa ajoitukseen perustuviltasivukanavahyökkäyksiltä. Bernstein on julkaissut algoritmista eri arkkitehtuureille optimoituja julkisesti käytettäviä elipublic domain -toteutuksia.[3]
Salsa20 valittiin vuonna 2008eSTREAM-projektin lopulliseen portfolioon ohjelmallisia toteutuksia varten.[4]
Bernstein on kehittänyt Salsa20:stä myös hieman muunnellun version nimeltään ChaCha[5] tai ChaCha20.
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 tuhannendollarin 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]