Vous êtes sur la page 1sur 28

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

Plan du cours Les algorithmes de chirement


Introduction Les algorithmes de chirement ` cl symtrique a e e
Ecole Nationale dIngnieurs de Tunis e 2007 - 2008 Mohamed Koub`a a Dpartement Technologies de lInformation et des Communications e Ecole Nationale dIngnieurs de Tunis e Courriel: mohamed.koubaa@enit.rnu.tn DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

Plan du cours

Introduction (1)

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

Un algorithme de chirement symtrique se sert de la mme cl e e e pour le chirement et le dchirement e La cryptographie moderne utilise les mmes base que la e cryptographie traditionnelle (substitution et transposition) mais de faon dirente c e Les algorithmes traditionnels sont simples Les algorithmes modernes sont susamment complexes et tordus pour que, mme si un cryptanalyste parvient ` acqurir de grandes e a e quantits de texte chir de son choix, il soit incapable dy trouver e e un sens sil na pas la cl e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

Introduction (2)

Introduction (3)

Les algorithmes de chirement sont raliss au moyen de matriel e e e spcialis (pour des raisons de vitesse) ou par des moyens logiciels e e Transposition et substitution peuvent tre ralises au moyens de e e e circuits lectriques simples e
Bo P (P - permutation) te
Le temps de propagation est infrieure ` une picoseconde e a

Bo S (S - substitution) te
Le temps de propagation est infrieure ` une nanoseconde e a

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Plan du cours

Les algorithmes de chirement ` cl symtrique a e e


Les cls de chirement et de dchirement sont identiques e e Un algorithme de chirement ` cl symtrique aussi appel ` cl a e e ea e secr`te repose sur la no-divulgation des cls et la rsistance des e e e algorithmes aux attaques de cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Plan du cours

Data Encryption Standard (1)


15 mai 1973 Le NIST (National Institute of Standards and Technology) lance un appel dore pour la proposition dun algorithme de chirement ayant les proprits suivantes : e e Possder un haut niveau de scurit li ` une cl de e e e ea e petite taille servant au chirement et au dchirement e Etre comprhensible e Ne pas dpendre de la condentialit de lalgorithme e e Etre adaptable et conomique e Etre ecace et exportable 1974 IBM propose Lucifer qui grce ` la NSA (National Security , a a Agency) est modi le 23 novembre 1976 pour donner le DES e (Data Encryption Standard) Le DES a t approuv par le NIST e e e
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 10

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

1978
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 9

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Data Encryption Standard (2)


DES est un algorithme de chirement symtrique par blocs de 64 e bits
DES utilise une cl de chirement de longueur e utile 56 bits La cl est complte par des bits de parit (un octet) servant ` vrier e e e e a e lintgrit de la cl e e e Chaque bit de parit est ajust de faon ` avoir un nombre impair de e e c a 1 dans loctet auquel il appartient ;

Data Encryption Standard (3)

Les grandes lignes de lalgorithme sont les suivantes :


Fractionnement du texte en blocs de 64 bits (8 octets) Lalgorithme exploite ensuite 19 tages distincts e
Le premier tage est constitu dune transposition du texte en clair sur 64 e e bits (indpendante de la cl) e e Le dernier tage eectue la transposition inverse e Lavant dernier tage permute les 32 bits de gauche avec ceux de droite e Les seize autre tages sont fonctionnellement identiques mais ils sont e paramtrs par direntes fonctions de la cl e e e e

Lalgorithme consiste ` eectuer des combinaisons, des substitutions a et des permutations entre le texte ` chirer et la cl, en faisant en a e sorte que les oprations puissent se faire dans les deux sens (pour le e dchirement) e La combinaison entre substitutions et permutations est appele code e produit La cl est code sur 64 bits et forme de 16 blocs de 4 bits, e e e gnralement nots K1 ` K16 e e e a
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 11

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

12

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Data Encryption Standard (4)

Data Encryption Standard (5)


Chaque tage reoit deux entres de 32 bits et restitue deux sorties e c e de 32 bits La partie gauche de la sortie est une simple recopie de la partie droite de lentre e La partie droite de la sortie est le rsultat dun OU exclusif bit ` bit e a entre la partie gauche de lentre et une fonction de la partie droite e de lentre et de la cl Ki+1 relative ` ltage i considr e e a e ee

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

13

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

14

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Transposition initiale
Chaque bit dun bloc est soumis ` la transposition initiale, pouvant a tre reprsente par la matrice de permutation initiale (note TI) e e e e suivante : 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 TI = 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
e Le 58`me bit du bloc de texte de 64 bits se retrouve en premi`re e e position, le 50`me en seconde position . . .

Scindement en blocs de 32 bits


Le bloc de 64 bits est ensuite scind en deux blocs de 32 bits, nots e e respectivement G et D. On note G0 et D0 ltat initial de ces deux e blocs 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 G0 = 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 D0 = 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Il est intressant de remarquer que G0 contient tous les bits e possdant une position paire dans le message initial, tandis que D0 e contient les bits de position impaire
15 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 16

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Rondes
Les blocs Gi et Di sont soumis ` un ensemble de transformation a itratives appeles rondes e e

Fonction dexpansion
Les 32 bits du bloc D0 sont tendus ` 48 bits grce ` une table e a a a (matrice) appel table dexpansion (note E), dans laquelle les 48 e e bits sont mlangs et 16 dentre eux sont dupliqus e e e
57 59 D0 = 61 63 49 51 53 55 41 43 45 47 33 35 37 39 25 27 29 31 17 19 21 23 9 11 13 15 1 3 5 7 E = 32 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31 4 8 12 16 20 24 28 32 5 9 13 17 21 25 29 1

e Ainsi, le dernier bit de D0 (cest-`-dire le 7`me bit du bloc dorigine) a devient le premier, le premier devient le second, . . . De plus, les bits 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28 et 29 de D0 (respectivement 57, 33, 25, l, 59, 35, 27, 3, 6l, 37, 29, 5, 63, 39, 31 et 7 du bloc dorigine) sont dupliqus et dissmins dans la matrice e e e
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 17 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 18

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Fonction de substitution (1)


Lalgorithme DES proc`de ensuite ` un OU exclusif entre la e a premi`re cl K1 et E [D0 ] e e Le rsultat est une matrice de 48 bits (D0 ) par commodit (il ne e e sagit pas du D0 de dpart) e e e D0 est scinde en 8 blocs de 6 bits, nots D0i Chaque bloc traverse une bo Si ; te e Les premiers et derniers bits de chaque D0i dterminent (en binaire) la ligne de la bo de substitution, les autres bits (respectivement 2, te 3, 4 et 5) dterminent la colonne e
La slection de la ligne se faisant sur deux bits, il y a 4 possibilits e e (0,1,2,3) La slection de la colonne se faisant sur 4 bits, il y a 16 possibilits (0 ` e e a 15) La bo de substitution electionne une valeur code sur 4 bits te s e
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 19

Fonction de substitution (2)


7 8 0 13

14 4 13 1 2 15 0 15 7 4 14 2 S1 = 4 1 14 8 13 6 15 12 8 2 4 9 Soit D01 gal ` 101110 e a

11 8 13 1 2 11 1 7

3 10 6 10 6 12 15 12 9 5 11 3

12 5 9 11 9 5 7 3 10 14 10 0

0 3 5 6

Le premier et le dernier bit (10) donnent (2)10 Les bits 2, 3, 4 et 5 (0111) donnent (7)10 Le rsultat de la boite de substitution est donc la valeur situe ` e e a lintersection de la deuxi`me ligne et de la septi`me colonne e e Il sagit de la valeur (11)10 soit en binaire 1011 ;

Chacun des 8 blocs de 6 bits est pass dans la boite de substitution e correspondante, ce qui donne en sortie 8 valeurs de 4 bits chacune
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 20

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Permutation sur 32 bits

Permutation initiale inverse


` A la n des 16 itrations les deux blocs G16 et D16 e soumis ` la transposition initiale inverse a Le rsultat en sortie est un texte cod de 64 bits e e 40 8 48 16 56 24 64 39 7 47 15 55 23 63 38 6 46 14 54 22 62 37 5 45 13 53 21 61 1 TI = 36 4 44 12 52 20 60 35 3 43 11 51 19 59 34 2 42 10 50 18 58 33 1 41 9 49 17 57

sont recolls puis e

Le bloc de 32 bits obtenu est soumis table est la suivante : 16 7 20 21 1 15 23 26 T = 2 8 24 14 19 13 30 6

` une transposition T dont la a 29 12 28 17 5 18 31 10 32 27 3 9 22 11 4 25

Lensemble de ces rsultats en sortie de T est soumis ` un OU e a Exclusif avec le G0 de dpart pour donner D1 ; e

32 31 30 29 28 27 26 25

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

21

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

22

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Gnration des cls (1) e e e

Gnration des cls (2) e e e


La table de la permutation note CP-1 est prsente ci-dessous : e e e
57 10 CP1 = 63 14 49 2 55 6 41 59 47 61 33 51 39 53 25 43 31 45 17 35 23 37 9 27 15 29 1 19 7 21 58 11 62 13 50 3 54 5 42 60 46 28 34 52 38 20 26 44 30 12 18 36 22 4

Cette matrice peut en fait scrire sous la forme de deux matrice Gi e et Di (pour gauche et droite) composes chacune de 28 bits : e 57 49 41 33 25 17 9 1 58 50 42 34 26 18 Gi = 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 Di = 14 6 61 53 45 37 29 21 13 5 28 20 12 4
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 23 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 24

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Gnration des cls (3) e e e

Triple Data Encryption Standard (1)

Ces deux blocs subissent ensuite une rotation ` gauche, de telles a faons que les bits en seconde position prennent la premi`re c e position, ceux en troisi`me position la seconde, . . . les bits en e premi`re position passent en derni`re position e e Les 2 blocs de 28 bits sont ensuite regroups en un bloc de 56 bits. e Celui-ci passe par une permutation, note CP-2, fournissant en e sortie un bloc de 48 bits, reprsentant la cl Ki+1 e e Des itrations de lalgorithme permettent de donner les 16 cls, K1 ` e e a K16 , du DES

En 1977, deux chercheurs en cryptographie de Stanford, Die et Hellman montraient quil est possible de casser le code DES ` A partir dun fragment du texte en clair et du texte cod e correspondant, il est possible de trouver la cl au moyen dune e recherche exhaustive dans lespace des 256 cls possibles en moins e dune journe e En 1979, IBM, convaincue que la taille de la cl de DES tait trop e e courte, propose un moyen daugmenter ecacement la taille de la cl au moyen dun triple chirement e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

25

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

26

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Triple Data Encryption Standard (2)


Deux cls et trois tages : e e
Dans un premier tage, le texte en clair est cod avec DES avec la cl e e e K1 Dans le deuxi`me tage, DES est excut en mode dchirement avec e e e e e la cl K2 e Dans le dernier tage, DES est excut en mode chirement en e e e utilisant la cl K1 e

Triple Data Encryption Standard (3)

Pourquoi ny a-t-il que deux cls au lieu de trois ? e


Une longueur de cl de 112 bits convient tr`s bien pour les applications e e commerciales courantes Passer ` 168 bits augmenterait la charge occasionne par la gestion et a e le transport dune autre cl pour un bncie minime e e e

Pourquoi avoir utilis une succession dtapes e e chirement-dchirement-chirement plutt que e o chirement-chirement-chirement ?
Le choix est justi par des raisons de compatibilit descendante avec e e DES ` cl unique a e Un ordinateur pratiquant un chirement triple peut communiquer avec un ordinateur utilisant un chirement simple en posant K1 = K2 ;

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

27

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

28

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Plan du cours

Advanced Encryption Standard (1)

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

DES commence ` se rapprocher de sa n de vie utile a Le triple DES devient insusant Le NIST organise une comptition cryptographique et demande en e janvier 1997 ` des chercheurs invits du monde entier de soumettre a e des propositions pour un nouveau standard qui serait appel AES e (Advanced Encryption Standard)
Lalgorithme devait tre un chire symtrique par blocs e e La totalit de sa conception devait tre publique e e Il devait tre possible dy utiliser des cls de 128, 192 et 256 bits e e Il devait permettre des implmentations matrielles et logicielles e e Lalgorithme devait tre public (utilisation devait tre autorise de e e e faon non discriminatoire) c

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

29

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

30

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Advanced Encryption Standard (2)


15 propositions sont retenues Des confrences publiques furent organises pour les prsenter e e e Les participants furent vivement encourags ` trouver des failles e a dans chacune des propositions Le NIST choisit cinq nalistes eu gard ` la scurit, lecacit, la e a e e e simplicit, la souplesse et les besoins en mmoire des syst`mes e e e retenus Un vote partage les cinq propositions La proposition de deux jeunes cryptographes belges Joan Daemen et Vincent Rijmen a t retenue par le NIST en novembre 2000 sous le e e nom de lalgorithme de Rijndael

Advanced Encryption Standard (3)


Septembre 1997 Aot 1998 u Mars 1999 Avril 1999 Appel dore lanc par le NIST (National Institute of Stane dards and Technology) pour lAES 15 candidats retenus lors de la premi`re confrence AES e e Seconde confrence AES e Le NIST annonce les 5 nalistes Rijndael (Joan Daemen et Vincent Rijmen) Serpent (Ross Andersen, Eli Biham et Lars Knudsen) Twosh (quipe dirige par Bruce Schneier) e e RC6 (RSA Laboratories) MARS (IBM) Avril 2000 Octobre 2000 Mai 2002
31

Troisi`me confrence AES e e Le vainqueur est lalgorithme Rijndael (2 octobre 200) LAES remplace le DES
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 32

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Advanced Encryption Standard (4)

Advanced Encryption Standard (5)


Nombre doctets dans les blocs de donnes ou la cl ; e e #dene NROWS 4 Nombre de lignes de ltat e #dene NCOLS 4 Nombre de colonnes de ltat e #dene ROUNDS 10 Nombre ditrations e typedef unsigned char byte ; Entier non sign de 8 bits e rijndael(byte plaintext[LENGTH], byte ciphertext[LENGTH], byte key[LENGTH]){ int r ; Compteur de boules byte state[NROWS][NCOLS] ; struct byte k[NROWS][NCOLS] ;rk[ROUNDS+1] ; Cls des rondes e expand key(key,rk) ; Construction des cls des rondes e copy plaintext to state(state, plaintext) ; Initialisation de ltat courant e xor roundkey into state(state, rk[0]) ; XOR cl avec tat e e for (r=1 ; r ROUNDS ; r++) substitute(state) ; Appliquer une boite S ` chaque octet a rotate rows(state) ; Faire tourner la ligne i de i octets ; Fonction de mlange ; e if (r < ROUNDS) mix columns(state) ; xor roundkey into state(state, rk[r]) ; XOR cl avec tat ; e e } copy state to ciphertext(ciphertext, state) ; Renvoi du rsultat e } #dene LENGTH 16

Deux variantes dAES


Blocs et cl de 128 bits e Blocs de 128 bits et cl de 256 bits e

Une cl de 128 bits donne un espace de choix de 2128 = 3x1038 cls e e Une machine dun milliard de processeurs fonctionnant en parall`le, e chacun deux pouvant valuer une cl par picoseconde, mettrait e e environ 1010 annes pour explorer toutes les cls possibles e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

33

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

34

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Schma gnral de lAES e e e

Expansion de la cl de chirement e
Le texte en clair est recopi dans le tableau state. La recopie e seectue en colonnes. Les quatre premiers octets allant dans la colonne 0, les quatre suivants dans la colonne 2, . . .

Les cls des rondes rsultent de rotations rptes et doprations e e e e e e XOR portant sur dirents groupes de bits de la cl e e
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 35 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 36

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Un tour de lAES

Substitution non linaire e


La substitution agit isolment sur tous les octets (ai,j )0i,j3 dun e tat en deux tapes : e e
Calcul de linverse de (ai,j ) dans le corps ` 256 lments F256 a ee
x = ai,j 1 Si ai,j = 0, on pose x=0

Puis transformation ane de 1 0 0 y0 y1 1 1 0 y2 1 1 1 y3 1 1 1 y4 = 1 1 1 y5 0 1 1 y6 0 0 1 0 0 0 y7 Calculs eectus dans F2 e


mohamed.koubaa@enit.rnu.tn SSIR - ENIT 37 mohamed.koubaa@enit.rnu.tn

loctet x 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 x0 x1 x2 x3 x4 x5 x6 x7 + 1 1 0 0 0 1 1 0

SSIR - ENIT

38

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Permutation linaire e

Dcalage de lignes e

La permutation est compose de deux tapes : e e


Un dcalage des lignes de ltat courant(rotate rows()) e e Une transformation linaire des termes de chaque colonne de ltat e e obtenu apr`s dcalage (mix columns()) e e

Chaque ligne subit un dcalage circulaire vers la gauche de Ci e positions, (Ci longueur du dcalage de la ligne i) e
La ligne 0 tourne de 0 octets La ligne 1 tourne de 1 octet ; La ligne 2 de 2 et la ligne 3 de 3

La permutation du dernier tour ninclut pas la seconde tape e

128 bits 192 bits 256 bits

C0 0 0 0

C1 1 1 1

C2 2 2 3

C3 3 3 4

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

39

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

40

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Mixage des colonnes

Performances de lAES
Vitesse de chirement en Mbps
Implantation sur un Pentium Pro 200 MHz

Agit sur les colonnes de ltat e i`me e La j colonne de ltat (a,j ) est transforme en un vecteur (b,j ) e e par multiplication par une matrice ` coecients dans F256 a Calculs eectus dans le corps F256 e
est une racine du polynme X 8 + X 4 + X 3 + X + 1 o En hexadcimal e
1 = 01 = 02 1 + = 03

Tailles (cl, bloc) e (128, 128) (192, 128) (256, 128)

en C 27-70.5 22.8-59.3 19.8-51.2

en Java 1.1 0.93 0.79

` A titre de comparaison, les meilleurs implantation du DES atteignent un dbit de chirement de 192 Mbps et le plus couramment 64 Mbps e

Sur carte ` puce (processeur Motorola 68HC08) a Tailles (cl, bloc) e (128, 128) (192, 128) (256, 128) Nombre de cycles 8390 cycles 10780 cycles 12490 cycles RAM 36 octets 44 octets 52 octets Taille code 919 octets 1170 octets 1135 octets

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

41

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

42

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Plan du cours

Modes de chirement

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les syst`mes de chirement symtrique se rpartissent selon deux e e e grandes familles :


Les syst`mes de chirement par blocs e Les syst`mes de chirement par ot e

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

43

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

44

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les chires par blocs

Une technique de bourrage

On dsigne par chirement par blocs (block-cipher en anglais), tout e syst`me de chirement (symtrique) dans lequel le message clair est e e dcoup en blocs dune taille xe, et chacun de ces blocs est chir e e e La longueur n des blocs et la taille l des cls sont deux e caractristiques des syst`mes de chirement par blocs e e Le message P ` chirer est dcoup en blocs de n bits chacun a e e Si la longueur du message nest pas un multiple de la longueur dun bloc, on le compl`te avec une squence de bourrage ou padding en e e anglais Plusieurs techniques de bourrage existent

Une faon de bourrer (RFC2040) consiste ` complter le dernier c a e bloc par autant doctets que ncessaire, chaque octet ayant pour e valeur le nombre doctets ajouts e
Par exemple, sil manque trois octets au message m = o1 o2 o3 o4 o5 pour obtenir un bloc de huit octets, on ajoute trois octets gaux ` 3 e a o1 o2 o3 o4 o5 (03)H (03)H (03)H Sil se trouve que la taille de la donne ` chirer est un multiple de la e a taille dun bloc, on ajoute un bloc entier dont chaque octet a pour valeur la taille en octet dun bloc. Par exemple, pour des blocs de huit octets, on ajoute le bloc (08)H (08)H (08)H (08)H (08)H (08)H (08)H (08)H

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

45

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

46

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Modes opratoires e

Le mode ECB (1)

Ils ne concernent que le chirement par blocs Ils doivent masquer les blocs clairs identiques Deux messages identiques chirs avec la mme cl ne donnent pas e e e les mmes messages chirs e e

ECB - Electronic Code Book Chirement : chaque bloc clair Pi est chir indpendamment et e e donne un bloc chir Ci = EK (Pi ) e Dchirement : chaque bloc chir est dchir indpendamment e e e e e pour donner le bloc en clair correspondant Pi = DK (Ci ) Consquence : deux blocs clairs identiques donnent toujours le e mme bloc chir pour une cl K xe e e e e
47 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 48

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Le mode ECB (2)


Nom (8 octets) Adams, Black, Collins, Davies, Prnom (8 octets) e Leslie Robin Kim Bobbie Position (8 octets) Employ e Patron Directeur Gardien Bonus (8 octets) $10 $500,000 $100,000 $5

Le mode de chirement avec cha nage de blocs (1)

Ayant eu des mots avec le patron Leslie ne sattend pas ` toucher a grand-chose Kim, est la chouchou du patron, et chacun le sait Leslie peut accder au chier une fois que celui-ci a t chir et e e e e avant quil ne soit envoy ` la banque ea e e Leslie recopie le 12`me bloc chir (celui qui contient le montant de la prime accorde ` Kim) et le substitue au quatri`me bloc (celui qui e a e contient le montant de la prime accorde ` Leslie) e a
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 49 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 50

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Le mode de chirement avec cha nage de blocs (2)

Le mode de chirement avec rtroaction (1) e

CBC - Cipher Block Chaining Chirement


Un vecteur dinitiation IV gnr alatoirement et transmis sous forme e ee e dun texte en clair en mme temps que le texte chir e e Ci = EK (Pi Ci1 )

Dchirement e
Pi = DK (Ci ) Ci1

Consquence : deux blocs clairs identiques sont chirs diremment e e e

Chirement

Dchirement e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

51

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

52

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Le mode de chirement avec rtroaction (1) e

Le mode de chirement par ot (1)


SCM - Stream Cipher Mode La perte de 64 bits de texte en clair par suite dune erreur de transmission dun seul bit est inacceptable pour certaines applications On dsigne par chirement ` ot, ou parfois chirement en continu, e a tout syst`me de chirement (symtrique) dans lequel chaque e e symbole du texte clair subit une transformation variable dans le temps La transformation que subit chaque symbole Pi du texte clair est le plus souvent une combinaison additive avec un symbole Si produit par un gnrateur pseudo-alatoire (GPA) e e e
Chirement : Ci = Pi Si Dchirement : Pi = Ci Si e

OFB - Output Feedback CBC ncessite ladjonction dun bloc entier de 64 bits e (respectivement 128 bits) avant le dbut du chirement e Chirement
Un vecteur dinitiation est gnr alatoirement et est transmis en clair e ee e avec les blocs chirs e Ci = Pi ri pour i 1 ; r0 = IV ri = EK (ri1 )

Chirement
Pi = Ci ri

Consquence : deux blocs identiques sont chirs diremment e e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

53

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

54

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Le mode de chirement par ot (2)

Le mode de chirement par ot (3)


On commence par chirer un vecteur dinitiation au moyen dune cl e ce qui donne un certain bloc en sortie ; le mme bloc est chir en e e sortie pour donner un second bloc en sortie qui est alors chir pour e donner un troisi`me, . . . e La squence arbitrairement longue de blocs de sortie est appele ot e e avec cl (keystream) e Le ot avec cl est trait comme un masque jetable et combin par e e e un XOR avec le texte en clair pour donner le texte chir e Le vecteur dinitiation nest utilis qu` la premi`re tape e a e e Le ot avec cl est gnre indpendamment des donns il peut e e ee e e tre prcalcul au besoin, il est incompl`tement insensible aux e e e e erreurs de transmission

Chirement

Dchirement e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

55

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

56

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Le mode de chirement par ot (4)

Le mode compteur (1)


Pour accder ` un bloc quelconque dun chier chir au moyen e a e dun cha nage de blocs, ncessite le dchirement au pralable des e e e blocs qui le prc`dent e e Le mode compteur (counter mode) a t invent pour viter de de e e e e dchirer tous les blocs qui prc`dent un bloc quelconque dans le e e e texte On commence par chirer le vecteur dinitiation auquel on ajoute une constante Le bloc chir obtenu est combin par un XOR avec le texte en clair e e ` chirer a Le vecteur dinitiation est incrment dune unit pour chaque e e e nouveau bloc Le mode compteur soure de la mme faiblesse que Le mode de e chirement par ot
57 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 58

Le dchirement seectue en gnrant le mme ot avec cl du e e e e e cot du rcepteur e e Un bit erron dans la transmission du texte chir entraine un bit e e erron dans le texte en clair dchir e e e Il est essentiel de ne jamais utiliser deux fois de suite le mme couple e (VI-cl) pour ne pas gnrer ` chaque fois le mme ot avec cl e e e a e e
Un premier bloc de texte P0 est chir avec le keystream K0 donnant e P0 K0 Un deuxi`me bloc de texte Q0 est chir avec le keystream K0 donnant e e Q0 K0 Un intrus qui capturerait les deux blocs de texte chirs, pourrait ` e a laide dun simple XOR liminer la cl e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Le mode compteur (2)

Plan du cours

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

59

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

60

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

La cryptanalyse

La cryptanalyse direntielle e

Deux avances rcentes en cryptanalyse : e e


La cryptanalyse direntielle e La cryptanalyse linaire e

La cryptanalyse direntielle sattaque ` nimporte quel bloc chir e a e Elle commence par attaquer un couple de blocs de texte en clair qui di`rent dun petit nombre de bits e Elle observe soigneusement ce qui se passe au cours de chaque itration interne lors du chirement e Dans certains cas, certains prol de bits apparaissent plus frquemment que dautre e Cette observation conduit ` une attaque probabiliste a

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

61

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

62

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

La cryptanalyse linaire e

Plan du cours

La cryptanalyse linaire peut casser le DES avec seulement 243 e textes en clair connus Elle consiste ` faire un XOR sur certains bits du texte en clair et du a texte chir, puis ` examiner le rsultat en y recherchant des prols e a e En eectuant cette opration de mani`re rptitive, la moiti des e e e e e bits devrait tre des 0, et lautre moiti des 1 ; e e Le chirement en gnral introduit une dissymtrie dans une e e e direction ou dans lautre, laquelle, peut tre exploit pour faciliter le e e cassage du code

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

63

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

64

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Position du probl`me e

Position du probl`me e

Comment Alice et Bob peuvent-ils faire pour partager une cl e secr`te ? e

Comment Alice et Bob peuvent-ils faire pour partager une cl e secr`te ? e Rponses e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

65

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

65

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Position du probl`me e

Position du probl`me e

Comment Alice et Bob peuvent-ils faire pour partager une cl e secr`te ? e Rponses e
Se rencontrer physiquement pour changer une cl secr`te e e e (impraticable) ;

Comment Alice et Bob peuvent-ils faire pour partager une cl e secr`te ? e Rponses e
Se rencontrer physiquement pour changer une cl secr`te e e e (impraticable) ; Utiliser lune des deux mthodes suivantes : e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

65

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

65

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Position du probl`me e

Position du probl`me e

Comment Alice et Bob peuvent-ils faire pour partager une cl e secr`te ? e Rponses e
Se rencontrer physiquement pour changer une cl secr`te e e e (impraticable) ; Utiliser lune des deux mthodes suivantes : e
Protocole dchange de cls de Die-Hellman ; e e

Comment Alice et Bob peuvent-ils faire pour partager une cl e secr`te ? e Rponses e
Se rencontrer physiquement pour changer une cl secr`te e e e (impraticable) ; Utiliser lune des deux mthodes suivantes : e
Protocole dchange de cls de Die-Hellman ; e e Syst`me de chirement asymtrique ; e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

65

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

65

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Protocole dchange de cl e e

Protocole dchange de cl e e

Un protocole dchange de cl permet ` deux protagonistes : e e a

Un protocole dchange de cl permet ` deux protagonistes : e e a


dchanger une cl secr`te K ; e e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

66

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

66

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Protocole dchange de cl e e

Le protocole de Die-Hellman (1)


En 1976, deux chercheurs de luniversit de Standford, Die et e Hellman, propos`rent un syst`me de cryptographie radicalement e e dirent de ce qui stait fait jusqualors ; e e Le syst`me utilise deux cls distinctes, une cl de chirement et une e e e cl de dchirement ; e e La cl de dchirement ne pouvait tre obtenue ` partir de la cl de e e e a e chirement ; Lalgorithme de chirement (E) et lalgorithme de dchirement (D) e devaient satisfaire un certain nombre de conditions :
D(E(P))=P ; Il est excessivement dicile de dduire D ` partir de E ; e a E ne peut pas tre cass au moyen dune attaque sur un texte en clair e e choisi (le cryptanalyste a la possibilit de chirer des morceaux de texte e en clair de son propre choix) ;

Un protocole dchange de cl permet ` deux protagonistes : e e a


dchanger une cl secr`te K ; e e e en communiquant sur un canal non scuris ; e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

66

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

67

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Le protocole de Die-Hellman (2)


Param`tres e
Un groupe cyclique G de cardinal n ; Un gnrateur g G e e Alice Bob

Le protocole de Die-Hellman (2)


Param`tres e
Un groupe cyclique G de cardinal n ; Un gnrateur g G e e Alice 1. gn`re un entier xA compris entre e e 0 et n 1 au hasard ; Bob 1. gn`re un entier xB compris entre e e 0 et n 1 au hasard ;

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

68

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

68

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Le protocole de Die-Hellman (2)


Param`tres e
Un groupe cyclique G de cardinal n ; Un gnrateur g G e e Alice 1. gn`re un entier xA compris entre e e 0 et n 1 au hasard ; 2. calcule KA = g xA ; Bob 1. gn`re un entier xB compris entre e e 0 et n 1 au hasard ; 2. calcule KB = g xB ;

Le protocole de Die-Hellman (2)


Param`tres e
Un groupe cyclique G de cardinal n ; Un gnrateur g G e e Alice 1. gn`re un entier xA compris entre e e 0 et n 1 au hasard ; 2. calcule KA = g xA ; 3. envoie KA ` Bob ; a Bob 1. gn`re un entier xB compris entre e e 0 et n 1 au hasard ; 2. calcule KB = g xB ; 3. envoie KB ` Alice ; a

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

68

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

68

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Le protocole de Die-Hellman (2)


Param`tres e
Un groupe cyclique G de cardinal n ; Un gnrateur g G e e Alice 1. gn`re un entier xA compris entre e e 0 et n 1 au hasard ; 2. calcule KA = g xA ; 3. envoie KA ` Bob ; a
x 4. reoit KB et calcule KBA = KBA ; c

Le protocole de Die-Hellman (2)


Param`tres e
Un groupe cyclique G de cardinal n ; Un gnrateur g G e e Bob Alice 1. gn`re un entier xA compris entre e e 0 et n 1 au hasard ; 2. calcule KA = g xA ; 3. envoie KA ` Bob ; a
x 4. reoit KB et calcule KBA = KBA ; c

Bob 1. gn`re un entier xB compris entre e e 0 et n 1 au hasard ; 2. calcule KB = g xB ; 3. envoie KB ` Alice ; a


x 4. reoit KA et calcule KAB = KAB ; c

1. gn`re un entier xB compris entre e e 0 et n 1 au hasard ; 2. calcule KB = g xB ; 3. envoie KB ` Alice ; a


x 4. reoit KA et calcule KAB = KAB ; c

KAB = KBA est la cl secr`te partage ; e e e


mohamed.koubaa@enit.rnu.tn SSIR - ENIT 68 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 68

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Un exemple
Param`tres e
G = Z , g = 3 et n = 30 ; 31 Un gnrateur g G e e Alice Bob

Un exemple
Param`tres e
G = Z , g = 3 et n = 30 ; 31 Un gnrateur g G e e Alice 1. gn`re un entier xA = 23 ; e e Bob 1. gn`re un entier xB = 17 ; e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

69

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

69

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Un exemple
Param`tres e
G = Z , g = 3 et n = 30 ; 31 Un gnrateur g G e e Alice 1. gn`re un entier xA = 23 ; e e 2. calcule KA = g xA = 323 (mod 31) = 11 ; Bob 1. gn`re un entier xB = 17 ; e e 2. calcule KB = g xB = 317 (mod 31) = 22 ;

Un exemple
Param`tres e
G = Z , g = 3 et n = 30 ; 31 Un gnrateur g G e e Alice 1. gn`re un entier xA = 23 ; e e 2. calcule KA = g xA = 323 (mod 31) = 11 ; 3. envoie KA ` Bob ; a Bob 1. gn`re un entier xB = 17 ; e e 2. calcule KB = g xB = 317 (mod 31) = 22 ; 3. envoie KB ` Alice ; a

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

69

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

69

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Un exemple
Param`tres e
G = Z , g = 3 et n = 30 ; 31 Un gnrateur g G e e Alice 1. gn`re un entier xA = 23 ; e e 2. calcule KA = g xA = 323 (mod 31) = 11 ; 3. envoie KA ` Bob ; a 4. reoit KB = 22 et calcule KBA = c x KBA = 2223 (mod 31) = 3 ; Bob 1. gn`re un entier xB = 17 ; e e 2. calcule KB = g xB = 317 (mod 31) = 22 ; 3. envoie KB ` Alice ; a 4. reoit KA = 11 et calcule KAB = c X KA B = 1117 (mod 31) = 3;

Un exemple
Param`tres e
G = Z , g = 3 et n = 30 ; 31 Un gnrateur g G e e Alice 1. gn`re un entier xA = 23 ; e e 2. calcule KA = g xA = 323 (mod 31) = 11 ; 3. envoie KA ` Bob ; a 4. reoit KB = 22 et calcule KBA = c x KBA = 2223 (mod 31) = 3 ; Bob 1. gn`re un entier xB = 17 ; e e 2. calcule KB = g xB = 317 (mod 31) = 22 ; 3. envoie KB ` Alice ; a 4. reoit KA = 11 et calcule KAB = c X KA B = 1117 (mod 31) = 3;

KAB = KBA = 3 est la cl secr`te partage ; e e e


mohamed.koubaa@enit.rnu.tn SSIR - ENIT 69 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 69

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Scurit du protocole e e

Les algorithmes de chirement ` cl publique a e


Les algorithmes de chirement ` cl publique utilisent une paire de a e cls compose dune cl publique pour chirer et une cl prive pour e e e e e dchirer des donnes condentielles ; e e La cl publique correspond ` une cl qui est accessible par nimporte e a e quelle personne souhaitant chirer des informations ; La cl prive est quant ` elle rserve ` la personne ayant cr la e e a e e a ee paire de cls ; e Alice prend en charge la cration de la paire de cls, envoie sa cl e e e publique aux autres personnes Bob, Carole, . . . Bob peut alors chirer les donnes condentielles ` laide de la cl e a e publique puis envoyer les donnes ` Alice ; e a Alice peut alors dchirer les donnes condentielles ` laide de sa e e a cl prive ; e e
70 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 71

` Eve, lespionne, coute les changes entre Alice et Bob, et conna e e t donc KA , KB , et bien entendu les param`tres G et g ; e ` a e e Etant donn KA et KB , Eve cherche ` calculer la cl partage K ; e Ce probl`me est connu sous le nom de probl`me de Die-Hellman. e e Il est li au probl`me du logarithme discret ; e e Aucun algorithme ecace connu actuellement ; Solution du probl`me de Die-Hellman pratiquement incalculable e dans F d`s lors que p est un (grand) nombre premier ; p e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Plan du cours

RSA (1)

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

Le premier algorithme de chirement ` cl publique (chirement a e asymtrique) a t dvelopp par R. Merckle et M. Hellman en e e e e e 1977 ; Il fut vite rendu obsol`te grce aux travaux de Shamir, Zippel et e a Herlestman, de cl`bres cryptanalistes ; ee Lalgorithme ` cl publique de Rivest, Shamir, et Adelman (do` son a e u nom RSA) appara en 1978 ; t RSA servait encore en 2002 ` protger les codes nuclaires de a e e larme amricaine et russe ; e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

72

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

73

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

RSA (2)

Prliminaires darithmtiques (1) e e

Le RSA, propos en 1978, utilisant des cls de chirement de 128 e e bits, na t cass quen 1996 en faisant travailler de nombreux e e e ordinateurs en parall`le ; e RSA est considr toujours comme sr avec la technologie actuelle ee u pour des cls susamment longues (1024, 2048 voire 4096 bits) e demande un temps de calcul assez important ; Cest le syst`me le plus largement rpandu (carte bancaire, e e protocole SSL, . . . ) ;

On appelle indicatrice dEuler la fonction qui ` un entier n fait a correspondre le nombre dentiers a premier ` n vriant 1 a n. a e On note cette fonction ; Si p est un nombre premier alors tout entier compris entre 1 et p 1 est premier ` p ; (p) = p 1 ; a Les nombres premiers ` p n sont exactement les nombres non a multiples de p
Il y a exactement p n1 multiples de p entre 1 et p n ; (p n ) = p n p n1 = p n1 (p 1)

Soient p et q deux nombres premiers distincts, alors (pq) = (p 1)(q 1) ;

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

74

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

75

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Prliminaires darithmtiques (2) e e

Constitution des cls e

Thor`me de Fermat e e Soit p un nombre premier. Si a est un entier non divisible par p, alors ap1 1[p] ; Pour tout entier a, ap a[p] ; Soit n N un entier x, soit a un entier premier ` n, alors e a a(n) 1[n] ;

La mthode RSA repose sur les principes de la thorie des nombres ; e e Bob choisit deux grands nombres premiers (en gnral de 1024 bits) e e p et q ; Bob calcule n = pq et z = (p 1)(q 1) ; Bob choisit un nombre d tel que d et z soient premiers entre eux ; Bob calcule e tel que e d 1[z] ; Bob diuse n et e, garde d et oublie z ;

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

76

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

77

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Un exemple

Chirement et dchirement RSA e

Exemple :
p = 11, q = 17, n = 187 et z = (11 1)(17 1) = 160 ; Comme 161 = 7 23, on peut poser e = 7 et d = 23 ; Bob rend publique la cl (187,7) e Alice veut transmettre ` Bob un message cod plus petit que n = 187, a e mettons la date ` laquelle ils vont faire une surprise ` Cdric (par a a e exemple le 10), message qui ne doit pas tre intercept par ledit e e Cdric, bien sr ; e u e Alice va donc calculer 107 = 187 53475 + 175, et envoyer le rsultat 175 ` Bob ; a Bob calcule le reste de la division euclidinne de 17523 par 187 ; Bob retrouve bien le message envoy, ` savoir 10 ; e a

Le texte en clair ` chirer (considr comme une cha de bits) est a ee ne divis en blocs de m bits chacun ; m tant le plus grand entier pour e e lequel la condition 2m < n est vrie ; e e Pour chirer un message P, on calcule C = P e [n] ; Pour dchirer C , il sagit de calculer P = C d [n] ; e On montre que pour tout P appartenant ` lintervalle 0 P < n, les a fonctions de chirement et de dchirement sont inverses ; e La cl publique est forme par le couple (e,n) ; la cl prive par le e e e e couple (d, n) ;

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

78

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

79

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Scurit de RSA e e
La scurit de RSA repose sur la dicult de factoriser des grands e e e nombres ; Si le cryptanalyste pouvait factoriser n (public), il pouvait retrouver p et q puis z ; Connaissant z et e, il est possible de dterminer d au e moyen de lalgorithme dEuclide ; Par bonheur, les mathmaticiens essayent, depuis au moins trois ans, e de factoriser des grands nombres mais il ny arrivent pas ; le probl`me est excessivement dicile ; e Selon Rivest est ses coll`gues, factoriser un nombre de cinq cents e chires demande 1025 annes au moyen dune mthode dessais e e exhaustifs ; Il scoulera des si`cles avant quil ne devienne possible de factoriser e e un nombre de cinq cents chires ; ` ce moment, il sura de choisir a des valeurs plus grandes de p et q ;
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 80

Un exemple dapplication de lalgorithme RSA (1)

p = 3 et q = 11 ; n = 33 et z = 20 ; La valeur 7 convient alors pour d tant donn que 20 et 7 sont e e premiers entre eux ; En rsolvant lquation d e 1[20] 7e 1[20], on obtient e = 3 ; e e Le texte chir C , pour un texte en clair, P, est donn par e e C P 3 [33] ; Le destinataire dchire le texte chir en appliquant P C 7 [33] ; e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

81

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Un exemple dapplication de lalgorithme RSA (2)


Texte en clair (P) Symbolique Numrique e S 19 U 21 Z 26 A 01 N 14 N 14 E 05 Texte chir (C) e P 3 [33] 28 21 20 1 5 5 26 Apr`s dchirement e e C 7 [33] Symbolique 19 S 21 U 26 Z 01 A 14 N 14 N 05 E

Inconvnients de RSA e

P3 6859 9261 17576 1 2744 2744 125

C7 13492928512 1801088541 1280000000 1 78125 78125 8031810176

Etant donn que nous avons choisi de petites valeurs pour cet e exemple, P doit tre infrieur ` 33 ; Chaque bloc du texte en clair ne e e a peut contenir quun seul caract`re ; Il en rsulte un chire de type e e substitution monoalphabtique (pas trop impressionnant) ; e Si nous avions pris p et q gaux ` 2512 , nous aurions obtenu e a n = 21024 , soit 128 caract`res par bloc de texte clair ; e
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 82

Il est ` souligner que la faon dutiliser RSA dcrite est semblable ` a c e a lusage dun algorithme symtrique type ECB ; e Il est ncessaire dintroduire une forme de cha e nage quelconque pour obtenir un bon chirement ; RSA est largement utilis pour distribuer des cls de session unique e e destines ` tre utilises dans un algorithme de type AES ou TDES e ae e (Triple DES) ; RSA est (malheureusement) trop lent pour encoder de grands volumes de donnes ; e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

83

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Plan du cours

Constitution des cls e

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Une paire de cls du syst`me de Rabin est construite ` partir : e e a


dun couple de deux nombres premiers distincts p et q tels que p 3[4] et q 3[4] ; du produit de ces deux nombres premiers n = pq ; de deux entiers (coecients de Bezout) a et b tel que : ap + bq = 1

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique a e

La cl publique est lentier n ; e La cl prive est le quadruplet (p, q, a, b) ; e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

84

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

85

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Une exemple de paires de cl e

Chirement de Rabin

p = 19 = 4 4 + 4, q = 23 = 4 5 + 3 deux nombres premiers congrus ` 3 modulo 4 ; a n = pq = 437 ; a = 6 et b = 5 ; Cl publique : n = 437 ; e Cl prive : (p, q, a, b) = (19, 23, 6, 5) ; e e

Un message ` chirer est un entier compris entre 0 et n 1 ; a Soit P le message ` chirer ; a Le message chir est obtenu en utilisant la cl publique n du e e destinataire et en calculant le carr de P modulo n : e C P 2 [n] Le message chir est donc un entier compris entre 0 et n 1 ; e Exemple : le message P = 15 chir avec la cl n = 437 donne : e e C P 2 [n] = 225

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

86

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

87

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Dchirement e
Soit C le message ` dchirer ; a e Pour dchirer C , le destinataire utilise sa cl prive (p, q, a, b) et e e e calcule :
r C
(p+1) 4 (q+1) 4

Scurit de Rabin e e

[p] ;

[q] ; sC x (aps + bqr )[n] ; y (aps bqr )[n] ;

Le message clair est lun des quatre nombres x, n-x, y, n-y ; Exemple :
Le texte chir C = 225 se dchire avec la cl prive e e e e (p, q, a, b) = (19, 23, 6, 5) :
r = 4; s = 8; x = 422 ; y = 376 ;

` e Eve coute les changes entre Alice et Bob et conna la cl e t e publique de Bob ; ` Etant donn un texte chir C et la cl publique de Bob, n, Eve e e e souhaite calculer le texte clair P ; Probl`me du calcul dune racine carre modulo un entier compos e e e dont on ne conna pas la factorisation ; t ` On dmontre que le probl`me de Eve est quivalent au probl`me de e e e e la factorisation des entiers ; Aucun algorithme ecace connu actuellement capable de casser le chire de Rabin ;

Le message clair P est lun des quatre nombres 422, 15, 376, 61 ;
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 88 mohamed.koubaa@enit.rnu.tn SSIR - ENIT 89

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Plan du cours

Autres algorithmes ` cl publique a e


Bien que RSA soit largement utilis, dautres algorithmes ` cl e a e publique existent ; Lalgorithme du sac ` dos a

Introduction Les algorithmes de chirement ` cl symtrique a e e


DES (Data Encryption Standard) AES (Advanced Encryption Standard) Modes de chirement Cryptanalyse

Les algorithmes de chirement ` cl publique a e


RSA (Rivest, Shamir et Adelman) Autres algorithmes ` cl publique a e

Lalgorithme du sac ` dos nest pas considr comme sr et nest a ee u jamais utilis en pratique ; e
mohamed.koubaa@enit.rnu.tn SSIR - ENIT 90 mohamed.koubaa@enit.rnu.tn SSIR - ENIT

Un nombre dobjets ayant chacun un poids dirent ; e On chire le message secr`tement en choisissant un sous-ensemble des e objets quon place dans un sac ` dos ; a Le poids des objets utiliss pour le chirement est rendu public ainsi e que la liste de tous les objets possibles ; la liste des objets placs dans e le sac ` dos est garde secr`te ; a e e Linventeur de cet algorithme R. Merkle, tait tellement sr que son e u algorithme ne pouvait tre cass quil orit une rcompense de 100$ ` e e e a quiconque y parviendrait ; A. Shamir le cassa rapidement ; R. Merkle renfora son algorithme et porta le montant de la c rcompense ` 1000$ ; e a R. Rivest cassa rapidement le nouveau algorithme ;

91

Introduction Les algorithmes de chirement ` cl symtrique a e e Les algorithmes de chirement ` cl publique a e

RSA (Rivest, Shamir et Adelman) Rabin Autres algorithmes ` cl publique) a e

Les direntes catgories dalgorithmes de e e chirement ` cl publique a e

Les principales catgories e


Celles qui se fondent sur la dicult de factoriser de grands nombres ; e Celles qui calculent des logarithmes discrets modulo un grand nombre premier ; Celles qui reposent sur des courbes elliptiques ;

Ces probl`mes sont considrs comme nativement diciles ` e ee a rsoudre car les mathmaticiens sy sont casss les dents ; e e e

mohamed.koubaa@enit.rnu.tn

SSIR - ENIT

92

Vous aimerez peut-être aussi