Camellia (cifrario)

Da Wikipedia, l'enciclopedia libera.
Camellia
Generale
Progettisti Mitsubishi Electric, NTT
Prima pubblicazione 2000
Derivato da E2, MISTY1
Dettagli
Dimensione chiave 128, 192, 256 bit
Dimensione blocco 128 bit
Struttura Rete di Feistel
Numero di passaggi 18 o 24

Il Camellia è un cifrario a blocchi che ha ricevuto favorevoli consensi da diverse organizzazioni internazionali, compreso il progetto NESSIE dell'Unione europea, che lo ha incluso nel portafoglio di algoritmi crittografici selezionati, ed il progetto giapponese CRYPTREC, che lo ha segnalato come primitiva crittografica raccomandata.

L'algoritmo è stato sviluppato congiuntamente da Mitsubishi Electric e da NTT nel 2000 riprendendo alcuni principi strutturali di precedenti cifrari a blocchi quali l'E2 ed il MISTY1, sempre sviluppati da queste società.

Struttura[modifica | modifica sorgente]

Il Camellia lavora con blocchi dati lunghi 128 bit e può utilizzare chiavi lunghe 128, 192 o 256 bit (la stessa interfaccia dell'AES). Strutturalmente è un cifrario di Feistel con 18 passaggi se la chiave è lunga 128 bit oppure 24 passaggi se la chiave è lunga 192 o 256 bit. Ogni 6 passaggi viene applicata una funzione di trasformazione logica (o il suo inverso) denominata "funzione FL".

Camellia utilizza delle S-box di 8×8 bit con un trasformazioni affini ed operazioni logiche sia in ingresso che in uscita. Il cifrario usa anche il mascheramento della chiave in ingresso ed in uscita.

La diffusione crittografica è ottenuta mediante una trasformazione lineare basata su una matrice MDS.

Analisi matematica e sicurezza[modifica | modifica sorgente]

Il Camellia è uno dei cifrari che possono essere definiti completamente con sistemi di polinomi multivariati: può essere infatti descritto (così come le S-box dell'AES) con un sistema di 23 equazioni quadratiche con 80 termini[1].

Il gestore della chiave può essere descritto con 1120 equazioni con 768 variabili utilizzando 3328 termini lineari e quadratici.

In totale sono necessarie 6224 equazioni con 3584 variabili e 17920 termini quadratici e lineari[2].

Il numero dei termini liberi è di 11696, che è approssimativamente lo stesso numero di quelli dell'AES. Teoricamente queste proprietà potrebbero consentire di violare il Camellia (e l'AES) utilizzando un attacco algebrico, come l'attacco XLS (Extended Sparse Linearisation), ammesso che in un futuro prossimo tale tipologia di attacco divenga attuabile.

Implementazioni[modifica | modifica sorgente]

Il 18 giugno 2008 è stato introdotto nel nuovo Mozilla Firefox 3 il supporto al cifrario Camellia.

Yoshisato Yanagisawa ha aggiunto il supporto all'algoritmo nel software per la cifratura dei dischi rigidi GELI del sistema operativo FreeBSD 7.0.

Situazione brevettuale[modifica | modifica sorgente]

Nonostante il cifrario sia brevettato è disponibile con una licenza libera da royalty[3]: questo ha permesso al Camellia di entrare a far parte del progetto OpenSSL con una licenza di tipo open source l'8 novembre 2006[4].

Note[modifica | modifica sorgente]

  1. ^ N. T. Courtois, J. Pieprzyk: Cryptanalysis of block ciphers with overdefined systems of equations - Springer-Verlag - 2002
  2. ^ Biryukov, De Cannière: Block ciphers and systems of quadratic equations - Springer-Verlag - 2003
  3. ^ Announcement of Royalty-free Licenses for Essential Patents of NTT Encryption and Digital Signature Algorithms NTT - 2001
  4. ^ The Open Source Community OpenSSL Project Adopts the Next Generation International Standard Cipher "Camellia" Developed in Japan - NTT - 2008

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

Crittografia Portale Crittografia: accedi alle voci di Wikipedia che trattano di Crittografia