Vous êtes sur la page 1sur 8

Data Encryption Standard (DES)

DES a t lalgorithme cryptographique le plus important de ces derniers 30 ans. DES est un Feistel Cipher avec des blocs de 64 bits (taille nominale). La taille effective de la cl est de 56 bits (Un total de 64 bits avec 8 bits de parit). Lalgorithme est constitu de 16 tapes avec 16 sous-cls de 48 bits gnres (une cl par tape). DES fonctionne dans les 4 modes: ECB, CBC, CFB et OFB. Le schma de fonctionnement de DES est le suivant:
K
56

K
56

64

DES
Encryption

64

DES-1
Decryption

DES: Schma de Fonctionnement

Scurit & Cryptographie

58

DES: Cipher Function

(Source [Men97])

Scurit & Cryptographie

59

DES: Tables

(Source [Men97])

Scurit & Cryptographie

60

DES: S-boxes

Scurit & Cryptographie

61

DES: Fonctionnement
Cipher Fonction

Expansion E: Les 32 bits de lentre sont transforms en un vecteur de 48 bits en utilisant la table E (page 60). La premire ligne de cette table indique comment sera gnr le premier sous-bloc de 6 bits: on prendra en premier le 32e bit et aprs les bits 1,2,3,4,5. Le deuxime sous-bloc commence par le 4e bit ensuite les bits 5,6,7,8,9 et ainsi de suite... Key addition: XOR du vecteur de 48 bits avec la cl. S-boxes: On applique 8 S-boxes sur le vecteur de 48 bits rsultant du XOR prcdent. Chacune de ces S-boxes prend un sous-bloc de 6 bits et le transforme en un sous-bloc de 4 bits. Les S-boxes 1 et 2 sont prsentes en page 61. Lopration seffectue de la manire suivante: Si on dnote les 6 bits dinput de la S-box comme: a1a2a3a4a5a6. La sortie est donne par le contenu de la cellule situe dans la ligne a1 + 2a6 et la colonne a2 + 2a3 + 4a4 + 8a5. Permutation P: La permutation P (page 60) fonctionne comme suit: Le premier bit est envoy la 16e position, le deuxime la 7e position et ainsi de suite.

Permutations IP et IP-1

Agissent respectivement au dbut et la fin du traitement du bloc et sur lensemble des 64 bits (voir les tables en page 60 pour les dtails).
Scurit & Cryptographie 62

DES et Triple-DES

La taille de lensemble de cls ({0,1}56) constitue la plus grande menace qui pse sur DES avec les ressources de calcul actuels. En 1999 il a suffit de 24 heures pour trouver la cl partir dun known plaintext en utilisant une technique brute force massivement parallle (100000 PCs connects sur Internet)1. Triple DES nous met labri de ces attaques brute force en augmentant lespace des cls possibles {0,1}112. Schmatiquement, il fonctionne de la manire suivante:

K1
56

K2
56

K1
56

64

DES
Encryption

DES-1
Decryption

DES
Encryption

64

Cette alternative permet de continuer utiliser les botes DES (hardware et software) en attendant une migration vers AES. Le niveau de scurit obtenue par cette solution est trs satisfaisant. Limpact en termes de performances de trois excutions successives de DES reste un inconvnient pour certaines applications.
Scurit & Cryptographie 63

1. http://www.rsasecurity.com/company/news/releases/pr.asp?doc_id=462

DES: proprits

DES nest pas un groupe (au sens algbrique) avec la composition: En dautres termes, DES tant une permutation: {0,1}64 {0,1}64, si DES tait un groupe pour la composition, ceci voudrait dire que: (1,2), K3 t.q. EK2 (E1 (x)) = EK3 (x) Cette proprit permet dassurer que lencryption compose (comme Triple-DES) augmente considrablement la scurit de DES. Si DES tait un groupe, la recherche exhaustive sur lensemble de cls possibles ({0,1}56) permettrait de casser lalgorithme indpendamment du nombre dexcutions conscutives de DES. Cls faibles et mi-faibles (weak and semi-weak keys):

Une cl K est dite faible si EK (EK (x)) = x. Une paire de cls (K1, K2) est dite mi-faible si EK1 (EK2 (x)) = x.

Les cls faibles ont la particularit de gnrer de sous-cls identiques par paires (k1 = k16 , k2 = k15 ,..., k8 = k9), ce qui facilite la cryptanalyse. DES a 4 cls faibles (et 6 paires de cls mi-faibles):
0101 0101 0101 0101

Cls faibles pour DES:

0101 0101 FEFE FEFE FEFE FEFE FEFE FEFE FEFE FEFE 0101 0101
Scurit & Cryptographie 64

Advanced Encryption Standard (AES)

Adopt comme standard en Novembre 20011, conu par Johan Daemen et Vincent Rijmen2 (do son nom original Rijndael). Il sagit galement dun block cipher itratif (comme DES) mais pas dun Feistel Cipher

Blocs Plaintext/Ciphertext: 128 bits. Cl de longueur variable: 128, 192, ou 256 bits.

Contrairement DES, AES est issu dun processus de consultation et danalyse ouvert des experts mondiaux. Techniques semblables DES (substitutions, permutations, XOR) complmentes par des oprations algbriques simples et trs performantes. Toutes les oprations seffectuent dans le corps GF(28): le corps fini de polynmes de degr 7 avec des coefficients dans GF(2). En particulier, un byte pour AES est un lment dans GF(28) et les oprations sur les bytes (additions, multiplications,...) sont dfinies comme sur GF(28). ~2 fois plus performant (en software) et ~1022 fois (en thorie...) plus sr que DES... volutif: La taille de la cl peut tre augmente si ncessaire.

1. http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf 2. http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael-ammended.pdf
Scurit & Cryptographie 65

Dtail dune Etape (round) AES


Lunit de base sur laquelle sappliquent les calculs est une matrice de 4 lignes et 4 colonnes (dans le cas dune cl de 128 bits) dont les lments sont des bytes:

ByteSub: Opration non linaire (S-box) conu pour rsister la cryptanalyse linaire et diffrentielle. ShiftRow: Permutation des bytes introduisant des dcalages variables sur les lignes. MixColumn: Chaque colonne est remplace par des combinaisons linaires des autres colonnes (multiplication des matrices!) AddRoundKey: XOR de la matrice courante avec la sous-cl correspondante ltape courante.
66

Scurit & Cryptographie

Dtail dune tape (round) AES (II)

Key Schedule

Source: Un nouvel algorithme de chiffrement, par Joan Daemen et Vincent Rijmen. Pour la Science,Dossier lart du secret.
S U l l ih d

) hiff

t Vi t Rij P Scurit & Cryptographie

l S i

l' t d

67

AES: Fonctionnement Global

Le nombre dtapes dAES varie en fonction de la taille de la cl. Pour une cl de 128 bits, il faut effectuer 10 tapes. Chaque augmentation de 32 bits sur la taille de la cl, entrane une tape supplmentaire (14 tapes pour des cls de 256 bits). La decryption consiste en appliquer les oprations inverses dans chacune des tapes (InvSubBytes, InvShiftRows, InvMixColumns). AddRoundKey ( cause du XOR) est sa propre inverse. Le Key Schedule consiste en:

Une opration dexpansion de la cl principal. Si Ne est le nombre dtapes (dpendant de la cl), une matrice de 4 lignes et 4 * (Ne + 1) colonnes est gnre. Une opration de slection de la cl dtape: La premire sous-cl sera constitue des 4 premires colonnes de la matrice gnre lors de lexpansion et ainsi de suite.

Pseudo-code pour AES:


Rijndael(State,CipherKey)
{ KeyExpansion(CipherKey,ExpandedKey); // Key Schedule AddRoundKey(State,ExpandedKey[0..3]); // Premier XOR avec la 1re sous-cl For( i=1 ; i<Ne ; i++ ) Round(State,ExpandedKey[4*i ... (4*i)+3]);// Ne - 1 tapes FinalRound(State,ExpandedKey[4*Ne ... 4*Ne+3]). // Dernire tape (pas de MixColumn) }
Scurit & Cryptographie 68

AES: Remarques finales et Attaques

La plus grande force de AES rside dans sa simplicit et dans ses performances, y compris sur des plate-formes capacit de calcul rduite (p.ex. des cartes puces avec des processeurs 8 bits). Depuis sa publication officielle, des nombreux travaux de cryptanalyse ont t publis avec des rsultats trs intressants. En particulier, N. Courtois et P.Pieprzyk1 ont prsent une technique appele XSL permettant de reprsenter AES comme un systme de 8000 quations quadratiques avec 1600 inconnues binaires. Leffort ncessaire pour casser ce systme est estim (il sagit encore dune conjecture...) 2100. Ces attaques se basent sur le caractre fortement algbrique (et largement contest...) de AES. De plus, il suffit de quelques known plaintexts pour les mettre en place, ce qui les distingue des attaques linaires et diffrentielles (page 70). Les prochaines annes risquent dapporter des dveloppements trs intressants dans la cryptanalyse de AES et dun bon nombre de block ciphers itratifs. Mme si AES reste un algorithme robuste ce jour, il convient de surveiller de prs les travaux de recherche algbrique2 qui pourraient rvolutionner toutes les thories de conception actuelles relatives aux block ciphers.

1. Nicolas Courtois and Josef Pieprzyk. Cryptanalysis of Block Ciphers with Overdefined Systems of Equations. Asiacrypt 2002. 2. http://www.cryptosystem.net/aes/
Scurit & Cryptographie 69

Techniques de Cryptanalyse sur les Block Ciphers


Cryptanalyse Diffrentielle1

Il sagit dune attaque chosen plaintext qui sintresse la propagation des diffrences dans deux plaintexts au fur et mesure quils voluent dans les diffrentes tapes de lalgorithme. Il attribue des probabilits aux cls quil devine en fonction des changements quelles induisent sur les ciphertexts. La cl la plus probable a des bonnes chances dtre la cl correcte aprs un grand nombre de couples plaintext/ciphertext.

Ncessite 247 couples chosen plaintext pour obtenir des rsultats corrects. Cryptanalyse Linaire2

Il sagit dune attaque known plaintext qui cre un simulateur du bloc partir des approximations linaires. En analysant un grand nombre de paires plaintext/ciphertexts, les bits de la cl du simulateur ont tendance concider avec ceux du block cipher analyss (calcul probabiliste) Ncessite 238 known plaintexts pour obtenir une probabilit de 10% de deviner juste et 243 pour un 85%! Il sagit de lattaque analytique la plus puissante ce jour sur les block ciphers.

1. Biham, E. and A. Shamir. (1990). Differential Cryptanalysis of DES-like Cryptosystems. Advances in Cryptology CRYPTO '90. Springer-Verlag. 221. 2. Mitsuru Matsui: Linear Cryptoanalysis Method for DES Cipher. EUROCRYPT 1993: 386-397.
Scurit & Cryptographie 70

Techniques de Cryptanalyse sur les Block Ciphers (II)


La mise en pratique des attaques diffrentielles et linaires prsente des difficults dans la paralllisation des calculs par rapport une recherche exhaustive de la cl. Ces deux attaques sont trs sensibles au nombre dtapes du block cipher: les chances de russite augmentent exponentiellement au fur et mesure que le nombre dtapes de lalgorithme diminue. Une conjecture trs rpandue parmi les cryptographes est que ces attaques, lpoque indites, taient connues par les concepteurs des DES. En particulier, le design des Sboxes offre une rsistance trs grande aux deux techniques. Sapplique aux constructions du type EK2 (E1 (x)). Lespace de cls pour cette solution est de {0,1}112. On construit dabord deux listes L1 et L2 de 256 messages de la forme: L1 = E1 (x) et L2 = D2 (x) avec E et D les oprations dencryption et decryption respectivement. Il suffit alors didentifier un lment qui se rpte dans les deux listes et les K1 et K2 associes cet lment seront (en toute vraisemblance) les cls recherches!

Attaque Meet-in-the-Middle

Effort ncessaire raliser les attaques: 257 oprations pour tablir les deux listes + 256 blocs de 64 bits de stockage pour mmoriser les rsultats intermdiaires... nettement infrieur au 2112 estim intuitivement... Ces techniques meet-in-the-middle sont aussi appliques la cryptanalyse interne des block ciphers.
Scurit & Cryptographie 71

Vous aimerez peut-être aussi