Camélia (chiffre) - Camellia (cipher)

Camélia
Général
Concepteurs Mitsubishi Électrique , NTT
Première publication 2000
Dérivé de E2 , BRUME1
Attestation CRYPTREC , NESSIE
Détail du chiffre
Tailles de clé 128, 192 ou 256 bits
Tailles de bloc 128 bits
Structure Réseau Feistel
Les manches 18 ou 24

En cryptographie , Camellia est un chiffrement par bloc de clé symétrique avec une taille de bloc de 128 bits et des tailles de clé de 128, 192 et 256 bits. Il a été développé conjointement par Mitsubishi Electric et NTT du Japon . Le chiffre a été approuvé pour une utilisation par l' ISO / CEI , l' Union européenne de NESSIE projet et le japonais CRYPTREC projet. Le chiffrement a des niveaux de sécurité et des capacités de traitement comparables à la norme de chiffrement avancé .

Le chiffrement a été conçu pour être adapté à la fois aux implémentations logicielles et matérielles, des cartes à puce à faible coût aux systèmes de réseau à grande vitesse. Il fait partie du protocole cryptographique TLS ( Transport Layer Security ) conçu pour assurer la sécurité des communications sur un réseau informatique tel qu'Internet .

Le chiffre a été nommé pour la fleur Camellia japonica , qui est connue pour sa longue durée de vie ainsi que parce que le chiffre a été développé au Japon.

Concevoir

Camellia est un chiffre de Feistel avec soit 18 tours (lors de l'utilisation de clés de 128 bits) ou 24 tours (lors de l'utilisation de clés de 192 ou 256 bits). Tous les six tours, une couche de transformation logique est appliquée : la "fonction FL" ou son inverse. Camellia utilise quatre S-box 8 × 8 bits avec des transformations affines d' entrée et de sortie et des opérations logiques. Le chiffrement utilise également le blanchiment des clés d' entrée et de sortie . La couche de diffusion utilise une transformation linéaire basée sur une matrice avec un numéro de branche de 5.

Analyse de sécurité

Camellia est considéré comme un chiffrement moderne et sûr. Même en utilisant l'option de taille de clé plus petite (128 bits), il est considéré comme impossible de la casser par une attaque par force brute sur les clés avec la technologie actuelle. Il n'y a pas d'attaques réussies connues qui affaiblissent considérablement le chiffrement. Le chiffre a été approuvé pour une utilisation par l' ISO / CEI , l' Union européenne de NESSIE projet et le japonais CRYPTREC projet. Le chiffrement japonais a des niveaux de sécurité et des capacités de traitement comparables au chiffrement AES/Rijndael .

Camellia est un chiffrement par bloc qui peut être complètement défini par des systèmes minimaux de polynômes multivariés :

  • Les S-box Camellia (ainsi que AES ) peuvent être décrites par un système de 23 équations quadratiques en 80 termes.
  • Le programme clé peut être décrit par 1 120 équations dans 768 variables utilisant 3 328 termes linéaires et quadratiques.
  • L'ensemble du chiffrement par bloc peut être décrit par 5 104 équations dans 2 816 variables utilisant 14 592 termes linéaires et quadratiques.
  • Au total, 6 224 équations dans 3 584 variables utilisant 17 920 termes linéaires et quadratiques sont nécessaires.
  • Le nombre de termes libres est de 11 696, ce qui est approximativement le même nombre que pour AES .

Théoriquement, de telles propriétés pourraient permettre à l'avenir de casser Camellia (et AES ) en utilisant une attaque algébrique, telle qu'une linéarisation creuse étendue , à condition que l'attaque devienne faisable.

Statut de brevet

Bien que Camellia soit breveté, il est disponible sous une licence libre de droits. Cela a permis au chiffrement Camellia de faire partie du projet OpenSSL , sous licence open-source , depuis novembre 2006. Cela lui a également permis de faire partie du module NSS (Network Security Services) de Mozilla .

Adoption

La prise en charge de Camellia a été ajoutée à la version finale de Mozilla Firefox 3 en 2008 (désactivée par défaut à partir de Firefox 33 en 2014 dans l'esprit de la « Proposition de modification des suites de chiffrement TLS par défaut proposées par les navigateurs », et a été supprimée de la version 37 en 2015). Pale Moon , un fork de Mozilla/Firefox, continue d'offrir Camellia et avait étendu son support pour inclure les suites Galois/Counter mode (GCM) avec le chiffrement, mais a à nouveau supprimé les modes GCM avec la version 27.2.0, citant le manque apparent d'intérêt pour eux.

Plus tard en 2008, l' équipe d'ingénierie de publication de FreeBSD a annoncé que le chiffrement avait également été inclus dans FreeBSD 6.4-RELEASE. De plus, la prise en charge du chiffrement Camellia a été ajoutée à la classe de stockage de cryptage de disque geli de FreeBSD par Yoshisato Yanagisawa.

En septembre 2009, GNU Privacy Guard a ajouté la prise en charge de Camellia dans la version 1.4.10.

VeraCrypt (un fork de TrueCrypt ) a inclus Camellia comme l'un de ses algorithmes de cryptage pris en charge.

De plus, diverses bibliothèques de sécurité populaires , telles que Crypto++ , GnuTLS , mbed TLS et OpenSSL , prennent également en charge Camellia.

Le 26 mars 2013, Camellia a été annoncé comme ayant été à nouveau sélectionné pour être adopté dans la nouvelle liste des chiffrements recommandés par le gouvernement électronique du Japon en tant que seul algorithme de chiffrement par bloc 128 bits développé au Japon. Cela coïncide avec la mise à jour de la liste CRYPTREC pour la première fois en 10 ans. La sélection était basée sur la grande réputation de Camellia pour la facilité d'approvisionnement et des fonctionnalités de sécurité et de performances comparables à celles de la norme de cryptage avancée (AES). Camellia reste ininterrompu dans sa mise en œuvre complète. Une attaque différentielle impossible sur le camélia à 12 coups sans couches FL/FL -1 existe.

Performance

Les S-box utilisées par Camellia partagent une structure similaire à la S-box d'AES. En conséquence, il est possible d'accélérer les implémentations logicielles Camellia en utilisant des jeux d'instructions CPU conçus pour AES, tels que x86 AES-NI , par isomorphisme affine .

Standardisation

Camellia a été certifié en tant que chiffrement standard par plusieurs organismes de normalisation :

  • CRYPTREC
  • NESSIE
  • IETF
    • Algorithme
      • RFC  3713 : Une description de l'algorithme de chiffrement Camellia
    • Mode de chiffrement par bloc
      • RFC  5528 : Mode compteur camélia et compteur camélia avec algorithmes de mode CBC-MAC
    • S/MIME
      • RFC  3657 : Utilisation de l'algorithme de chiffrement Camellia dans la syntaxe de message cryptographique (CMS)
    • Cryptage XML
      • RFC  4051 : Identificateurs de ressources uniformes (URI) de sécurité XML supplémentaires
    • TLS/SSL
      • RFC  4132 : Ajout de Camellia Cipher Suites à Transport Layer Security (TLS)
      • RFC  5932 : Camellia Cipher Suites pour TLS
      • RFC  6367 : Ajout des suites de chiffrement Camellia à Transport Layer Security (TLS)
    • IPsec
      • RFC  4312 : L'algorithme de chiffrement Camellia et son utilisation avec IPsec
      • RFC  5529 : Modes de fonctionnement pour Camellia à utiliser avec IPsec
    • Kerberos
      • RFC  6803 : Cryptage Camellia pour Kerberos 5
    • OpenPGP
      • RFC  5581 : Le chiffrement Camellia dans OpenPGP
    • RSA-KEM dans CMS
      • RFC  5990 : Utilisation de l'algorithme de transport de clé RSA-KEM dans la syntaxe de message cryptographique (CMS)
    • PSKC
      • RFC  6030 : Portable Symetric Key Container (PSKC)
    • Grille intelligente
      • RFC  6272 : Protocoles Internet pour le Smart Grid
  • ISO/CEI
    • ISO/IEC 18033-3:2010 Technologies de l'information—Techniques de sécurité—Algorithmes de chiffrement—Partie 3: Chiffrements par blocs
  • UIT-T
    • Mécanismes et procédures de sécurité pour les NGN (Y.2704)
  • Laboratoires RSA
  • Forum TV-Anytime
    • Chiffrement approuvé dans TV-Anytime Rights Management and Protection Information for Broadcast Applications
    • Chiffrement approuvé dans la protection de livraison de métadonnées bidirectionnelle

Les références

Général

Liens externes

  • La page d'accueil en anglais de Camellia par NTT
  • Chiffres 256 bits – Implémentation de référence CAMELLIA et code dérivé
  • RFC  3657 Utilisation de l'algorithme de chiffrement Camellia dans la syntaxe de message cryptographique (CMS)
  • RFC  3713 A Description de l'algorithme de chiffrement Camellia
  • RFC  4051 Identificateurs de ressources uniformes de sécurité XML supplémentaires (URI)
  • RFC  4132 Ajout des suites de chiffrement Camellia à Transport Layer Security (TLS)
  • RFC  4312 L'algorithme de chiffrement Camellia et son utilisation avec IPsec
  • RFC  5528 Mode compteur camélia et compteur camélia avec algorithmes de mode CBC-MAC
  • Modes de fonctionnement RFC  5529 pour Camellia à utiliser avec IPsec
  • Certification RFC  5581 de Camellia Cipher en tant que norme IETF pour OpenPGP
  • Suites de chiffrement RFC  5932 Camellia pour TLS
  • RFC  5990 Utilisation de l'algorithme de transport de clé RSA-KEM dans la syntaxe de message cryptographique (CMS)
  • Conteneur de clé symétrique portable RFC  6030 (PSKC)
  • RFC  6272 Protocoles Internet pour le réseau intelligent
  • RFC  6367 Ajout des suites de chiffrement Camellia à Transport Layer Security (TLS)
  • ISO/IEC 18033-3:2010 Technologies de l'information—Techniques de sécurité—Algorithmes de chiffrement—Partie 3: Chiffrements par blocs