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.