Il taccuino di Armando Leotta Rotating Header Image

Skein, la proposta Schneier alla call del NIST

Come già detto, il termine per la presentazione delle domande di partecipazione alla call del NIST per l’individuazione di una nuova famiglia di algoritmi di hash è scaduto lo scorso 31 ottobre.

I contributi presentati sono stati 64 (27 dei quali di pubblico dominio al momento, ndr) e sono decisamente tanti se confrontati con l’ultima call che vide la nascita di AES nel 1998 in cui le proposte furono solamente 16. Singolare che in entrambi i casi il numero delle proposte sia proprio una potenza di 2. Inoltre, alcuni sono stati già definiti “broken” ad una prima criptanalisi.

CI si aspetta adesso un periodo di qualche anno per la selezione dell’algoritmo “migliore” in cui i gruppi che hanno presentato la propria proposta effettuerà criptanalisi sul proprio e sull’altrui contributo. Questo periodo, estremamente importante per la selezione e rafforzamento delle proposte stesse, vedrà NIST da una parte e comunità crittografiche dall’altra apportare tutti quei contributi utili ad ordinare le proposte per funzionalità, efficienza, prestazioni e robustezza.

Per la parte finale del processo selettivo ci si aspetta pertanto di concentrarsi su un sottoinsieme di algoritmi particolarmente validi e completi.

Schneier e altri co-autori (Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas e Jesse Walker) hanno presentato Skein.

Skein è una nuova famiglia di funzioni hash crittografiche. Il suo design unisce velocità, sicurezza, semplicità e una notevole flessibilità, il tutto all’interno di un package modulare facile da analizzare

si legge nel loro executive summary.

Skein, continuano gli autori, è veloce, sicuro, semplice, flessibile, efficiente e progettato da un team di esperti che hanno messo a fattor comune le loro esperienze.

Dall’executive summary una rapida overview.

Velocità
Skein-512 effettua l’hash dei dati a 6,1 cicli di clock per byte su una CPU a 64 bit. Ciò significa che con un processore Core 2 Duo x64 a 3,1 GHz Skein effettua l’hash dei dati a 500 MB al secondo per ciascun core — è quindi circa due volte più veloce di SHA-512 e tre volte più veloce di SHA-256. Una modalità hash-tree velocizza ancor di più le implementazioni parallelizzabili. Skein è veloce anche con i messaggi corti: Skein-512 effettua l’hash di messaggi corti in circa 1000 cicli di clock.
Sicurezza

 

 

 

Il suo design conservativo si basa sul block cipher Threefish. Al momento il nostro migliore attacco contro Threefish-512 è su 25 di 72 round, per un fattore di sicurezza di 2,9. Per fare un confronto, a uno stadio analogo del processo di standardizzazione, l’algoritmo di cifratura AES aveva un attacco su 6 di 10 round, per un fattore di sicurezza di 1,7 soltanto.
Semplicità

Utilizzando solamente tre operazioni primitive, la funzione di compressione di Skein può essere facilmente compresa e ricordata.

Flessibilità

Skein viene definito per tre dimensioni di stato interno (256 bit, 512 bit e 1024 bit), e per qualsiasi dimensione di output.

Un sistema di argomenti espandibile e completamente opzionale rende Skein uno strumento efficace da impiegare per un gran numero di funzioni: un PRNG (generatore di numeri pseudo-casuali), uno stream cipher, una funzione di derivazione di chiavi, autenticazione senza le informazioni addizionali del HMAC (Hashed Message Authentication Code), e la possibilità di personalizzazione.

Efficienza

Skein è efficiente su una grande varietà di piattaforme, sia hardware che software. Skein-512 può essere implementato in circa 200 byte di stato. Piccoli dispositivi, come le smart card a 8 bit, possono implementare Skein-256 utilizzando circa 100 byte di memoria. Dispositivi più grandi possono implementare le versioni maggiori di Skein per raggiungere velocità più elevate.

Le caratteristiche sulla carta sembrano esserci tutte.

Per gli addetti ai lavori ecco il paper ed i sorgenti con test vector.

Per gli altri, leggete, documentatevi e aspettate fiduciosi.

 

 

 

 

 

 

 

 

 

 

 

Be Sociable, Share!
  • però un pochino poco poco, a noi ignoranti di quello di cui parli, ce lo devi spiegare eh!;)

    questo è linguaggio inziatico:)

  • Purtroppo l’argomento si presta ai tecniciscmi: basta approfondire un minimo.

    Questo post si ricollega alla vulnerabilità dell’algoritmo di hash SHA-1.
    Infatti è stata indetta dal NIST una sorta di concorso per dar vita ad una nuova famiglia di algoritmi di hash (denominata SHA-3).
    Il termine era il 31 ottobre 2008.
    Schneier, uno dei guru della crittografia e criptanalisi, ha presentato una sua proposta: Skein appunto.

  • Pingback: SicuraMente()

  • Pingback: NIST definisce nuove versioni dello SHA-512 | Il taccuino di Armando Leotta()