CIPHERUNICORN-A | |
---|---|
Generale | |
Progettisti | NEC |
Prima pubblicazione | 2000 |
Derivato da | CIPHERUNICORN-E |
Dettagli | |
Dimensione chiave | 128, 192 o 256 bit |
Dimensione blocco | 128 bit |
Struttura | Rete di Feistel nidificata |
Numero di passaggi | 16 |
In crittografia il CIPHERUNICORN-A è un cifrario a blocchi creato nel 2000 da NEC. È tra le tecniche crittografiche raccomandate dal CRYPTREC per l'utilizzo da parte del governo Giapponese. Deriva dal cifrario CIPHERUNICORN-E, sviluppato nel 1998.
Struttura
[modifica | modifica wikitesto]L'algoritmo è basato su una struttura a rete di Feistel con 16 passaggi simile a quella del suo predecessore, ma con alcuni significativi cambiamenti. La dimensione del blocco è di 128 bit, la chiave può essere lunga 128, 192 o 256 bit.
La funzione dei passaggi è ancora più complicata di quella del CIPHERUNICORN-E, anche se è stata rimossa la funzione aggiuntiva di mescolamento dei bit presente ogni due passaggi. La funzione è sempre divisa in due flussi computazionali paralleli: entrambi sono reti di Feistel. Il primo flusso, denominata flusso principale, è una rete di Feistel a 10 passaggi che utilizza 4 S-box da 8×8 bit simili a quelle del CIPHERUNICORN-E. Gli ultimi 2 passaggi del flusso principale sono influenzati dall'output della seconda parte dell'altro flusso computazionale, denominato funzione di generazione della chiave temporanea. Quest'ultimo è una rete di Feistel a 6 passaggi che utilizza moltiplicazioni modulari e 2 delle S-box del cifrario.
A differenza del CIPHERUNICORN-E, le sotto-chiavi sono inserite nel flusso computazionale sono all'inizio di ogni passaggio principale.
Il gestore della chiave fa un uso ripetuto di una funzione denominata MT, basata sulla moltiplicazione modulare e su tutte le S-box.
Sicurezza
[modifica | modifica wikitesto]La complessità della funzione di ciclo del CIPHERUNICORN-A rende l'algoritmo difficile da analizzare: sono state realizzate solo poche analisi su versioni semplificate del cifrario che hanno mostrato come la sua struttura resiste bene sia alla crittanalisi differenziale che lineare[1]. Solo un difetto nel gestore della chiave è stato scoperto, difetto che può portare all'esistenza di chiavi equivalenti: non è nota, però, la portata di questa vulnerabilità.
Note
[modifica | modifica wikitesto]- ^ Matt Robshaw: A Cryptographic Review of CIPHERUNICORN-A Archiviato il 3 marzo 2016 in Internet Archive. - 2001
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- Implementazione di riferimento e derivata, su embeddedsw.net.