Camellia (cifrario)
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.
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 |
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
modificaIl 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
modificaIl 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
modificaIl 18 giugno 2008 è stato introdotto nel nuovo Mozilla Firefox 3 il supporto al cifrario Camellia. Tuttavia il supporto a Camellia è stato rimosso da Firefox nel 2015 a partire dalla versione 37 del browser.
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
modificaNonostante 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- ^ N. T. Courtois, J. Pieprzyk: Cryptanalysis of block ciphers with overdefined systems of equations - Springer-Verlag - 2002
- ^ Biryukov, De Cannière: Block ciphers and systems of quadratic equations - Springer-Verlag - 2003
- ^ Announcement of Royalty-free Licenses for Essential Patents of NTT Encryption and Digital Signature Algorithms Archiviato l'8 novembre 2006 in Internet Archive. NTT - 2001
- ^ The Open Source Community OpenSSL Project Adopts the Next Generation International Standard Cipher "Camellia" Developed in Japan Archiviato l'8 marzo 2008 in Internet Archive. - NTT - 2008
Voci correlate
modificaCollegamenti esterni
modifica- Implementazione di riferimento e derivata, su embeddedsw.net.
- Kazumaro Aoki, Tetsuya Ichikawa, Masayuki Kanda, Mitsuru Matsui, Shiho Moriai, Junko Nakajima, Toshio Tokita: Camellia: A 128-Bit Block Cipher Suitable for Multiple Platforms — Design and Analysis - Mitsubishi, NTT - 200
- Homepage del Camellia, su info.isl.ntt.co.jp.
- RFC 3657 — Use of the Camellia Encryption Algorithm in Cryptographic Message Syntax (CMS)
- RFC 4312 — The Camellia Cipher Algorithm and Its Use With IPsec
- RFC 4132 — Addition of Camellia Cipher Suites to Transport Layer Security (TLS)
- Bug 382223 — Add support for Camellia to PSM (Mozilla Firefox)
- FreeBSD System Manager's Manual — Add support for Camellia to geli (FreeBSD)