CFB1, CFB8 et CFB128 : c'est la taille du retour, pas celle de la clé
Le nombre après CFB est un pas de retour, pas une longueur de clé : CFB1, CFB8 et CFB128 utilisent un bloc de 128 bits. Lisez les noms hérités sans inventer de clés faibles.
Un nom comme AES-256-CFB1 porte deux nombres, et ils répondent à des questions différentes. Le 256 est la longueur de la clé AES. Le 1 est le retour, ou la taille du segment, de CFB : une propriété de la façon dont le mode fait avancer son état. Lu comme une longueur de clé, le 1 fait ressembler le nom à une configuration catastrophique, et c'est pourquoi la question revient sans cesse.
Décidez laquelle des trois quantités vous regardez avant de juger le nom : taille de clé, taille de bloc ou taille de segment. Seule la première est un paramètre de sécurité au sens habituel.
Trois nombres, trois quantités
AES accepte des clés de 128, 192 ou 256 bits et possède un bloc de 128 bits quel que soit votre choix. La taille du bloc appartient à AES, pas au mode. Le suffixe CFB est la troisième quantité : combien de données le mode consomme et renvoie à chaque pas. La documentation OpenSSL sur AES énumère explicitement ces tailles de décalage pour les variantes CFB.
CFB1 renvoie un bit à la fois, CFB8 un octet, CFB128 un bloc entier. Les trois utilisent en interne le même chiffrement par bloc de 128 bits ; ce qui change, c'est le nombre de bits de chaque bloc calculé utilisés par opération. C'est pourquoi le suffixe déplace le coût et le comportement de tampon, pas la force de la clé.
| Name | Key | AES block | Feedback |
|---|---|---|---|
| AES-256-CFB1 | 256 bits | 128 bits | 1 bit |
| AES-256-CFB8 | 256 bits | 128 bits | 8 bits |
| AES-256-CFB128 | 256 bits | 128 bits | 128 bits |
Pourquoi la taille du bloc ne change jamais
AES est un chiffrement par bloc à bloc fixe de 128 bits, et les modes sont des constructions autour de lui. Aucun ne réduit le bloc pour l'adapter à la taille du segment. Une implémentation de CFB1 calcule toujours un bloc AES complet et prélève un bit du résultat. Les autres bits sont écartés pour ce pas, et c'est exactement là que se situe le coût d'efficacité.
Un retour d'un bit n'implique donc pas une clé d'un bit, et un nom ne se classe pas selon son suffixe. CFB128 n'est pas quatre fois plus fort que CFB32 ; il traite des segments plus grands.
Ce que la taille du segment change réellement
La taille du segment change la quantité de texte chiffré renvoyée à chaque pas et la quantité de texte clair que chaque pas peut transporter. Elle change aussi la propagation des erreurs et le comportement de tampon, ce qui compte pour un usage de type flux. Les segments orientés octets s'alignent sur les tampons, ceux orientés bits non.
En pratique, c'est le protocole qui choisit le mode, pas l'exploitant. Un canal de données VPN utilise la construction que son protocole spécifie, avec sa propre protection d'intégrité, et une liste de bibliothèque indique seulement quels noms existent.
Lire une étiquette CFB non qualifiée
Une étiquette CFB non qualifiée a besoin du contexte de son implémentation. Dans les en-têtes d'OpenSSL 1.0.2, EVP_aes_128_cfb est une macro pour EVP_aes_128_cfb128, avec des alias correspondants pour les clés de 192 et 256 bits. C'est une convention de nommage d'API d'une branche, non l'affirmation que chaque bibliothèque, format de fichier ou GUI développe l'abréviation de la même façon. Vérifiez l'en-tête ou la documentation de la version que vous avez sous les yeux.
Si un profil hérité indique CFB et que le pair l'accepte, les paramètres négociés sont consignés quelque part : un journal, un vidage de configuration, une réponse d'API. Lisez-les au lieu de déduire la taille du segment d'une chaîne d'affichage.
Ce qu'un nom de mode ne vous dit pas
Le nom décrit le comportement du chiffrement et rien d'autre. Un VPN a toujours besoin de protection d'intégrité, de dérivation de clés et d'authentification du pair, et CFB n'en fournit aucune. Remplacer CFB8 par CFB1 n'est pas non plus un changement cosmétique : le comportement sur le réseau diffère et les deux extrémités doivent prendre en charge la même construction. Un nom dans une bibliothèque ne prouve pas non plus que la passerelle déployée l'accepte pour son canal de données.
Pour tout ce qui est maintenu, utilisez l'ensemble complet de protection du protocole et la politique de l'exploitant, et consignez les versions de bibliothèque et de passerelle, l'option exacte et le résultat négocié. L'ancien nom explique ce que vous lisez ; il ne justifie pas de ranimer la configuration.