Movatterモバイル変換


[0]ホーム

URL:


Vai al contenuto
WikipediaL'enciclopedia libera
Ricerca

Salsa20

Da Wikipedia, l'enciclopedia libera.
Salsa20
Generale
ProgettistiDaniel J. Bernstein
Prima pubblicazione2005
SuccessoriChaCha
Dettagli
Dimensione chiave128 o 256 bit
Dim. vettore di inizializazione64 bit
StrutturaARX
Numero di passaggi20
Migliorecrittanalisi
Non esistono attacchi noti al Salsa20 completo ed al Salsa20/12
Modifica dati su Wikidata ·Manuale

IlSalsa20 è uncifrario a flusso sviluppato daDaniel J. Bernstein nel2005 e selezionato per il portafoglio del progettoeSTREAM per ilProfilo 1 (implementazionesoftware). È costruito su una funzionepseudo-casuale basata sull'addizione a 32bit, sull'OR esclusivo (XOR) e sulle operazioni di rotazione dei bit, che utilizzachiavi a 256 bit (ma possono essere utilizzate anche chiavi a128 bit) enonce a64 bit. La funzione lavora effettuando 20 passaggi, da cui il nome dell'algoritmo.

Implementazione

[modifica |modifica wikitesto]

Il Salsa20 è stato sviluppato focalizzandosi su due punti principali:

  1. utilizzare operazioni semplici;
  2. ottenere elevata velocità di calcolo.

Il primo punto è stato soddisfatto utilizzando semplici operazioni di addizionemodulo 32, operazioni di XOR e rotazioni delleword a32 bit.
Il secondo punto è stato soddisfatto in parte con l'uso delle operazioni di cui al precedente punto ed in parte strutturando l'algoritmo in modo che la chiave di cifratura ed il nonce fossero utilizzati direttamente come input della funzione interna senza dover ricorrere a processi iniziali digestione della chiave (key scheduling) e setup delvettore di inizializzazione (IV setup), operazioni in genere abbastanza gravose in termini di complessità elaborativa.

Il Salsa20 espande la chiave a 256 bit ed il nonce a 64 bit in unkeystream di 270byte. Per cifrare o decifrare un messaggio din byte l'algoritmo combina tramite XOR questi byte con i primin byte del keystream, scartando i restanti.
Il keystream è generato in blocchi di 512 bit, ed ogni blocco è costituito da un hash indipendente della chiave, dal nonce e dal numero del blocco stesso espresso con un contatore a 64 bit. Grazie a questo contatore il keystream può essere anche utilizzato con accesso casuale permettendo così all'utente di utilizzare qualsiasi blocco desideri.

Varianti

[modifica |modifica wikitesto]

Il Salsa20 deve il suo nome al fatto che esegue 20 passaggi di mescolamento del suo input. Esistono anche versioni con il numero dei passaggi ridotti ad 8 e 12 chiamate, rispettivamente,Salsa20/8 eSalsa20/12. Queste versioni sono state introdotte non per sostituire l'algoritmo originale ma per ottenere migliori prestazioni neibenchmark eseguiti all'eSTREAM: proprio il Salsa20/12 è stato selezionato per essere inserito nel portafoglio finale degli algoritmi selezionati dal progetto, grazie all'ottimo bilanciamento fra prestazioni e sicurezza.

Sicurezza

[modifica |modifica wikitesto]

Il primo attacco condotto positivamente contro il Salsa20 è di Paul Crowley, che nel2005 ha utilizzato lacrittoanalisi differenziale troncata per violare una versione ridotta con soli 5 passaggi (Salsa20/5) dell'algoritmo, con un tempo di calcolo stimato in 2165[1].Nel2006 Fischer, Meier, Berbain, Biasse e Robshaw hanno descritto un attacco simile condotto contro il Salsa20/6, con un tempo di calcolo stimato in 2177, ed uno contro il Salsa20/7 (2217)[2].

Nel2008 Aumasson, Fischer, Khazaei, Meier e Rechberger hanno descritto sia un attacco contro il Salsa20/7, con un tempo computazionale di 2151, sia uno contro il Salsa20/8, con un tempo di calcolo di 2251[3]. Quest'ultimo attacco si basa sull'utilizzo di un nuovo concetto di analisi probabilistica di bit neutri nella chiave per il rilevamento probabilistico di un probabile attacco differenziale troncato. Questo attacco può essere utilizzato per recuperare una chiave a 128 bit del Salsa20/7.

Non esistono attacchi noti al Salsa20/12 ed al Salsa20.

Note

[modifica |modifica wikitesto]
  1. ^Truncated differential cryptanalysis of five rounds of Salsa20
  2. ^Non-Randomness in eSTREAM Candidates Salsa20 and TSC-4,Indocrypt 2006
  3. ^New Features of Latin Dances

Collegamenti esterni

[modifica |modifica wikitesto]
V · D · M
Cifratura a flusso
Cifrari più notiA5/1 ·Phelix ·RC4 ·SNOW
PortafoglioeSTREAMGrain ·HC-128 ·MICKEY ·Rabbit ·Salsa20/12 ·SOSEMANUK ·Trivium
Altri cifrariA5/2 ·E0 ·FISH ·ISAAC ·MUGI ·Panama ·Pike ·Py ·QUAD ·Scream ·SEAL ·SOBER ·VEST ·WAKE
TeoriaCifrario del prodotto ·Gestore della chiave ·Registro a scorrimento a retroazione lineare (LFSR) ·Rete a sostituzione e permutazione ·Rete di Feistel ·S-Box
VarieDimensione della chiave ·Generatore di numeri pseudo-casuali ·Nonce ·Vettore di inizializzazione
Cifrari a flusso
Estratto da "https://it.wikipedia.org/w/index.php?title=Salsa20&oldid=139322913"
Categoria:
Categoria nascosta:

[8]ページ先頭

©2009-2025 Movatter.jp