Aller au contenu principal

1. Introduction

1. Introduction

L'Advanced Encryption Standard (AES -- [FIPS-197]) est devenu la référence en matière de chiffrement. Sa conception efficace, son implémentation généralisée et son support matériel permettent des performances élevées dans de nombreux domaines. Sur la plupart des plateformes modernes, AES est de quatre à dix fois plus rapide que l'algorithme de chiffrement précédemment le plus utilisé, le Triple Data Encryption Standard (3DES -- [SP800-67]), ce qui en fait non seulement le meilleur choix, mais le seul choix pratique.

Cela pose plusieurs problèmes. Si de futures avancées en cryptanalyse révèlent une faiblesse dans AES, les utilisateurs se retrouveront dans une position peu enviable. Le seul autre chiffrement largement supporté étant le 3DES beaucoup plus lent, il n'est pas envisageable de reconfigurer les déploiements pour utiliser 3DES. [Standby-Cipher] décrit ce problème et le besoin d'un chiffrement de secours de manière plus détaillée. Un autre problème est que si AES est très rapide sur du matériel dédié, ses performances sur les plateformes dépourvues de tel matériel sont considérablement plus faibles. Encore un autre problème est que de nombreuses implémentations AES sont vulnérables aux attaques temporelles par collision de cache ([Cache-Collisions]).

Ce document fournit une définition et un guide d'implémentation pour trois algorithmes:

  1. Le chiffrement ChaCha20. Il s'agit d'un chiffrement à haute vitesse décrit pour la première fois dans [ChaCha]. Il est considérablement plus rapide qu'AES dans les implémentations logicielles uniquement, le rendant environ trois fois plus rapide sur les plateformes dépourvues de matériel AES spécialisé. Voir l'Annexe B pour des chiffres concrets. ChaCha20 n'est pas non plus sensible aux attaques temporelles (voir les considérations de sécurité dans la Section 4). Cet algorithme est décrit dans la Section 2.4.

  2. L'authentificateur Poly1305. Il s'agit d'un code d'authentification de message à haute vitesse. L'implémentation est également simple et facile à réaliser correctement. L'algorithme est décrit dans la Section 2.5.

  3. La construction d'Authenticated Encryption with Associated Data (AEAD) CHACHA20-POLY1305, décrite dans la Section 2.8.

Ce document et son prédécesseur n'introduisent pas ces nouveaux algorithmes pour la première fois. Ils ont été définis dans des articles scientifiques par D. J. Bernstein [ChaCha][Poly1305]. Le but de ce document est de servir de référence stable pour les documents IETF utilisant ces algorithmes.

Ces algorithmes ont fait l'objet d'une analyse rigoureuse. Plusieurs articles discutent de la sécurité de Salsa et ChaCha ([LatinDances], [LatinDances2], [Zhenqing2012]).

Ce document représente le consensus du Crypto Forum Research Group (CFRG). Il remplace [RFC7539].