• Aucun résultat trouvé

LicenceprofessionnelleAdministrateurdeR´eseauxetdeBasesdeDonn´eesIUTLimoges Pierre-LouisCayrel Chiffrementparblocs

N/A
N/A
Protected

Academic year: 2021

Partager "LicenceprofessionnelleAdministrateurdeR´eseauxetdeBasesdeDonn´eesIUTLimoges Pierre-LouisCayrel Chiffrementparblocs"

Copied!
62
0
0

Texte intégral

(1)

Chiffrement par blocs

Pierre-Louis Cayrel

Universit´e de Limoges, XLIM-DMI, 123, Av. Albert Thomas 87060 Limoges Cedex France

05.55.45.73.10 pierre-louis.cayrel@xlim.fr

Licence professionnelle Administrateur de R´eseaux et de Bases de Donn´ees

(2)

Sommaire

Syst`eme de chiffrement par blocs

Les modes de chiffrement

Le DES

L’AES

(3)

Classes de chiffrements sym´ etriques

Chiffrement sym´etrique par flot

I Traitement `a la vol´ee ; chiffrement `a la one-time pad :|M|=net avec une petite cl´eK, g´en´erer K0/|K0|=n

I S´ecurit´e :

I Substitution rapide (⊕typiquement)

I G´en´erateur pseudo al´eatoire : impossible `a pr´edire

I Kerckhoffs : la s´ecurit´e repose sur le g´en´erateur de cl´e !

I Ex : LFSR, RC4 (Rivest), E0[Bluetooth],A5/1[GSM]

(4)

Syst`eme de chiffrement par blocs

(5)

D´ efinition du chiffrement par blocs

I On d´esigne par chiffrement par blocs (block-cipher en anglais), tout syst`eme de chiffrement (sym´etrique) dans lequel le message clair est d´ecoup´e en blocs d’une taille fix´ee, et chacun de ces blocs est chiffr´e.

I La longueurndes blocs et la taillel des cl´es sont deux caract´eristiques des syst`emes de chiffrement par blocs.

(6)

D´ ecoupage en blocs

I Le messagem`a chiffrer est d´ecoup´e en blocs denbits.

m=m1m2...mk.

I Si la longueur du message n’est pas un multiple de la longueur d’un bloc, on le compl`ete : c’est le bourrage ou padding en anglais.

Plusieurs techniques de bourrage existent.

(7)

Une technique de bourrage

I Une fa¸con de bourrer (RFC2040) consiste `a compl´eter le dernier bloc par autant d’octets que n´ecessaire, chaque octet ayant pour valeur le nombre d’octets ajout´es.

I Par exemple, s’il manque trois octets au messagem=o1o2o3o4o5

pour obtenir un bloc de huit octets, on ajoute trois octets ´egaux `a 3 o1 o2 o3 o4 o5 03 03 03

I S’il se trouve que la taille de la donn´ee `a chiffrer est un multiple de la taille d’un bloc, on ajoute un bloc entier dont chaque octet a pour valeur la taille en octet d’un bloc.

I Par exemple, pour des blocs de huit octets, on ajoute le bloc

(8)

Chiffrement it´ eratif

I Tous les syt`emes de chiffrement par blocs actuels suivent le sch´ema suivant

I Le bloc clair mest transform´er fois successivement `a l’aide d’une fonctionf qui d´epend d’une sous-cl´eki . Le chiffr´ec est le r´esultat de la derni`ere transformation.

c=f(...f(f(m,k1),k2), ...),kr).

r est appel´e nombre de tours ou de rondes.

(9)

Classes de chiffrements sym´ etriques (2)

Chiffrement sym´etrique par bloc (bloc cypher)

I M =M1×M2×...×Ms :s blocs der= ns bits

I S´ecurit´e :

I Pour chaque bloc :Ci=EK(Mi) d´epend deE

I Pour chaque message : d´epend aussi du mode de chiffrement !

I Ex : DES, AES, IDEA, BLOWFISH, RC6

(10)

Les modes de chiffrement

(11)

Objectifs des modes op´ eratoires

I Ils ne concernent que le chiffrement par bloc.

I Ils doivent masquer les blocs clairs identiques.

I Deux messages identiques chiffr´es avec la mˆeme cl´e ne donnent pas les mˆemes chiffr´es.

(12)

Les modes de chiffrement : Le mode ECB

I Mode ECB (Electronic Code Book)

I Chiffrement : chaque bloc clairmi est chiffr´e ind´ependamment et donne un bloc chiffr´eci =Ek(mi).

I D´echiffrement : chaque chiffr´e est d´echiffr´e ind´ependamment pour donner le clair correspondantmi =Dk(ci).

I Cons´equence : deux blocs clairs identiques donnent toujours le mˆeme bloc chiffr´e pour une cl´ekfix´ee.

I Aucune s´ecurit´e, pas d’utilisation

(13)

Les modes de chiffrement : Le mode CBC

I Mode CBC (Cipher Bloc Chaining)

I Chiffrement : un vecteur d’initialisationIV est g´en´er´e al´eatoirement.

ci =Ek(mi⊕ci−1).Le vecteurIV est transmis avec les blocs chiffr´es.

I D´echiffrement :mi =Dk(ci)⊕ci−1.

I Cons´equence : deux blocs clairs identiques chiffr´es diff´eremment.

I Mode le plus utilis´e

(14)

Les modes de chiffrement : Le mode OFB

I Mode OFB (Output FeedBack)

I Chiffrement : un vecteur d’initialisationIV est g´en´er´e al´eatoirement.

ci =ri⊕mi , o`ur0=IV et pouri≥1,ri =Ek(ri−1). Le vecteurIV est transmis avec les blocs chiffr´es.

I D´echiffrement :mi =ci⊕ri .

I Cons´equence : deux blocs clairs identiques chiffr´es diff´eremment.

I Remarque : c’est du chiffrement `a flot.

I Totalement sym´etrique

I Moins de cablage

I Utilis´e dans les satellites

(15)

Les modes de chiffrement : Le mode CFB

I Mode CFB (Cipher FeedBack)

I Chiffrement : un vecteur d’initialisationIV est g´en´er´e al´eatoirement.

ci =ri⊕mi,o`ur1=Ek(IV) et pouri ≥2,ri=Ek(mi−1⊕ri−1).Le vecteurIV est transmis avec les blocs chiffr´es.

I D´echiffrement :mi =ci⊕ri.

I Cons´equence : deux blocs clairs identiques chiffr´es diff´eremment.

I Moins sˆur, parfois plus rapide

I Utilis´e dans les r´eseaux

(16)

Les modes de chiffrement : Le mode CTR

I Mode CTR (CounTeR mode)

I Chiffrement :ci =ri⊕mi,o`ur1=Ek(cpt) et pouri≥2, ri =Ek(cpt+i−1).

I D´echiffrement :mi =ci⊕ri.

I Cons´equence : deux blocs clairs identiques chiffr´es diff´eremment.

(17)

Le DES

Partie tir´ee en partie dewww.commentcamarche.net/crypto/des.php3

(18)

Les standards de chiffrement par bloc

D.E.S (Data Encryption Standard) - 1977

I Standard am´ericain FIPS 46-2

I Chiffrement par blocs de 64 bits

I Cl´e de 64 bits dont 8 bit de parit´e :

I 56 bits effectifs (plaid´e par la NSA)

I Diversification en 16 sous-cl´es de 48 bits

I Structure g´en´erale :

I Permutation initialeIP

I 16 rondes de Feistel :

Li =Ri−1;Ri=Li−1⊕f(Ri−1,Ki)

I Permutation finaleIP−1

(19)

Les grandes lignes de l’algorithme sont les suivantes

I Fractionnement du texte en blocs de 64 bits (8 octets) ;

I Permutation initiale des blocs ;

I D´ecoupage des blocs en deux parties : gauche et droite, nomm´eesG etD;

I Etapes de permutation et de substitution r´ep´et´ees 16 fois (appel´ees rondes) ;

I Recollement des parties gauche et droite puis permutation initiale inverse.

(20)

L’algorithme du DES

(21)

Permutation initiale

Dans un premier temps, chaque bit d’un bloc est soumis `a la permutation initiale, pouvant ˆetre repr´esent´ee par la matrice de permutation initiale (not´ee PI) suivante :

PI

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

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

(22)

Scindement en blocs de 32 bits

Une fois la permutation initiale r´ealis´ee, le bloc de 64 bits est scind´e en deux blocs de 32 bits, not´es respectivementG etD (pour gauche et droite). On noteG0etD0l’´etat initial de ces deux blocs :

G0

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

D0

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

(23)

Rondes

Les blocsGn etDnsont soumis `a un ensemble de transformation it´eratives appel´ees rondes, explicit´ees dans ce sch´ema, et dont les d´etails sont donn´es plus bas :

(24)

Fonction d’expansion

Les 32 bits du blocD0sont ´etendus `a 48 bits grˆace `a une table (matrice) appel´e table d’expansion (not´eeE), dans laquelle les 48 bits sont

m´elang´es et 16 d’entre eux sont dupliqu´es : E

32 1 2 3 4 5

4 5 6 7 8 9

8 9 10 11 12 13

12 13 14 15 16 17

16 17 18 19 20 21

20 21 22 23 24 25

24 25 26 27 28 29

28 29 30 31 32 1

Ainsi, le dernier bit deD0 (c’est-`a-dire le 7`eme bit du bloc d’origine) 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 deD0(respectivement 57, 33,

(25)

OU exclusif avec la cl´ e

La matrice r´esultante de 48 bits est appel´eeD00 ou bienE[D0].

L’algorithme DES proc`ede ensuite `a un OU exclusif entre la premi`ere cl´e K1etE[D0]. Le r´esultat de ce OU exclusif est une matrice de 48 bits que nous appeleronsD0par commodit´e (il ne s’agit pas duD0de d´epart !).

(26)

Fonction de substitution

I D0est ensuite scind´e en 8 blocs de 6 bits, not´eD0i.

I Chacun de ces blocs passe par des fonctions de s´election (appel´ees parfois boˆıtes de substitution ou fonctions de compressionou encore boˆıtesS (S-box)), not´ees g´en´eralementSi.

I Les premiers et derniers bits de chaqueD0i d´etermine (en binaire) la ligne de la fonction de s´election, les autres bits (respectivement 2, 3, 4 et 5) d´eterminent la colonne.

I La s´election de la ligne se faisant sur deux bits, il y a 4 possibilit´es (0,1,2,3). La s´election de la colonne se faisant sur 4 bits, il y a 16 possibilit´es (0 `a 15).

I Grˆace `a cette information, la fonction de s´election ’s´electionne’ une valeur cod´ee sur 4 bits.

(27)

Fonction de substitution

Voici la premi`ere fonction de substitution, repr´esent´ee par une matrice de 4 par 16 :

0 1 2 3 4 5 6 7 8 9 10

0 14 4 13 1 2 15 11 8 3 10 6

1 0 15 7 4 14 2 13 1 10 6 12

2 4 1 14 8 13 6 2 11 15 12 9

3 15 12 8 2 4 9 1 7 5 11 3

11 12 13 14 15

0 12 5 9 0 7

1 11 9 5 3 8

2 7 3 10 5 0

(28)

Fonction de substitution

SoitD01´egal `a 101110. Les premiers et derniers bits donnent 10, c’est-`a-dire 2 en binaire. Les bits 2,3,4 et 5 donnent 0111, soit 7 en binaire. Le r´esultat de la fonction de s´election est donc la valeur situ´e `a la ligne num´ero 2, dans la colonne num´ero 7. Il s’agit de la valeur 11, soit en binaire 1011.

Chacun des 8 blocs de 6 bits est pass´e dans la fonction de s´election correspondante, ce qui donne en sortie 8 valeurs de 4 bits chacune.

(29)

Permutation

Le bloc de 32 bits obtenu est enfin soumis `a une permutationP dont voici la table :

P

16 7 20 21

29 12 28 17

1 15 23 26

5 18 31 10

2 8 24 14

32 27 3 9

19 13 30 6

22 11 4 25

(30)

Caract´ eristiques des boˆıtes S de DES

I Propri´et´es cryptanalytiques int´eressantes

I Non lin´eaire (substitution diff´erente de C´esar ou Vernam) : pas d’attaque simple

I Sp´ecialement con¸cues pour contrer la cryptanalyse diff´erentielle [Coppersmith 94]

I Mˆeme de tr`es petites modifications des S -box peuvent affaiblir consid´erablement le chiffre

I A la base de controverse autour de DES

I cf secret entourant la g´en´eration de{Si}1≤i≤8et deP

(31)

OU Exclusif et It´ eration

I L’ensemble de ces r´esultats en sortie de P est soumis `a un OU Exclusif avec leG0de d´epart (comme indiqu´e sur le premier sch´ema) pour donnerD1,tandis que le D0initial donneG1.

I L’ensemble des ´etapes pr´ec´edentes (rondes) est r´eit´er´e 16 fois.

(32)

Permutation initiale inverse

A la fin des it´erations, les deux blocsG16 etD16sont ’recoll´es’, puis soumis `a la permutation initiale inverse :

PI−1

40 8 48 16 56 24 64 32

39 7 47 15 55 23 63 31

38 6 46 14 54 22 62 30

37 5 45 13 53 21 61 29

36 4 44 12 52 20 60 28

35 3 43 11 51 19 59 27

34 2 42 10 50 18 58 26

33 1 41 9 49 17 57 25

(33)

G´ en´ eration des cl´ es

I Etant donn´e que l’algorithme du DES pr´esent´e ci-dessus est public, toute la s´ecurit´e repose sur la complexit´e des cl´es de chiffrement.

I L’algorithme ci-apr`es montre comment obtenir `a partir d’une cl´e de 64 bits (compos´e de 64 caract`eres alphanum´eriques quelconques) 8 cl´es diversifi´ees de 48 bits chacune servant dans l’algorithme du DES :

(34)

G´ en´ eration des cl´ es

(35)

G´ en´ eration des cl´ es

I Dans un premier temps les bits de parit´e de la cl´e sont ´elimin´es afin d’obtenir une cl´e d’une longueur utile de 56 bits.

I La premi`ere ´etape consiste en une permutation not´eeCP−1 dont la matrice est pr´esent´ee ci-dessous :

57 49 41 33 25 17 9 1 58 50 42 34 26 18

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

14 6 61 53 45 37 29 21 13 5 28 20 12 4

(36)

G´ en´ eration des cl´ es

Cette matrice peut en fait s’´ecrire sous la forme de deux matriceGi etDi (pour gauche et droite) compos´ees chacune de 28 bits :

57 49 41 33 25 17 9

1 58 50 42 34 26 18

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

14 6 61 53 45 37 29

21 13 5 28 20 12 4

I On noteG0 etD0 le r´esultat de cette premi`ere permutation.

I Ces deux blocs subissent ensuite une rotation `a gauche, de telles fa¸cons que les bits en seconde position prennent la premi`ere position, ceux en troisi`eme position la seconde, ...

I Les bits en premi`ere position passent en derni`ere position.

(37)

G´ en´ eration des cl´ es

Les 2 blocs de 28 bits sont ensuite regroup´es en un bloc de 56 bits.

Celui-ci passe par une permutation, not´eeCP−2,fournissant en sortie un bloc de 48 bits, repr´esentant la cl´eKi.

14 17 11 24 1 5 3 28 15 6 21 10

23 19 12 4 26 8 16 7 27 20 13 2

41 52 31 37 47 55 30 40 51 45 33 48

44 49 39 56 34 53 46 42 50 36 29 32

Des it´erations de l’algorithme permettent de donner les 16 cl´es K1`aK16

utilis´ees dans l’algortihme du DES.

1 2 4 6 8 10 12 14 15 17 19 21 23 25 27 28

(38)

Caract´ eristiques de DES

I Apr`es 5 tours, chaque bit du chiffr´e d´epend de chaque bit du message en clair et de chaque bit de la clef.

I R´esultat du chiffrement statistiquement plat

I Quelques exemples d’utilsation :

I Cartes de cr´edit : UEPS (Universal Electronic Payment System)

I Protocole d’authentification sur r´eseaux : Kerberos

I Messagerie ´el´ectronique : PEM (Privacy-Enhanced Mail)

I Impl´ementation hardware ais´ee

I Op´eration facilement impl´ementables

I Puce sp´ecifique bas de gamme1 (≈60euros) :≈190Mo/s.

I Propri´et´e de completion et cl´es faibles (pas une menace) : DESK(M) =C⇒DESK0(M0) =C0

(39)

Cryptanalyse de DES

I Pr´ecalcul exhaustif

I Stocker le r´esultat de DES sur un texte choisi∀K

I Recherche exhaustive

I Chiffrer un texte connu jusqu’`a retrouver le chiffrement

I permet de connaˆıtre la clef

I Assez peu de progr`es au d´ebut - attaques sur 8/16 rondes (1975-1990)

I Cryptanalyse diff´erentielle (16 rondes) [Biham-Shamir 1990]

I Etude des diff´erences de chiffrement entre des textes similaires

I Permet de s´electionner des clefs probables

I Cryptanalyse lin´eaire (16 rondes) [Matsui 1993]

(40)

Complexit´ e et coˆ ut des attaques sur DES

M´ethode d’attaque Texte connu Texte choisi Stock. Calculs

Pr´ecalcul exhaust. 1 256 1 tableau

Rech. exhaust. 1 255

Crypta. diff. 247 puis 236 Text. 247 puis 236

Crypta. lin. 255 247 Text. 247

(41)

Coˆ ut des attaques sur DES en 1996

Attaquant Budget Outil Cl´e 56 bits Hacker 300 euro Soft circuit 38 ans

PME 7500 euro Circuit 18 mois

Gde Entreprise 225 Keuro Circuit ASIC 19 j. 3 h

Multinationale 7,5 Meuro ASIC 6 min

Gouvernement 225 Meuro ASIC 12 s

(42)

Et aujourd’hui ?

I Probl`eme du DES : cl´e devenu trop petite !

I cassable en 8h avec 100 PCs (256≈7,2×1016) 7,2×1016

109×3600×24×100≈8heures

I Solution 1 : double DES ?

I C =E2(E1(M))etM =D1(D2(C))

I Pb : cassage effectif le rend seulement 56 fois plus difficile que DES et non 256 fois

I Solution 2 : triple DES ?

I 3 clefs :C=E1(E2(E3(M))) etM=D3(D2(D1(C)))

I 2 clefs :C=E1(D2(E1(M))) etM=D1(E2(D1(C)))

I retombe sur DES siK2==K1

I Clef moins longue et s´ecurit´e effective identique

I Attaque similaire double DEScl´e effective 112 bits

I CC : Triple DES double seulement la s´ecurit´e !

(43)

TDES, une alternative au DES

I En 1990 Eli Biham et Adi Shamir ont mis au point la cryptanalyse diff´erentielle qui recherche des paires de texte en clair et des paires de texte chiffr´ees. Cette m´ethode marche jusqu’`a un nombre de rondes inf´erieur `a 15, or un nombre de 16 rondes sont pr´esentes dans l’algorithme pr´esent´e ci-dessus.

I D’autre part, mˆeme si une cl´e de 56 bits donne un nombre ´enorme de possibilit´es, de nombreux processeurs permettent de calculer plus de 106 cl´es par seconde, ainsi, utilis´es parall`element sur un tr`es grand nombre de machines, il devient possible pour un grand organisme (un Etat par exemple) de trouver la bonne cl´e...

I Une solution `a court terme consiste `a chaˆıner trois chiffrement DES

`

a l’aide de deux cl´es de 56 bits (ce qui ´equivait `a une cl´e de 112

(44)
(45)

Le Triple-DES

I Le TDES permet d’augmenter significativement la s´ecurit´e du DES, toutefois il a l’inconv´enient majeur de demander ´egalement plus de ressources pour les chiffrement et le d´echiffrement.

I On distingue habituellement plusieurs types de chiffrement triple DES :

I DES-EEE3 : 3 chiffrements DES avec 3 cl´es diff´erentes ;

I DES-EDE3 : une cl´e diff´erente pour chacune des 3 op´erations DES (chiffrement, d´echiffrement, chiffrement) ;

I DES-EEE2 et DES-EDE2 : une cl´e diff´erente pour la seconde op´eration (d´echiffrement).

(46)

L’AES

Partie tir´ee en partie dehttp://fr.wikipedia.org/wiki/AES

(47)

RijmenDaemen

(48)

Advanced Encryption Standard - AES (2000)

I 1996 : Evaluation DES⇒Il faut un remplacant !

I 1997 : Appel `a candidature international

1. Rijndael (Daemen,Rijmen BE) 10/12/14 rondes Bloc : 128 bits ; Cl´e : 128/192/156 bits

2. Serpent (Anderson,Biham,Knudsen UK) 32 rondes Bloc : 128 bits ; Cl´e : 128/192/156 bits (en fait :n= 8x ∈[0,2048])

3. Twofish (Schneier et al US) 16 rondes Bloc : 128 bits ; Cl´e : 128/192/156 bits

4. RC6 (Rivest US) 20 rondes Bloc : 128 bits ; Cl´e : 128/192/156 bits (en fait :n= 8x ∈[0,2048])

5. MARS (Coppersmith/IBM US) 16 rondes Bloc : 128 bits ; Cl´e : 128 !448 bits (128+32k bits)

I 2000 : Standard NIST : AES-Rijndael

(49)

Les conventions dans AES

I Entr´ee - Sortie : blocs de 128 bits (Nb= 4)

I Cl´e : 128, 192 ou 256 bits (Nk = 4, 6 ou 8)

I Nb rondesNr : d´epend deNb etNk (Nr∈ {10,12,14})

I 1 octet = ´el´ement du corps fini `a 256 ´el´ementsF256

(50)

AES-Rijndael

I Standart NIST 2000 ;

I Bloc : 128 bits ; Cl´e : 128/192/256 bits

I Structure g´en´erale :

I AddRoundKey Addition initiale de cl´e

I Nr−1 rondes, chacune constitu´ees de 4 ´etapes :

I SubBytes : substitution non-lin´eaire via S-Box.

I ShiftRows : transposition matricielle par d´ecalage `a gauche

I MixColumns : produit matriciel sur colonne

I AddRoundKey Addition avec les octets des sous-cl´e

I FinalRound : ronde finale (sans MixColumns)

(51)

Etape SubBytes

I Substitution de chaque ´el´ement de la matrice via une SBox

I SBox d´erive de la fontion inverset :a→a−1 surF256.

I fonction bien connue pour sa non-lin´earit´e

I on combine avec une transformation affine inversiblef :

I SBox[a] =f(t(a))∀aF256

I SBox−1[a] =t−1(f−1(a)) =t(f−1(a))∀aF256

(52)

Etape Shiftrows

I Op´eration sur les lignes de matrice

I La lignei est d´ecal´e deCi ´el´ements `a gauche

I Le nombre de d´ecalage d´epend deNb(Rijndael) :

I Op´eration inverse : la lignei est d´ecal´ee `a droite deCi ´el´ements.

(53)

Etape MixColumns

I Operation sur les colonnes de la matrice

I Consid´er´e un polynˆome a(x) de degr´e 3 dansF256[X]

I R´ealise l’op´eration : (03x3 +x2 +x+ 02)×a(x) mod (x4 + 1)

I Bonne propri´et´es de diffusion cryptographique

(54)

Etape MixColumns

−1

I idem mais en utilisant la multiplication par d(x) =c−1(x)

I (03x3 +x2 +x+ 02)×d(x) = 01 mod (x4+ 1)

I d(x) = 0Bx3 + 0Dx2 + 09x+ 0E

(55)

Etape MixColumns

−1

I Addition matricielle dansF256avec une sous-cl´e

(56)

S´ ecurit´ e de l’AES

I Propri´et´es cryptanalytiques

I SBox : sans point fixe ni oppos´e, ni inverse

I ShiftRow diffuse les donn´ees en s´eparant les cons´ecutifs

I MixColumn : chaque bit de sortie d´epend de tous les bits en entr´ee (code correcteur lin´eaire sur chaque colonne)

I Impl´ementations simple efficace

I FPGA : jusqu’`a 21.54 Go/s pour le chiffrement

I Cryptanalyse :

I Aucune attaque significative r´ev´el´ee

I MAIS seulement 5 ans de recherche

I (to be continued)

(57)

Quelques applications utilisant Rijndael

I SONET (Synchronous Optical NETwork)

I Routeurs Internet

I Switch Ethernet ATM (Asynchronous Transfert Mode)

I Communications Sattelites

I VPN (R´eseaux priv´es virtuels)

I T´el´ephonie mobile

I Transactions ´electroniques

(58)

Projets de standardisation/Recommendations

I NIST(National Institute of Standards and Technology) (US00)

⇒ AES-Rijndael (Bloc : 128 bits ; Cl´e : 128/192/256 bits) 25 cycles/octet sur un PIII/Linux.

I KICS (Korean Information and Communication Standards) (Cor´ee01)

⇒ SEED (Bloc : 128 bits ; Cl´e : 128 bits) 45 cycles/octet sur un PIII.

⇒ ARIA (proposition) (Bloc : 128 bits ; Cl´e : 128 bits) 37 cycles/octet sur un PIII.

(59)

Projets de standardisation/Recommendations (2)

I NESSIE (New European Schemes for Signatures, Integrity and Encryption)(EU03)

I Chiffrement sym´etriques par bloc :

MISTY1 (Bloc : 64 bits ; Cl´e : 128 bits) 47 cycles/octet sur un PIII/Linux.

AES-Rijndael

Camellia (Bloc : 128 bits ; Cl´e : 128/192/256 bits) 35 cycles/octet sur un PIII/Linux.

SHACAL-2 (Bloc : 256 bits ; Cl´e : 512 bits) 44 cycles/octet sur un PIII/Linux.

I Fonctions de hachage `a sens unique

Whirlpool

SHA-256, SHA-384 et SHA-512 (clairvoyant ! cf SHA-1)

(60)

Projets de standardisation/Recommendations (3)

I CRYPTREC (Cryptography Research and Evaluation Committee) (Jap03)

I Chiffrement sym´etrique (blocs : 64 bits, cl´e≥128 bits) :

CipherUnicorn-E, Hierocrypt-L1, MISTY1, Triple DES

I Chiffrement sym´etrique (blocs : 128 bits, cl´e≥128 bits) :

AES, Camelia, CipherUnicorn-A, Hierocrypt-3, SC2000

I Chiffrement symetrique par flot :

Mugi, Multi-S01, RC4

I Fonctions de hachage `a sens unique

RIPEMD-160, SHA-1, SHA-256/384/512

(61)

Principe g´ en´ eral de la cryptanalyse statistique sur les chiffrements par bloc

1. Etude d’une version r´eduite en ronde

2. Etude la propagation de propri´et´e non al´eatoire `a travers les rondes 3. Etre capable de d´etecter un chiffr´e d’une permutation al´eatoire 4. Ajouter quelques roundes en d´ebut/fin tout en assurant la

d´ecouverte de la cl´e

5. Compromis entre compl´exit´e des donn´ees et temps d’analyse

(62)

Illustration sur des ´ etudes de cas

I FEAL-4 (Fast Data Encipherment Algorithm - Miyagushi 87)

I 4 tours, blocs et cl´e de 64 bits

I 88 : 100 `a 10000 textes choisis

I 90 : 20 textes choisis

I 92 : 5 textes connus

I FEAL-8/FEAL-N/FEAL-NX (Miyagushi 90)

I 90 : 20.000 textes choisis (D´ecouverte cryptanalyse diff´erentielle !)

I 92 : 215 textes connus (D´ecouverte cryptanalyse lin´eaire !)

I 96 : 12 textes choisis

I IDEA (8 rondes) (Lai, Massey 91)

I Blocs de 64 bits, cl´e de 128 bits, 8 rondes

I 90 : PES ; 91 : PES cass´e⇒IPES=IDEA

I 93 : Cassage sur 2 rondes

I 97 : Cassage sur 3 rondes

I 2003 : Cassage sur 5 rondes (224textes clairs)

Références

Documents relatifs

Le présent document spécifie les conventions pour l’utilisation de l’algorithme de chiffrement de contenu de la norme de chiffrement évoluée (AES, Advanced Encryption Standard)

Objectif : Bob souhaite envoyer des données chiffrées à Alice en lui garantissant qu'il en est l'expéditeur. Bob et Alice créent une paire de clés asymétriques. Ils conservent la

Le chiffrement affine est une méthode de cryptographie basée sur un chiffrement par substitution mono- alphabétique, c'est-à-dire que la lettre d'origine n'est remplacée que par

Lui seul, dans la nature, est incapable de supporter la monotonie, lui seul veut à tout prix que quelque chose arrive, n'importe quoi.. Par là, il se montre indigne de son ancêtre:

Dans le cas extrême où la clé est de longueur égale à celle du message, et n'est utilisée qu'une seule fois, tous les textes de longueur égale à celle du message chiffré

attaque contre le chiffrement E0 et le mode particulier utilisé dans Bluetooth en 2 40 avec 2 35 frames. Si pas de code PIN, pas d’authentification

Montrer que 1 est la plus grande valeur propre de U et que toutes les valeurs propres de U sont de module inf´erieur ou ´egal `a 1.. Prouver que la suite d’endomorphismes U n

Pour simplifier les notations on identifie les ´ el´ ements de Z /n Z avec les en- tiers 0, 1,.. Le syst` eme de chiffrement utilis´ e par Alice et Bob est un syst` eme