48
Introduction Pr´ esentation de l’AES Performances L’AES Advanced Encryption Standard ´ Eric Wegrzynowski Licence et Master mention informatique, USTL 12 mars 2009 ´ Eric Wegrzynowski Licence et Master mention informatique, USTL L’AES

L'AES - Advanced Encryption Standard · IntroductionPr esentation de l’AESPerformances L’AES Advanced Encryption Standard Eric Wegrzynowski Licence et Master mention informatique,

  • Upload
    dohanh

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

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