Provided by: manpages-fr-extra_20140201_all bug

NOM

       des_modes - Variantes de DES et autres algorithmes cryptographiques d'OpenSSL

DESCRIPTION

       Plusieurs algorithmes cryptographiques d'OpenSSL peuvent être utilisés dans de nombreux
       modes. Ils permettent entre autre d'utiliser les chiffrements de bloc de la même façon que
       les chiffrements de flux.

VUE D'ENSEMBLE

   Dictionnaire de codes (Electronic Code Book, ECB)
       Normalement disponible en tant que fonction algorithme_ecb_encrypt().

       • 64 bits sont chiffrés par opération.

       • L'ordre des blocs peut être permuté sans détection.

       • Deux blocs de même texte clair sont toujours chiffrés de la même manière (pour une même
         clef), rendant le mode vulnérable à une « attaque par dictionnaire ».

       • Une erreur n'affectera qu'un seul bloc de texte chiffré.

   Enchaînement des blocs (Cipher Block Chaining, CBC)
       Normalement disponible en tant que fonction algorithme_cbc_encrypt(). Soyez conscient que
       des_cbc_encrypt() n'est pas vraiment CBC DES (il ne met pas à jour le vecteur
       d'initialisation). Utilisez plutôt des_ncbc_encrypt().

       • Un multiple de 64 bits est chiffré par opération.

       • Le mode CBC produit le même texte chiffré à chaque fois que le même texte clair est
         chiffré avec la même clef et le même vecteur d'initialisation.

       • L'opération de chaînage rend les blocs de texte chiffré dépendants des blocs de texte
         clair actuel et de tous les précédents, et par conséquent les blocs ne peuvent pas être
         permutés.

       • L'utilisation de différents vecteurs d'initialisation empêche au même texte clair de
         produire le même texte chiffré.

       • Une erreur affectera le bloc de texte chiffré actuel et tous les suivants.

   Chiffrement à rétroaction (Cipher Feedback, CFB)
       Normalement disponible en tant que fonction algorithme_cfb_encrypt().

       • Un nombre de bits (j) inférieur ou égal à 64 est chiffré par opération.

       • Le mode CFB produit le même texte chiffré à chaque fois que le même texte clair est
         chiffré avec la même clef et le même vecteur d'initialisation.

       • L'opération de chaînage rend les variables de texte chiffré dépendantes des variables de
         texte clair actuelle et de toutes les précédentes, et par conséquent les variables de
         j bits sont enchaînées et ne peuvent pas être permutées.

       • L'utilisation de différents vecteurs d'initialisation empêche au même texte clair de
         produire le même texte chiffré.

       • La force du mode CFB dépend de la taille de k (maximale si j == k). Dans cette
         implémentation, c'est toujours le cas.

       • Le choix d'une petite valeur pour j nécessitera plus de cycles d'algorithme de
         chiffrement par unité de texte clair, et entraînera donc un coût de traitement plus
         important.

       • Seul des multiples de j bits peuvent être chiffrés.

       • Une erreur affectera la variable de texte chiffré actuelle et toutes les suivantes.

   Chiffrement à rétroaction de sortie (Output Feedback, OFB)
       Normalement disponible en tant que fonction algorithme_ofb_encrypt().

       • Un nombre de bits (j) inférieur ou égal à 64 est chiffré par opération.

       • Le mode OFB produit le même texte chiffré à chaque fois que le même texte clair est
         chiffré avec la même clef et le même vecteur d'initialisation. De plus, en mode OFB, le
         même flux de clef est produit quand la même clef et le même vecteur d'initialisation
         sont utilisés. Par conséquent, pour des raisons de sécurité, un vecteur d'initialisation
         particulier ne devrait être utilisé qu'une seule fois pour une clef donnée.

       • L'absence de chaînage rend le mode OFB vulnérable à certaines attaques.

       • L'utilisation de différentes valeurs du vecteur d'initialisation empêche au même texte
         clair de produire le même texte chiffré, en produisant différents flux de clef.

       • Le choix d'une petite valeur pour j nécessitera plus de cycles d'algorithme de
         chiffrement par unité de texte clair, et entraînera donc un coût de traitement plus
         important.

       • Seul des multiples de j bits peuvent être chiffrés.

       • Le mode d'opération OFB n'étend pas les erreurs de texte chiffré dans la sortie en texte
         clair correspondante. Toutes les erreurs d'un bit dans le texte clair ne provoquent
         qu'un bit d'erreur dans le texte clair déchiffré.

       • Le mode OFB n'est pas autosynchrone. Si les deux opérations de chiffrement et
         déchiffrement se désynchronisent, le système doit être réinitialisé.

       • Chaque réinitialisation devrait utiliser une valeur de vecteur d'initialisation
         différente des valeurs de vecteur d'initialisation utilisées auparavant avec la même
         clef. Dans le cas contraire, un flux de bits identique serait produit à chaque fois à
         partir des mêmes paramètres. Cela le rendrait fragile vis-à-vis d'une « attaque à texte
         clair connu ».

   Triple ECB
       Normalement disponible en tant que fonction algorithme_ecb3_encrypt().

       • Chiffrer avec clef1, déchiffrer avec clef2 et chiffrer de nouveau avec clef3.

       • Comme pour le chiffrement ECB, mais augmente la taille de clef à 168 bits. Des attaques
         théoriques existent permettant de rendre la longueur de clef effective à 112 bits, mais
         cette attaque nécessite aussi 2^56 blocs de mémoire, ce qui est peu probable, même pour
         la NSA.

       • Si deux clefs sont identiques, c'est équivalent à ne chiffrer qu'une fois avec une seule
         clef.

       • Si les première et dernière clefs sont identiques, la longueur de clef est de 112 bits.
         Des attaques permettent de réduire la force de clef effective à juste un peu plus de
         56 bits, mais cela nécessite beaucoup de mémoire.

       • Si les trois clefs sont les mêmes, c'est effectivement identique au mode ECB normal.

   Triple CBC
       Normalement disponible en tant que fonction algorithme_ede3_cbc_encrypt().

       • Chiffrer avec clef1, déchiffrer avec clef2 et ensuite chiffrer avec clef3.

       • Comme pour le chiffrement CBC, mais augmente la taille de clef à 168 bits avec les mêmes
         restrictions que pour le mode triple ECB.

NOTES

       Ce texte a été écrit en grande partie par Eric Young dans sa documentation d'origine pour
       SSLeay, le prédécesseur d'OpenSSL. À son tour, il l'a attribué à :

               AS 2805.5.2
               Australian Standard
               Electronic funds transfer - Requirements for interfaces,
               Part 5.2: Modes of operation for an n-bit block cipher algorithm
               Appendix A

VOIR AUSSI

       blowfish(3), des(3), idea(3), rc2(3)

TRADUCTION

       La traduction de cette page de manuel est maintenue par les membres de la liste
       <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de
       traduction par un rapport de bogue sur le paquet manpages-fr-extra.