Camellia (algorithme)
Camellia est un algorithme de chiffrement symétrique par blocs de 128 bits, conçu pour fonctionner avec des clés de 128, 192 et 256 bits. Tous les six tours, une transformation nommée « FL-function » est appliquée.
Concepteur(s) | Nippon Telegraph and Telephone Corporation, Mitsubishi Electric Corporation |
---|---|
Première publication | 2000 |
Dérivé de | E2 |
Taille(s) du bloc | 128 bits |
---|---|
Longueur(s) de la clé | 128, 192, 256 bits |
Structure | schéma de Feistel |
Nombre de tours | 18 (clé 128 bits) ou 24 (clés de 192 ou 256 bits) |
Meilleure cryptanalyse
Cryptanalyse conduite par les auteurs, résiste à toutes les attaques connues
Il a été développé conjointement par la Nippon Telegraph and Telephone Corporation et Mitsubishi Electric Corporation en 2000 sur la base de l'algorithme E2 ayant participé au concours AES.
Camellia a été sélectionné et recommandé par le projet NESSIE de l'Union européenne, c'est l'un des standards de chiffrement du gouvernement japonais.
Depuis octobre 2006, le code source de Camellia est librement disponible sous plusieurs licences libres (BSD, GPL, MPL, et licence OpenSSL) [1]. Il était auparavant disponible sous une autre licence sans royalties.
Avec une implémentation en C, il est globalement deux fois plus lent que AES mais offre des performances similaires à Blowfish[2].
Cryptanalyse
modifierLa cryptanalyse publiée initialement par les créateurs de l'algorithme[3] a mis en évidence quelques faiblesses, bien qu'elles ne puissent casser l'algorithme dans son intégralité. D'après des estimations très optimistes, 6 tours de Camellia pourraient être attaqués par une analyse différentielle nécessitant 2108 textes clairs choisis, et par une analyse linéaire nécessitant 2110 textes clairs connus. Les 5 premiers tours de l'algorithme peuvent être différenciés d'une permutation aléatoire en utilisant 234 textes clairs choisis, et 250 textes clairs choisis sur 6 tours. L'attaque peut être étendue à 7 tours en utilisant 268 textes clairs choisis, mais cette attaque est opérée sur une version simplifiée de l'algorithme, à laquelle il manque la fonction FL/FL−1 utilisée tous les 6 tours de l'algorithme ; la fonction FL/FL−1 est donc efficace à empêcher l'extension de ces attaques à plus de 6 tours. À ce jour, il n'existe donc aucune attaque permettant de décrypter des données chiffrées plus rapidement que par une recherche exhaustive.
Notes et références
modifierAnnexes
modifierBibliographie
modifier- 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. Selected Areas in Cryptography 2000, pp39–56.
Liens externes
modifier- (en) Analysis of Camellia
- (en) Code source
- (en) code de référence
- (en) Analyse des performances