En criptografia, Camellia és un xifratge per blocs de clau simètrica amb una mida de bloc de 128 bits i mides de clau de 128, 192 i 256 bits. Va ser desenvolupat conjuntament per Mitsubishi Electric i NTT del Japó. El xifratge ha estat aprovat per al seu ús per l'ISO/IEC, el projecte NESSIE de la Unió Europea i el projecte CRYPTREC japonès. El xifratge té nivells de seguretat i capacitats de processament comparables a l'estàndard avançat de xifratge.

El xifratge va ser dissenyat per ser adequat tant per a implementacions de programari com de maquinari, des de targetes intel·ligents de baix cost fins a sistemes de xarxa d'alta velocitat. Forma part del protocol criptogràfic Transport Layer Security (TLS) dissenyat per proporcionar seguretat de les comunicacions a través d'una xarxa informàtica com ara Internet.

El xifratge va rebre el nom de la flor Camellia japonica, que és coneguda per la seva longevitat i també perquè el xifratge es va desenvolupar al Japó.

Disseny Camellia és un xifratge de Feistel amb 18 rondes (quan s'utilitzen claus de 128 bits) o 24 rondes (quan s'utilitzen claus de 192 o 256 bits). Cada sis rondes, s'aplica una capa de transformació lògica: l'anomenada "funció FL" o la seva inversa. Camellia utilitza quatre caixes S de 8×8 bits amb transformacions afins d'entrada i sortida i operacions lògiques. El xifratge també utilitza el blanquejament de claus d'entrada i sortida. La capa de difusió utilitza una transformació lineal basada en una matriu amb un nombre de branca de 5.

Anàlisi de seguretat Camellia es considera un xifratge modern i segur. Fins i tot utilitzant l'opció de mida de clau més petita (128 bits), es considera inviable trencar-la mitjançant un atac de força bruta a les claus amb la tecnologia actual. No es coneixen atacs reeixits que debilitin considerablement el xifratge. El xifratge ha estat aprovat per al seu ús per l'ISO/IEC, el projecte NESSIE de la Unió Europea i el projecte CRYPTREC japonès. El xifratge japonès té nivells de seguretat i capacitats de processament comparables al xifratge AES/Rijndael.

Camellia és un xifratge per blocs que es pot definir completament mitjançant sistemes mínims de polinomis multivariants:

Les caixes S de Camellia (així com les AES) es poden descriure mitjançant un sistema de 23 equacions quadràtiques en 80 termes. La taula clau es pot descriure mitjançant 1,120 equacions en 768 variables utilitzant 3,328 termes lineals i quadràtics. Tot el xifratge per blocs es pot descriure mitjançant 5,104 equacions en 2,816 variables utilitzant 14,592 termes lineals i quadràtics. En total, es requereixen 6,224 equacions en 3,584 variables utilitzant 17,920 termes lineals i quadràtics. El nombre de termes lliures és 11,696, que és aproximadament el mateix nombre que per a AES.

Teòricament, aquestes propietats podrien fer possible trencar Camellia (i AES) utilitzant un atac algebraic, com ara la linealització dispersa estesa, en el futur, sempre que l'atac sigui factible.

Estat de la patent Tot i que Camellia està patentada, està disponible sota una llicència lliure de drets d'autor. Això ha permès que el xifratge Camellia formi part del projecte OpenSSL, sota una llicència de codi obert, des del novembre del 2006. També li ha permès formar part del mòdul NSS (Network Security Services) de Mozilla.

Adopció El suport per a Camellia es va afegir a la versió final de Mozilla Firefox 3 el 2008 (desactivat per defecte a partir de Firefox 33 el 2014 en l'esperit de la "Proposta per canviar els conjunts de xifratge TLS predeterminats oferts pels navegadors", i s'ha eliminat de la versió 37 el 2015 ). Pale Moon, una bifurcació de Mozilla/Firefox, continua oferint Camellia i havia ampliat el seu suport per incloure conjunts de modes Galois/Counter (GCM) amb el xifratge, però ha tornat a eliminar els modes GCM amb la versió 27.2.0, al·legant l'aparent manca d'interès en ells.

Més tard, el 2008, l'equip d'enginyeria de llançament de FreeBSD va anunciar que el xifratge també s'havia inclòs a la versió 6.4 de FreeBSD. A més, Yoshisato Yanagisawa va afegir compatibilitat amb el xifratge Camellia a la classe d'emmagatzematge de xifratge de disc geli de FreeBSD.

El setembre de 2009, GNU Privacy Guard va afegir compatibilitat amb Camellia a la versió 1.4.10.

VeraCrypt (una bifurcació de TrueCrypt) incloïa Camellia com un dels seus algoritmes de xifratge compatibles.

A més, diverses biblioteques de seguretat populars, com ara Crypto++, GnuTLS, mbed TLS i OpenSSL, també inclouen suport per a Camellia.

Thales i Bloombase admeten el xifratge Camellia amb les seves ofertes de criptografia de dades.

El 26 de març de 2013, es va anunciar que Camellia havia estat seleccionat de nou per a la seva adopció a la nova llista de xifrats recomanats per l'administració electrònica del Japó com l'únic algorisme de xifratge per blocs de 128 bits desenvolupat al Japó. Això coincideix amb l'actualització de la llista CRYPTREC per primera vegada en 10 anys. La selecció es va basar en l'alta reputació de Camellia per la seva facilitat d'adquisició i les seves característiques de seguretat i rendiment comparables a les de l'AES (Advanced Encryption Standard). Camellia roman intacta en la seva plena implementació. Existeix un atac diferencial impossible contra una Camellia de 12 cartutxos sense capes FL/FL−1.

Rendiment Les caixes S utilitzades per Camellia comparteixen una estructura similar a la caixa S d'AES. Com a resultat, és possible accelerar les implementacions de programari de Camellia utilitzant conjunts d'instruccions de CPU dissenyats per a AES, com ara x86 AES-NI o x86 GFNI, mitjançant isomorfisme afí.

Estandardització Camellia ha estat certificat com a xifratge estàndard per diverses organitzacions d'estandardització:

CRIPTREC NESSIE IETF Algoritme RFC 3713: Una descripció de l'algoritme de xifratge de Camellia Mode de xifratge per blocs RFC 5528: Mode de comptador de camèlies i comptador de camèlies amb algoritmes de mode CBC-MAC S/MIME RFC 3657: Ús de l'algoritme de xifratge de Camellia en la sintaxi de missatges criptogràfics (CMS) Xifratge XML RFC 4051: Identificadors uniformes de recursos (URI) de seguretat XML addicionals TLS/SSL RFC 4132: Addició de suites de xifratge Camellia a la seguretat de la capa de transport (TLS) RFC 5932: Suites de xifratge Camellia per a TLS RFC 6367: Addició dels conjunts de xifratge Camellia a la seguretat de la capa de transport (TLS) IPsec RFC 4312: L'algoritme de xifratge Camellia i el seu ús amb IPsec RFC 5529: Modes de funcionament de Camellia per a ús amb IPsec Kerberos RFC 6803: Xifratge de Camellia per a Kerberos 5 OpenPGP RFC 5581: El xifratge de Camellia a OpenPGP RSA-KEM en CMS RFC 5990: Ús de l'algoritme de transport de claus RSA-KEM en la sintaxi de missatges criptogràfics (CMS) PSKC RFC 6030: Contenidor de claus simètriques portàtil (PSKC) Xarxa intel·ligent RFC 6732: Protocols d'Internet per a la xarxa intel·ligent ISO/IEC ISO/IEC 18033-3:2010 Tecnologia de la informació — Tècniques de seguretat — Algoritmes de xifratge — Part 3: Xifratges per blocs UIT-T Mecanismes i procediments de seguretat per a NGN (Y.2704) Laboratoris RSA Xifratge aprovat al PKCS#11 Fòrum de TV en qualsevol moment Xifratge aprovat a la informació de gestió i protecció de drets de TV-Anytime per a aplicacions de radiodifusió Xifratge aprovat en la protecció de lliurament de metadades bidireccional

Referències

Categoria:Xifratges