l'aes - advanced encryption standard · introductionpr esentation de l’aesperformances...
Post on 26-May-2018
217 Views
Preview:
TRANSCRIPT
Introduction Presentation de l’AES Performances
L’AESAdvanced Encryption Standard
Eric Wegrzynowski
Licence et Master mention informatique, USTL
12 mars 2009
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
1 Introduction
2 Presentation de l’AES
3 Performances
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Necessite d’abandonner le DES
Rappels
Le DES utilise des cles de 56 bits.
L’Electronic Frontier Foundation a reussi une rechercheexhaustive en 1998 sur une machine dont le cout est estime a200000$.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Necessite d’abandonner le DES
Rappels
Le DES utilise des cles de 56 bits.
L’Electronic Frontier Foundation a reussi une rechercheexhaustive en 1998 sur une machine dont le cout est estime a200000$.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Necessite d’abandonner le DES
Rappels
Le DES utilise des cles de 56 bits.
L’Electronic Frontier Foundation a reussi une rechercheexhaustive en 1998 sur une machine dont le cout est estime a200000$.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Necessite d’abandonner le DES
Rappels
Le DES utilise des cles de 56 bits.
L’Electronic Frontier Foundation a reussi une rechercheexhaustive en 1998 sur une machine dont le cout est estime a200000$.
⇒ le DES n’offre plus de securite suffisante.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Quelques dates
Sept 1997 Appel d’offre lance par le NIST (National Instituteof Standards and Technology) pour l’AES
Aout 1998 15 candidats retenus lors de la 1ere conference AES
Mars 1999 2eme conference AES
Avril 1999 le NIST annonce les 5 finalistes :Mars, RC6, Rijndael, Serpent, Twofish
Avril 2000 3eme conference AES
2 octobre 2000 et le vainqueur est Rijndael
Mai 2002 l’AES remplace le DES
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
1 Introduction
2 Presentation de l’AES
3 Performances
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
L’AES en quelques mots
Systeme propose par Joan Daemen et Vincent Rijmen,Katholieke Universiteit Leuven
Systeme de chiffrement symetrique (a cle secrete)
a l’origine par blocs de 128, 192 ou 256 bits, 128 bitsseulement pour l’AES
avec des cles de 128, 192 ou 256 bits
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
L’AES en quelques mots
Systeme propose par Joan Daemen et Vincent Rijmen,Katholieke Universiteit Leuven
Systeme de chiffrement symetrique (a cle secrete)
a l’origine par blocs de 128, 192 ou 256 bits, 128 bitsseulement pour l’AES
avec des cles de 128, 192 ou 256 bits
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
L’AES en quelques mots
Systeme propose par Joan Daemen et Vincent Rijmen,Katholieke Universiteit Leuven
Systeme de chiffrement symetrique (a cle secrete)
a l’origine par blocs de 128, 192 ou 256 bits, 128 bitsseulement pour l’AES
avec des cles de 128, 192 ou 256 bits
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
L’AES en quelques mots
Systeme propose par Joan Daemen et Vincent Rijmen,Katholieke Universiteit Leuven
Systeme de chiffrement symetrique (a cle secrete)
a l’origine par blocs de 128, 192 ou 256 bits, 128 bitsseulement pour l’AES
avec des cles de 128, 192 ou 256 bits
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Schema general de l’AES
CLE
EXPANSION
TO
UR
* r
TO
UR
r−
1
TO
UR
2
TO
UR
1BLOC CLAIR
Fig.: Schema general de Rijndael
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Nombre de tours
depend a la fois de la taille des blocs et de la cle
le nombre r de tours est donne par le tableau
Blocs128 192 256
Cle
s 128 10 12 14192 12 12 14256 14 14 14
Tab.: Nombre de tours dans Rijndael
Pour l’AES ne pas tenir compte des blocs de 192 et 256 bits.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Nombre de tours
depend a la fois de la taille des blocs et de la cle
le nombre r de tours est donne par le tableau
Blocs128 192 256
Cle
s 128 10 12 14192 12 12 14256 14 14 14
Tab.: Nombre de tours dans Rijndael
Pour l’AES ne pas tenir compte des blocs de 192 et 256 bits.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Nombre de tours
depend a la fois de la taille des blocs et de la cle
le nombre r de tours est donne par le tableau
Blocs128 192 256
Cle
s 128 10 12 14192 12 12 14256 14 14 14
Tab.: Nombre de tours dans Rijndael
Pour l’AES ne pas tenir compte des blocs de 192 et 256 bits.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Les etats dans l’AES
Etat = bloc vu comme un tableau de 4× Nb octets
Nb = |bloc|32 , Nb = 4 pour l’AES.
a0,0 a0,1 a0,2 a0,3
a1,0 a1,1 a1,2 a1,3
a2,0 a2,1 a2,2 a2,3
a3,0 a3,1 a3,2 a3,3
Tab.: un Etat pour un bloc de 128 bits
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Les etats dans l’AES
Etat = bloc vu comme un tableau de 4× Nb octets
Nb = |bloc|32 , Nb = 4 pour l’AES.
a0,0 a0,1 a0,2 a0,3
a1,0 a1,1 a1,2 a1,3
a2,0 a2,1 a2,2 a2,3
a3,0 a3,1 a3,2 a3,3
Tab.: un Etat pour un bloc de 128 bits
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Un tour de l’AES
Pas de schema de Feistel, mais . . .
Schema de substitution/permutation sur le bloc entier
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Un tour de l’AES
Pas de schema de Feistel, mais . . .
Schema de substitution/permutation sur le bloc entier
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Un tour de l’AES
Pas de schema de Feistel, mais . . .Schema de substitution/permutation sur le bloc entier
ET
AT
IN
TE
RM
ED
IAIR
E
CL
E d
u T
OU
R
AddRoundKey
ET
AT
SO
RT
IE
ET
AT
EN
TR
EE
SUB
STIT
UT
ION
NO
N L
INE
AIR
E
ByteSub
PER
MU
TA
TIO
NL
INE
AIR
EShiftRow
+ MixColumn
Fig.: Substitution/permutation d’un tour de Rijndael
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Substitution non lineaire ByteSub
Cette substitution (ByteSub) agit isolement sur tous les octets ai ,j
d’un etat en deux etapes
1 tout d’abord calcul de l’inverse de ai ,j dans le corps a 256elements F256
x = a−1i ,j
Si ai ,j = 0, on pose x = 0
2 puis transformation affine de l’octet x0BBBBBBBBB@
y0y1y2y3y4y5y6y7
1CCCCCCCCCA=
0BBBBBBBBB@
1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1 1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1
1CCCCCCCCCA
0BBBBBBBBB@
x0x1x2x3x4x5x6x7
1CCCCCCCCCA+
0BBBBBBBBB@
11000110
1CCCCCCCCCACalculs effectues dans F2.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Substitution non lineaire ByteSub
Cette substitution (ByteSub) agit isolement sur tous les octets ai ,j
d’un etat en deux etapes
1 tout d’abord calcul de l’inverse de ai ,j dans le corps a 256elements F256
x = a−1i ,j
Si ai ,j = 0, on pose x = 0
2 puis transformation affine de l’octet x0BBBBBBBBB@
y0y1y2y3y4y5y6y7
1CCCCCCCCCA=
0BBBBBBBBB@
1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1 1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1
1CCCCCCCCCA
0BBBBBBBBB@
x0x1x2x3x4x5x6x7
1CCCCCCCCCA+
0BBBBBBBBB@
11000110
1CCCCCCCCCACalculs effectues dans F2.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Substitution non lineaire ByteSub
Cette substitution (ByteSub) agit isolement sur tous les octets ai ,j
d’un etat en deux etapes
1 tout d’abord calcul de l’inverse de ai ,j dans le corps a 256elements F256
x = a−1i ,j
Si ai ,j = 0, on pose x = 0
2 puis transformation affine de l’octet x0BBBBBBBBB@
y0y1y2y3y4y5y6y7
1CCCCCCCCCA=
0BBBBBBBBB@
1 0 0 0 1 1 1 11 1 0 0 0 1 1 11 1 1 0 0 0 1 11 1 1 1 0 0 0 11 1 1 1 1 0 0 00 1 1 1 1 1 0 00 0 1 1 1 1 1 00 0 0 1 1 1 1 1
1CCCCCCCCCA
0BBBBBBBBB@
x0x1x2x3x4x5x6x7
1CCCCCCCCCA+
0BBBBBBBBB@
11000110
1CCCCCCCCCACalculs effectues dans F2.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Permutation lineaire
Elle est aussi composee de deux etapes
1 un decalage des lignes de l’etat courant (ShiftRow)
2 une transformation lineaire des termes de chaque colonne del’etat obtenu apres decalage (MixColumn)
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Permutation lineaire
Elle est aussi composee de deux etapes
1 un decalage des lignes de l’etat courant (ShiftRow)
2 une transformation lineaire des termes de chaque colonne del’etat obtenu apres decalage (MixColumn)
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Permutation lineaire
Elle est aussi composee de deux etapes
1 un decalage des lignes de l’etat courant (ShiftRow)
2 une transformation lineaire des termes de chaque colonne del’etat obtenu apres decalage (MixColumn)
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Permutation lineaire
Elle est aussi composee de deux etapes
1 un decalage des lignes de l’etat courant (ShiftRow)
2 une transformation lineaire des termes de chaque colonne del’etat obtenu apres decalage (MixColumn)
Remarque : la permutation du dernier tour n’inclut pas la secondeetape.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Decalages de lignes ShiftRow
Chaque ligne subit un decalage circulaire vers la gauche de Ci
positions, (Ci longueur du decalage de la ligne i).
La longueur des decalages depend de la taille des blocs etdonc du nombre de colonnes (Nb) d’un etat.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Decalages de lignes ShiftRow
Chaque ligne subit un decalage circulaire vers la gauche de Ci
positions, (Ci longueur du decalage de la ligne i).
La longueur des decalages depend de la taille des blocs etdonc du nombre de colonnes (Nb) d’un etat.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Decalages de lignes ShiftRow
Chaque ligne subit un decalage circulaire vers la gauche de Ci
positions, (Ci longueur du decalage de la ligne i).
La longueur des decalages depend de la taille des blocs etdonc du nombre de colonnes (Nb) d’un etat.
Nb C0 C1 C2 C3
4 0 1 2 3
6 0 1 2 3
8 0 1 3 4
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Mixage des colonnes MixColumn
Agit sur les colonnes de l’etat.
j-eme colonne de l’etat a−,j transformee en un vecteur b−,j
par multiplication par une matrice a coefficients dans F256
b0,j
b1,j
b2,j
b3,j
=
α 1 + α 1 11 α 1 + α 11 1 α 1 + α
1 + α 1 1 α
a0,j
a1,j
a2,j
a3,j
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Mixage des colonnes MixColumn
Agit sur les colonnes de l’etat.
j-eme colonne de l’etat a−,j transformee en un vecteur b−,j
par multiplication par une matrice a coefficients dans F256
b0,j
b1,j
b2,j
b3,j
=
α 1 + α 1 11 α 1 + α 11 1 α 1 + α
1 + α 1 1 α
a0,j
a1,j
a2,j
a3,j
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Mixage des colonnes MixColumn
Agit sur les colonnes de l’etat.
j-eme colonne de l’etat a−,j transformee en un vecteur b−,j
par multiplication par une matrice a coefficients dans F256
b0,j
b1,j
b2,j
b3,j
=
α 1 + α 1 11 α 1 + α 11 1 α 1 + α
1 + α 1 1 α
a0,j
a1,j
a2,j
a3,j
Calculs effectues dans le corps F256.α est une racine du polynome X 8 + X 4 + X 3 + X + 1.En hexa : 1 = 01, α = 02, 1 + α = 03.
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Ajout de la cle de tour AddRoundKey
derniere etape d’un tour
consiste en un ”xor” de l’etat courant et de la cle du tour
⇒ chaque cle de tour a la meme taille que celle du bloc achiffrer
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Ajout de la cle de tour AddRoundKey
derniere etape d’un tour
consiste en un ”xor” de l’etat courant et de la cle du tour
⇒ chaque cle de tour a la meme taille que celle du bloc achiffrer
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Ajout de la cle de tour AddRoundKey
derniere etape d’un tour
consiste en un ”xor” de l’etat courant et de la cle du tour
⇒ chaque cle de tour a la meme taille que celle du bloc achiffrer
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Cadencement des cles
Chaque tour demande une cle de taille egale a celle du bloc.
Le cadencement consiste donc en une expansion de la cle dechiffrement afin d’obtenir
(r + 1)× |Bloc| bits
r= nbre de tours
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Cadencement des cles
Chaque tour demande une cle de taille egale a celle du bloc.
Le cadencement consiste donc en une expansion de la cle dechiffrement afin d’obtenir
(r + 1)× |Bloc| bits
r= nbre de tours
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
1 Introduction
2 Presentation de l’AES
3 Performances
Eric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Performances de l’AES
1 Implantation sur un Pentium Pro 200Mhz, vitesse dechiffrement en Mb/s1
Tailles (cle, bloc) en C en Java
(128,128) 27 - 70.5 1.1(192,128) 22.8 - 59.3 0.93(256,128) 19.8 - 51.2 0.79
A titre de comparaison les meilleures implantations du DESatteignent 192 Mb/s, et le plus couramment 64Mb/s
2 Sur carte a puce (processeur Motorola 68HC08)
Tailles (cle, bloc) Nbre cycles RAM Taille code
(128,128) 8390 cycles 36 octets 919 octets(192,128) 10780 cycles 44 octets 1170 octets(256,128) 12490 cycles 52 octets 1135 octets
1source Rijmen & DaemenEric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
Introduction Presentation de l’AES Performances
Performances de l’AES
1 Implantation sur un Pentium Pro 200Mhz, vitesse dechiffrement en Mb/s1
Tailles (cle, bloc) en C en Java
(128,128) 27 - 70.5 1.1(192,128) 22.8 - 59.3 0.93(256,128) 19.8 - 51.2 0.79
A titre de comparaison les meilleures implantations du DESatteignent 192 Mb/s, et le plus couramment 64Mb/s
2 Sur carte a puce (processeur Motorola 68HC08)
Tailles (cle, bloc) Nbre cycles RAM Taille code
(128,128) 8390 cycles 36 octets 919 octets(192,128) 10780 cycles 44 octets 1170 octets(256,128) 12490 cycles 52 octets 1135 octets
1source Rijmen & DaemenEric Wegrzynowski Licence et Master mention informatique, USTL
L’AES
top related