For faster navigation, this Iframe is preloading the Wikiwand page for SNOW.

SNOW

Da Wikipedia, l'enciclopedia libera.

SNOW
Generale
ProgettistiThomas Johansson e Patrik Ekdahl
Prima pubblicazione2000 (SNOW 1.0) e 2002 (SNOW 2.0)
Dettagli
Dimensione chiave128 e 256 bit
Dim. vettore di inizializazione64 (SNOW 1.0) o 128 (SNOW 2.0) bit
StrutturaLFSR
Numero di passagginumero di passaggi
Migliore crittanalisi
Lo SNOW 1.0 è stato crittanalizzato e non è sicuro. Nessuna crittanalisi è invece nota per lo SNOW 2.0

Con il termine SNOW si indicano due cifrari a flusso sviluppati da Thomas Johansson e Patrik Ekdahl dell'università svedese di Lund denominati SNOW 1.0 e SNOW 2.0. La prima versione dell'algoritmo, originariamente solo SNOW, fu presentata nel 2000 come candidata per il NESSIE (New European Schemes for Signatures, Integrity and Encryption), un progetto europeo per la selezione di primitive crittografiche in essere dal 2000 al 2003. L'algoritmo fu scartato perché non ritenuto sicuro e gli autori rilasciarono una seconda versione nel 2002 riveduta e corretta delle debolezze riscontrate.

L'algoritmo originale utilizza chiavi lunghe 128 o 256 bit ed un vettore di inizializzazione (VI) opzionale di 64 bit.
La procedura inizia con la gestione della chiave: questa viene utilizzata per inizializzare un registro di traslazione LFSR, che rappresenta lo stato interno dell'algoritmo. Il passo successivo è rappresentato dall'azzeramento di 2 registri a 32 bit della Finite State Machine (FSM), una sorta di funzione S-box, e dall'esecuzione di alcuni cicli a vuoto.

A questo punto si può iniziare la cifratura vera e propria: viene generata una chiave di esecuzione a 32 bit che viene combinata tramite XOR con il testo in chiaro per produrre il messaggio cifrato. La generazione avviene combinando l'output della FSM con l'ultimo blocco da 32 bit dell'LFSR. Terminata la cifratura, lo stato interno dell'algoritmo viene aggiornato, così che l'LFSR produca una rotazione e reimposti tutta la catena.

L'operazione di decifratura avviene nella stessa maniera dato che l'algoritmo usato è lo stesso di quello per la cifratura.

L'algoritmo opera in 2 modalità: modalità standard, descritta qui sopra, e modalità VI. Quest'ultima differisce dalla modalità standard per il fatto che il VI passato all'algoritmo viene combinato con la chiave per inizializzare l'LFSR.

Le debolezze scovate nella struttura dello SNOW originale (vedi sotto) suggerirono agli autori di rivedere il codice dell'algoritmo. Fu così che Johansson e Ekdahl rilasciarono alla fine del 2002 lo SNOW 2.0.
Le differenze sono minime: l'FSM adesso prende in input 2 dati a 32 bit invece di uno; il VI è di 128 bit; l'S-box integrata nella FSM è adesso basata su un passaggio dell'algoritmo Rijndael (AES).

Rispetto all'originale, la nuova versione è anche più veloce: 5/6 cicli per byte.

Lo SNOW 1.0 fu crittanalizzato da P. Hawkes e G. Rose che dimostrarono come l'analisi di 295 caratteri generati dall'algoritmo permettono di recuperare la chiave con un calcolo complessivo di 2224 operazioni[1]. Altri autori riportarono la possibilità di effettuare un attacco discriminante (distinguere cioè l'output del cifrario dall'output di un vero generatore hardware di numeri casuali) della stessa complessità analizzando 295 caratteri generati dallo SNOW[2].
Anche se gli attacchi non erano praticamente applicabili per la complessità richiesta, mostravano comunque una struttura interna dello SNOW affetta da debolezze, cosa che portò gli analisti del NESSIE a scartare l'algoritmo.

Lo SNOW 2.0 risulta invece molto più sicuro e ad oggi non si conosce nessun attacco noto più efficace della semplice forza bruta.

  1. ^ P. Hawkes e G. Rose: "Guess-and-determine attacks on SNOW", Selected Areas in Cryptography (SAC) 2002
  2. ^ D. Coppersmith, S. Halevi, C. Jutla: "Cryptanalysis of stream ciphers with linear masking", pubblicato su Advances in Cryptology - CRYPTO 2002, serie Lecture Notes of Computer Science, Ed. Springer (2002)

Collegamenti esterni

[modifica | modifica wikitesto]
{{bottomLinkPreText}} {{bottomLinkText}}
SNOW
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?