Vous êtes sur la page 1sur 126

Cours de Cryptographie

(version pr eliminaire 2005/2006)

Daniel Barsky f evrier 2006

R esum e Le but de ce cours est une introduction ` a la cryptographie moderne utilis ee dans la transmission et le stockage s ecuris e de donn ees. Laccent mis sur les principes et les outils math ematiques utilis es (arithm etique, alg` ebre, algorithmique, complexit e, probabilit e, th eorie de linformation,..), ainsi que sur les protocoles. Les probl` emes informatiques, les produits et les normes sont d ecrits dans des cours plus appliqu es (r eseaux, s ecurit e r eseaux,...)

Table des Mati` eres


1 Introduction 1.1 Quest ce que la cryptographie . . . . . . . . . . . . . . . . . 1.2 Qualit es dun cryptosyst` eme . . . . . . . . . . . . . . . . . . . 2 Historique 2.1 Codes ` a r epertoire . . . . . . . . . . . . . 2.2 Codes de permutation ou de transposition 2.3 Codes de substitution . . . . . . . . . . . 2.3.1 Cryptanalyse des codes de C esar . . . 2.4 Le code de Vig en` ere . . . . . . . . . . . . 2.5 Chirement de Hill . . . . . . . . . . . . . 2.6 Commentaires historiques . . . . . . . . . 3 Quelques m ethodes de codage 3.1 Chirement en cha ne . . . . . 3.2 Codes ` a condentialit e parfaite 3.3 Registres ` a d ecalage . . . . . . 3.3.1 R egistres ` a d ecalages . . . 3.4 Lutte contre le brouillage . . . 5 6 7 9 9 10 12 13 13 15 15 17 17 17 18 19 20

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

4 S ecurit e dun cryptosyst` eme 22 4.1 Di erentes notions de s ecurit e . . . . . . . . . . . . . . . . . . 23 5 Les 5.1 5.2 5.3 5.4 5.5 codes modernes Objectifs des codes actuels . . . . Les familles de codes modernes . Codes sym etriques . . . . . . . . Codes asym etriques . . . . . . . Les echanges de clefs . . . . . . . 5.5.1 Protocole d echange de clefs 2 24 25 26 26 27 28 29

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

` TABLE DES MATIERES

6 Applications de la cryptographie 30 6.1 Quel cryptosyst` eme choisir . . . . . . . . . . . . . . . . . . . 31 6.2 Quelques utilisations de la cryptographie . . . . . . . . . . . . 31 6.3 Quelles math ematiques pour la cryptographie . . . . . . . . . 32 7 Codes ` a clefs secr` etes 7.1 Description de DES . . . . . . . . . . . 7.1.1 Quelques apects techniques de DES 7.2 Description dAES . . . . . . . . . . . . 7.2.1 Quelques apects techniques dAES . 7.3 Infrastructure des syst` emes ` a clef secr` ete 34 34 35 38 40 44 46 46 46 47 47 48 49 50 52 54 55 55 56 58 58 60 63 64 65 66 66 68 68 68 69 70

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

8 Codes ` a clefs publiques 8.1 Principe des codes ` a clef publique . . . . . . 8.1.1 Fonctions ` a sens unique . . . . . . . . 8.2 Le syst` eme RSA . . . . . . . . . . . . . . . 8.2.1 Description du cryptosyst` eme RSA . . 8.2.2 Protocole denvoi dun message en RSA 8.2.3 Protocole de signature RSA . . . . . . 8.2.4 Exemple acad emique de codes RSA . . 8.2.5 Exemple de code RSA . . . . . . . . . 8.2.6 S ecurit e du syst` eme RSA . . . . . . . 8.3 Le cryptosyst` eme El Gamal . . . . . . . . . 8.3.1 Description du cryptosyst` eme El Gamal 8.3.2 Signature El Gamal . . . . . . . . . . 8.3.3 S ecurit e du syst` eme EL Gamal . . . . . 8.3.4 Exemple acad emique de code El Gamal 8.4 Infrastructure des syst` emes ` a clef publique .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

9 Fonctions de Hachage 9.1 Construction des fonctions de hachage . . . . . 9.1.1 Attaques des anniversaires . . . . . . . . . 9.1.2 Exemple acad emique de fonction de hachage 9.1.3 Fonction de hachage standard . . . . . . . 10 Quelques protocoles cryptographiques 10.1 Protocoles de signature . . . . . . . . . . 10.1.1 Protocole de signature ` a clef priv ee . 10.1.2 Protocole de signature ` a clef publique 10.2 Protocoles de datation . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

` TABLE DES MATIERES 10.2.1 Protocole de datation . . . . . . . . 10.3 Signature avec fonction de hachage . . . . 10.4 Fonction de hachage et mot de passe . . . 10.5 Preuve sans transfert de connaissance . . 10.5.1 Preuve sans transfert de connaissances 10.5.2 Transfert inconscient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 71 72 73 74 75 77 77 77 78 80 81 82 83 84 86 86 88 89 92 100 102 104 104 113 117 120 121

11 Rappels Math ematiques 11.1 Th eorie de linformation . . . . . . . . . 11.1.1 Rappels de probabilit es discr` etes . . 11.1.2 Condentialit e parfaite . . . . . . . 11.1.3 Entropie . . . . . . . . . . . . . . 11.2 Th eorie de la complexit e . . . . . . . . . 11.2.1 D ecidabilit e . . . . . . . . . . . . 11.2.2 Complexit e algorithmique . . . . . 11.2.3 Algorithmes polynomiaux . . . . . 11.3 Rappels darithm etique . . . . . . . . . 11.3.1 La division euclidienne . . . . . . . 11.3.2 Plus Grand Commun Diviseur . . . 11.3.3 Algorithme du PGCD . . . . . . . 11.3.4 Les Congruences . . . . . . . . . . 11.4 Tests de primalit e . . . . . . . . . . . . 11.5 M ethode de factorisation . . . . . . . . . 11.6 Rappels dalg` ebre . . . . . . . . . . . . . 11.6.1 Anneau des polyn omes . . . . . . . 11.7 Courbes elliptiques . . . . . . . . . . . . 11.7.1 Courbes Elliptiques sur un corps ni Bibliographie Index

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

Chapitre 1
Introduction.

Le but du cours est de donner une introduction ` a la cryptographie moderne utilis ee dans la transmission et le stockage s ecuris e de donn ees. Apr` es un rapide historique de la cryptographie on examinera les principaux syst` emes cryptographiques actuellement utilis es Les codes par ots les codes bas es sur les registres ` a d ecalages les codes par blocs Les syst` emes ` a clef secr` etes ou sym etriques: AES avec un rappel sur DES et les syst` emes d eriv es Les syst` emes ` a clefs publiques ou asym etriques: RSA et El Gamal Laccent sera mis sur les principes et les outils math ematiques utilis es (arithm etique, alg` ebre, algorithmique, complexit e, probabilit e, th eorie de linformation,..). N eanmoins des protocoles seront d ecrits et on a ajout e une sensibilisation aux Infrastructure pour les Syst` emes ` a Clef Publique (Public Key Infrastructures) et au syst` emes de Management des Clefs Secr` etes (Symmetric Keys Management). La mise en oeuvre dun cryptosyst` eme ` a clef publique (public key infrastructure ou PKI) ainsi que celle dun cryptosyst` eme ` a clef secr` ete seront juste evoqu ees. Les probl` emes de mise en oeuvre informatique, les produits et les normes sont d ecrits dans des cours plus appliqu es (r eseaux, s ecurit e r eseaux,...). On emploiera indi eremment les mots cryptographie, chirement et m eme parfois codage. 5

CHAPITRE 1. INTRODUCTION

Ce cours sest beaucoup inspir e des cours de Fran cois Arnaux, [2], JeanLouis Pons, [14], et Guy Robin, [17], ainsi que des livres de Douglas Stinson ,[23], Neal Koblitz, [11], John Daemen et Vincent Rijmen, [6], Benne de Weger, [25] et Gilles Z emor, [27], ainsi que de celui de Simon Singh, [21], pour la partie historique.

1.1

Quest ce que la cryptographie.

La cryptographie ou science du secret est un art tr` es ancien, cest nalement lart de remplacer un secret encombrant par un secret miniature La cryptographie est lart de rendre inintelligible, de crypter, de coder, un message ` a ceux qui ne sont pas habilit es ` a en prendre connaissance. Le chire, le code est le proc ed e, lalgorithme, qui permet de crypter un message. La cryptanalyse est lart pour une personne non habilit ee, de d ecrypter, de d ecoder, de d echirer, un message. La cryptologie est lensemble form e de la cryptographie et de la cryptanalyse. La cryptologie fait partie dun ensemble de th eories et de techniques li ees ` a la transmission de linformation (th eorie des ondes electro-magn etiques, th eorie du signal, th eorie des codes correcteur derreurs, th eorie de linformation, th eorie de la complexit e,...). Un exp editeur Alice veut envoyer un message ` a un destinataire Bob en ` , et les attaques malveillantes de Martin. evitant les oreilles indiscr` ete dEve Pour cela Alice se met daccord avec Bob sur le cryptosyst` eme quils vont utiliser. Ce choix na pas besoin d etre secret en vertu du principe de Kerckho. Par exemple ils peuvent d ecider dutiliser un des syst` emes suivants un code par blocs (block-cipher) ` a clef publique ou code asym etrique. un code par blocs ` a clef secr` ete ou code sym etrique. un code par ots ou en continu (stream-cipher). Chacun de ces syst` emes d epend dun ou deux param` etres de taille assez r eduite (128 ` a 2048 bits) appel es la clef de chirement et la cl e de d echirement. Les clefs de chirement et de d echirement nont aucune

DUN CRYPTOSYSTEME ` 1.2. QUALITES

raison d etre identiques. Seule la clef de d echirement doit imp erativement etre secr` ete. Pour crypter le message M Alice le d ecoupe en blocs (xi )1in , de taille 1 pour des codes par ots, de taille 128 ` a 256 bits pour des codes par blocs comme AES. Alice transforme chaque bloc xi de texte en clair ` a laide de la fonction de chirement, eKC , d ependant dune clef de chirement, KC , en un bloc yi , le texte chir e. ` Lautre extr A emit e Bob d echire, d ecrypte le message cod e ` a laide la fonction de d echirement, dKD , d ependant dune clef de d ecryptage ou de d echirement, KD .

1.2

Qualit es dun cryptosyst` eme.

Alice veut etre certaine ` quune personne non-autoris ee (Eve) ne peut pas prendre connaissance de ses messages que ses messages ne sont pas falsi es par un attaquant malveillant (Martin) que le destinataire (Bob) a bien pris connaissance de ses messages et ne pourra pas nier lavoir re cu (non-r epudiation ) que son message nest pas brouill e par les imperfections du canal de transmission (cette exigence ne rel` eve pas du cryptage mais de la correction derreur) Bob veut etre certain que le message re cu est authentique cest ` a dire que le message na pas et e falsi e par un attaquant malveillant (Martin). que le messages vient bien dAlice (autrement dit quun attaquant (Oscar) ne se fait pas passer pour Alice, mascarade ) que lexp editeur (Alice) ne pourra pas nier avoir envoy e le message (non-r epudiation)

CHAPITRE 1. INTRODUCTION que le message nest pas brouill e (par les imperfections du canal de transmission ou par un brouillage intentionnel), autrement dit quil est identique ` a loriginal que lui a envoy e Alice.

Les qualit es demand ees ` a un syst` eme cryptographique sont r esum ees par les mots clefs suivants: Int egrit e des donn ees : le message ne peut pas etre falsi e sans quon sen aper coive Identit e des interlocuteurs du message: l emetteur est s ur de lidentit e du destinataire cest ` a dire que seul le destinataire pourra prendre connaissance du message car il est le seul ` a disposer de la clef de d echirement. Authentication , le receveur est s ur de lidentit e de l emetteur gr ace ` a une signature Non-r epudiation se d ecompose en 3 non-r epudiation dorigine l emetteur ne peut nier avoir ecrit le message non-r epudiation de reception le receveur ne peut nier avoir re cu le message. non-r epudiation de transmission l emetteur du message ne peut nier avoir envoy e le message.

Chapitre 2
Historique.

Il y avait historiquement deux grandes familles de codes classiques avec des hybrides Les codes ` a r epertoire Les codes ` a clefs secr` etes qui se subdivisent en deux familles les codes de transposition ou de permutation qui sont des codes par blocs. les codes de substitution qui peuvent etre des codes par blocs ou par ots On trouve des utilisations attest ees par des documents historiques comme par exemple Scytale ` a Sparte vers -450, (principe des codes de permutation). Code de Jules C esar vers -50, (principe des codes de substitution). Les codes ` a r epertoires, tr` es anciens ont et e utilis es intensivement jusquau d ebut du 20-i` eme si` ecle.

2.1

Codes ` a r epertoire.

Ces codes manquent de souplesse ils ne permettent pas de coder des mots nouveaux sans des echanges de codes entre lexp editeur et le destinataire ce qui accro t le risque de voir le code intercept e. Ils ne sont plus utilis es pour les usages publics. On peut par exemple cr eer le dictionnaire suivant: 9

10 rendez-vous 175 midi ` a vendre La phrase en clair:

CHAPITRE 2. HISTORIQUE demain oiseaux Villetaneuse au march e

RENDEZ VOUS DEMAIN MIDI VILLETANEUSE devient avec ce code ` VENDRE AU MARCHE 175 OISEAUX A Il faut donc disposer de distionnaires qui pr evoient toutes les possibilit es. Donc sauf si on se restreint ` a tranmettre des informations tr` es limit ees, la taille du dictionnaire saccroit d emesur ement. Au 19e si` ecle on avait ainsi pour des usages commerciaux ou militaires des dictionnaires de plusieurs milliers de mots de codes. Tous changement du code n ecessitait lenvoi de documents volumineux avec un risque dinterception non n egligeable.

2.2

Codes de permutation ou de transposition.

On partage le texte en blocs, on garde le m eme alphabet mais on change la place des lettres ` a lint erieur dun bloc (on les permute). Un exemple historique dont le principe est encore utilis e dans les codes ` a clef secr` ete (DES, AES) est la m ethode de la grille (principe de la scytale utilis e par les spartiates). On veut envoyer le message suivant: RENDEZ VOUS DEMAIN MIDI VILLETANEUSE Lexp editeur et le destinataire du message se mettent daccord sur une grille de largeur x ee ` a lavance (ici une grille de 6 cases de large). Lexp editeur ecrit le message dans la grille en rempla cant les espaces entre les mots par le symbole . Il obtient:
R D V A E V E M I N N O M I L E D U A D L U E S I I E S Z N T E

Il lit le texte en colonne et obtient ainsi le message crypt e:

2.2. CODES DE PERMUTATION OU DE TRANSPOSITION R D VAEVEMINNOMILEDUADLUESIIESZ N TEC

11

Pour augmenter la s ecurit e les deux interlocuteurs peuvent d ecider lajout dune clef. Le but est de pouvoir changer facilement le cryptage dun message tout en gardant le m eme algorithme de codage. Pour cela on rajoute une cl e secr` ete constitu ee par lordre de lecture des colonnes. Exemples 1. On choisit la cl e: CAPTER On num erote les colonne en fonction du rang des lettres du mot CAPTER dans lalphabet cest ` a dire 2, 1, 4, 6, 3, 5 et on lit les colonnes dans lordre indiqu e. EVEMINR D DADUADLUZ N TENOMILEESIIES On a 6! codes di erents. Pour d ecoder le message pr ec edent on range en colonne sur la grille en suivant lordre des colonnes donn e par le mot de code

E V E M I N R D V A E V E M I N

E V D E = M V I A N N D E O U S M A I I D I L L E E U S

D U A D L U Z N T E

On a aaire a ` un code ` a clef secr` ete ou code sym etrique car la clef de d ecodage est la m eme que la clef de codage.

12

CHAPITRE 2. HISTORIQUE

2.3

Codes de substitution.

Dans les codes de substitution par ots ou par blocs lordre des lettres est conserv e mais on les remplace par des symboles dun nouvel alphabet suivant un algorithme pr ecis. Exemples 2. Code de C esar : Pour coder on remplace chaque lettre par son rang dans lalphabet. A=1, B=2, C=3,....,M=13, N=14,...,S=20,...,X=24, Y=25, Z=26 Dapr` es Suetone, Vie des douze C esars, Jules C esar pendant la guerre des Gaules avait utilis e le code de substitution par ot suivant lettre cod ee=lettre claire+3 modulo 26 Le message en clair RENDEZ VOUS DEMAIN MIDI VILLETANEUSE devient UHQGHC YRXV GHPDLQ PLGL YLOOHWDQHXVH Avantage: on peut consid erer toute la famille des codes lettre cod ee=lettre claire+n modulo 26 o` u n est un entier entre 0 et 25 appel e la clef du code. Avec la clef n = 7 le texte cod e du message pr ec edent devient: YLUKLG CVBZ KLTHPU TPKP CPSSLAHULBZLBZL Le d ecodage se fait en utlisant la relation lettre claire=lettre cod ee -n mod 26

On a encore aaire ` a un code en continu ou par ot sym etrique ou ` a clef secr` ete.

ERE ` 2.4. LE CODE DE VIGEN

13

2.3.1

Cryptanalyse des codes de C esar.

On consid` ere un message cod e avec une substitution monoalphab etique:


JTVMNKKTVLDEVVTLWTWITKTXUTLWJERUTVTWTHDXATLIUNEWV. JTVIEVWELOWENLVVNOEDJJTVLTPTXYTLWTWUT SNLITTVQXTVXUJXWEJEWTONKKXLT.

D ecodage par analyse de fr equence . Analyse de fr equence


Lettre A B C D E F G H I J K L M % fran cais 9,4 1,0 2,6 3,4 15,9 1 1 0,8 8,4 0,9 0 5,3 3,2 % texte 1 0 0 2,5 8 0 0 1 3,8 5,1 4,7 9 1 Lettre N O P Q R S T U V W X Y Z % fran cais 7,2 5.1 2,9 1,1 6,5 7,9 7,3 6,2 2,1 0 0,3 0,2 0,3 % texte 5 2,5 1 1 1 1 20 4,5 12 9,9 6 1 0

On peut donc faire lhypoth` ese que T=E puis que V=S (` a cause des lettres doubl ees) puis que les voyelles A, I, O, U correspondent ` a D,E, N, X et nalement on obtient la correspondance A D N L B R O N C O P P D I Q Q E T R U F S S V G H T W H M U X I E V Y J F W Z K G X A L J Y B M K Z C

2.4

Le code de Vig en` ere.

La faiblesse des codes de C esar et des syst` emes analogues est que la fr equence des lettres est conserv ee ce qui permet une cryptanalyse ais ee par analyse de fr equences. Pour am eliorer la s ecurit e on peut faire un code de C esar par blocs dans lequel on change de substitution pour chaque lettre dun bloc. On obtient

14

CHAPITRE 2. HISTORIQUE

ainsi le code de Vig en` ere , mis au point par Leon Batista Alberti au 15-i` eme si` ecle et d evelopp e par Blaise de Vig en` ere. Tr` es s urs pendant 4 si` ecles. Ils ont et e cryptanalys es ociellement par Charles Babbage et Friedrich Wilhelm Kasiski au 19-i` eme si` ecle. Le code de C esar et le code de substitution sont des codes monoalphab etiques . Le code de Vig en` ere est un code polyalphab etique ou par blocs . On se xe une longueur de bloc m. On d ecoupe le message en blocs de m-lettres. On chire par blocs de m lettres. On d ecide par exemple que la premi` ere lettre dun bloc de m est cod ee avec un code de C esar de clef n1 , la deuxi` eme avec un code de C esar de clef n2 et la m-i` eme par un code de C esar de clef nm . Exemples 3. m = 5, n1 = 3, n2 = 14, n3 = 7, n4 = 22, n5 = 19, le message en clair est: M = Ce syst` eme de codage nest pas s ur, mais plus que le code de C esar si la cl e est longue . on partage en blocs de taille 5 en partant de la gauche CESYS TEMED ECODA GENES TPASS URMAI SPLUS QUELE CODED ECESA RSILA CLEES TLONG UEXXX Les XXX ont et e ajout es pour compl eter le dernier bloc. La mani` ere de compl eter le dernier bloc peut etre une faiblesse du code. Le message cod e devient: e(M )= FSZUL WSTAW HQVZT JSUAL WDHOL XFTWB VDSQL TILHX FCKAW HQLOT UGPHT FZLAL WZVJZ XSETQ La cryptanalyse du cryptosyst` eme de Vig en` ere peut se faire, si le message est assez long, ` a texte chir e connu, cf. le chapitre 4, en remarquant que des r ep etitions de lettres assez longues (3 au moins) doivent correspondre dans le texte clair ` a des r ep etitions de lettres aussi. Ceci permet de majorer la taille de la cl e. On se ram` ene alors ` a la cryptanalyse dun chirement de C esar.

2.5. CHIFFREMENT DE HILL

15

Ici compte tenu de la longueur du texte on trouve les doublets AW et AL eloign es de 40 lettres et 45 lettres dont le PGCD est 5 ce qui sugg` ere une clef de longueur 5. Une fois que lon a d etermin e la longueur de la clef, le d ecodage est le m eme que celui de 5 codes de C esar.

2.5

Chirement de Hill.

Ce cryptosyst` eme g en eralise celui de Vig en` ere. Il a et e publi e par L. S. Hill en 1929. On choisit un alphabet de n lettres (on prendra dans nos exemples n = 26) et une taille m pour les blocs, par exemple m = 2. Alors P = E = (Z/26Z)2 , (en g en eral Z/nZ). La clef de codage est une matrice inversible K GLm (Z/26Z), si m=2 a b GL2 (Z/26Z) K= c d Si (x1 , x2 ) Z/26Z
2

est le message clair alors le message cod e sera: a b c d = (ax1 + cx2 , bx1 + dx2 )

(y1 , y2 ) = eK ((x1 , x2 )) = (x1 , x2 )

La cl e de d echirage est la matrice inverse de K dans GLm (Z/26Z). Par exemple avec m = 2 et K = 11 8 3 7 alors K 1 = 7 18 . 23 11

Le cryptosyst` eme de Hill succombe facilement aux attaques ` a texte clair choisi.

2.6

Commentaires historiques.

Les m ethodes historiques pour authentier un message se retrouvent dans les cryptosyst` emes modernes On utilisait des messagers qui devaient echanger des signes de reconnaissance convenus (phrase de reconnaissance, lettres dintroduction, etc..) avec le destinataire pour authentier le messager, lexp editeur ou le destinataire, pour eviter les faux messages.

16

CHAPITRE 2. HISTORIQUE

Pour eviter la falsication du message on le mettait dans une enveloppe scell ee rev etue de cachets, le message lui-m eme etait sign e, l ecriture permettait elle aussi lauthentication du message, etc... Le destinataire pouvait parfois accuser r eception en guise de protocole de non r epudiation. La cryptanalyse a et e pratiqu ee depuis la plus haute antiquit e. Le code de C esar a et e cryptanalys e par les lettr es arabes du 9-i` eme si` ecle; Al Kindi a d ecrit la m ethode de lanalyse statistique. Tous les rois avaient leurs cryptographes-cryptanalystes (les Rossignol pour Louis XIV) et leur cabinet noir. Les rapports entre cryptographie et cryptanalyse sont analogues aux rapports entre blindage et artillerie. Le code de C esar a tenu 9 si` ecle, celui de Vigen` ere a tenu 4 si` ecles, le standard DES a tenu 20 ans. le standard RSA est en passe d etre supplant e par les codes elliptiques.

Chapitre 3
Quelques m ethodes de codage.

3.1

Chirement en cha ne.

Dans les syst` emes cryptographiques que nous avons d ecrits les el ements de texte clair sont chir es de la m eme mani` ere ` a partir de la clef K y = y1 y2 = eK (x1 )eK (x2 ) . . . On peut proc eder di eremment. On se donne une cl e K et pour chaque entier i une fonction fi (K, x1 , . . . , xi1 ) qui d epend de K et des blocs pr ec edents xi . La valeur Ki = fi (K, x1 , . . . , xi1 ) est la cl e utilis ee pour coder le i-i` eme bloc xi y1 y2 . . . = eK1 (x1 )eK2 (x2 ) . . .
texte cod e

Exemples 4. On prend P = E = Z/26Z, K = 8 et f1 (K ) = K eKi (xi ) = xi + Ki

Ki = fi (K, x1 , . . . , xi1 ) = xi1 ,

Le chirement est dit synchrone si f ne d epend pas des xi , il est dit asynchrone si f d epend eectivement des xi .

3.2

Codes ` a condentialit e parfaite.

La th eorie de linformation due ` a Claude Shannon permet de d enir un code a condentialit ` e parfaite, voir la dnition 11.1.6 page 79. Grossi` erement il sagit de codes tels que la connaissance du texte crypt e ne permette davoir aucune information sur le texte en clair. 17

18

CHAPITRE 3. QUELQUES METHODES DE CODAGE

De tels codes existent, ce sont les codes de Vernam ou codes ` a masques jetables , (1917). Ils reposent sur la fabrication de clefs au hasard aussi longues que le texte ` a coder et qui ne servent quune fois. La mise en oeuvre de ces codes est lourde et d elicate. La fabrication de clefs au hasard est un probl` eme tr` es dicile et mal r esolu. Le stockage et la transmission de ces cl es posent un probl` eme de s ecurit e. Ils sont rarement utilis es. Le principe de ces codes est le suivant. On tranforme le texte en une suite de chires en base b (souvent b = 2). On fabrique ensuite une suite al eatoire de chires de m eme longueur et lon ajoute les deux suites ainsi obtenues sans retenue, cest ` a dire que lon fait le calcul chire ` a chire modulo b. Exemples 5. On transforme les lettres de lalphabet en nombres de 1 ` a 26 donc ici b = 26 lettre cod ee lettre claire+lettre de la cl e mod 26 On code le message chiens qui comporte 6 lettres avec la clef KZUTEG (message=CHIENS) + (clef=KZUTEG) = NHDYSZ On constate que si lon avait envoy e le message cerise avec la cl e KCNPZC on aurait obtenu (message=CERISE) + (cl e=KCNPZC) =NHDYSZ Il est donc impossible de remonter au texte clair si on change de cl e al eatoirement ` a chaque fois. Cet exemple montre que la condentialit e est parfaite. Ces codes sont tr` es s ur. Mais leur mise en oeuvre est tr` es d elicate et ils sont tr` es lents.

3.3

Registres ` a d ecalage.

On a construit des codes par ots qui cherchent ` a imiter les codes de Vernam mais qui sont tr` es rapides et tr` es faciles ` a mettre en oeuvre an de pouvoir coder et d ecoder ` a la vol ee en temps r eel (T el evision,...). Une famille de tels codes est bas ee sur les registres ` a d ecalages ou suites r ecurrentes lin eaires sur un corps ni ou encore dans la terminologie anglosaxone les linear feedback register ou en abr eg e LFBR .

` DECALAGE 3.3. REGISTRES A

19

On fabrique avec les registres ` a d ecalage des suites pseudo-al eatoires pour g en erer la clef du code. Ces codes sont donc beaucoup moins s urs que les codes de Vernam mais ne n ecessitent pas la fabrication et la transmission dune clef al eatoire de la longueur du message ` a transmettre.

3.3.1

R egistres ` a d ecalage ou suites r ecurrentes lin eaires sur un corps ni.

Pour des raisons techniques le corps ni consid er e sera le corps ` a2 el ements F2 Z/2Z, cest ` a dire que F2 = {0, 1}, muni des deux lois + et 0 + 0 = 0, 1 + 0 = 0 + 1 = 1, 1 + 1 = 0 00=0 10=01=0 11=1 ces deux lois sont associatives et la loi + distributive par rapport ` a la loi , cest ` a dire: (a + b) + c = a + (b + c), (a b) c = a (b c), (a + b) c = (a c) + (b c). On se donne un entier m, la longueur de la r ecurrence, et des el ements

k1 , . . . , km Z/2Z,

les conditions initiales

c0 , . . . , cm1 Z/2Z les coecients de la r ecurrence On construit une suite d el ements (zi )iN de Z/2Z: z1 = k1 , . . . , zm = km , zm+1 = c0 zm1 + + cm1 zm
m1

zm+i = c0 zi + + cm1 zm1+i =


j =0

cj zj +i

Il est facile de montrer que la clef est p eriodique (il existe T tel que zi+T = zi pour i assez grand); mais si on choisit bien les ki et les cj la p eriode est grande devant m. Exemples 6. Exemple: m=4, (k1 , k2 , k3 , k4 ) = (1, 0, 0, 0) et zi+4 = (zi + zi+1 ) On v erie que la p eriode est 15. mod 2

20

CHAPITRE 3. QUELQUES METHODES DE CODAGE

On consid` ere alors le chirement en cha ne (synchrone ou asynchrone) dont la clef est K = z1 z2 . . . zn . . . . On code alors en eectuant un XOR sur le message avec la cl e K . Cest ` a dire quon fait une somme modulo 2 (sans retenue) dun bit du message et du bit de m eme rang de la clef. Exemples 7. Chirement en cha ne synchrone par XORisation: message : clef : message cod e: 10010111010011000 10100111010001011 00110000000010011

Ce type de codage se pr` ete tr` es bien au codage en temps r eel dimages, de sons. La clef peut etre construite par des registres ` a d ecalage qui peuvent etre facilement cabl es. Sous la forme indiqu ee ce syst` eme de codage est peu s ur ` a cause de son caract` ere lin eaire.. Pour le rendre plus s ur on utilise n registres ` a d ecalages que lon combine entre eux ` a laide dune fonction bool eenne non-lin eaire cest ` a dire une fonction non lin eaire, f , du corps ni ` a 2n - el ements F2n que lon identie avec un F2 -espace vectoriel de dimension n et ` a valeurs dans le corps ` a deux el ements F2 Z/2Z. Cette fonction est appel ee fonction de combinaison ou fonction de ltrage . On lui demande de satisfaire certains crit` eres cryptographiques. Remarquons que le cardinal de lensemble, Bn , des fonctions bool ennes de n 2 n F2 dans F2 est 2 et quil croit extr` emement vite n Bn 4 216 5 232 6 264 7 2128 8 2256

donc le choix de bonnes fonctions cryptographiques n ecessite des preuves math ematiques.

3.4

Lutte contre le brouillage.

Le canal de transmission dun message est souvent brouill e de mani` ere naturelle (parasites dus aux activit es humaines ou aux ph enom` enes naturels dans les transmissions electromagn etiques, hertziennes ou laires). Le stockage des donn ees se d egrade naturellement avec le temps (action des particules tr` es energiques, poussi` eres, rayures sur les CD et DVD, etc.). Pour lutter contre tous ces brouillages on dispose de la th eorie des codes correcteurs derreurs. elle est bas ee

3.4. LUTTE CONTRE LE BROUILLAGE sur la th eorie des espaces vectoriels sur un corps ni. sur la th eorie des polyn omes sur un corps ni. plus g en eralement sur la g eom etrie alg ebrique sur un corps ni. Exemples 8. Exemples de codes correcteurs derreurs

21

Lexemple le plus simple de code correcteur derreurs est la r ep etition du message un certain nombre de fois en esp erant que les parasites (suppos es al eatoires) naecteront pas toujours la m eme partie du message. Mais cette m ethode est lourde pour des messages longs et ralentit fortement la transmission des donn ees. Autre exemple de code correcteur derreurs: on suppose que le message est une suite de 0 et de 1 (des bits). On les groupe par paquets de 7 et on ajoute dans chaque paquet de 7 bits un huiti` eme bit (0 ou 1) de telle sorte que la somme de ces 8 chires soit paire (code de Hamming). Ce code rep` ere au plus une erreur dans chaque groupe de 8 bits.

Chapitre 4
S ecurit e dun cryptosyst` eme.

Le principe de Kerckho stipule que La s ecurit e dun cryptosyst` eme ne repose pas sur le secret du cryptosyst` eme mais seulement sur la clef du cryptosyst` eme qui est un param` etre facile ` a changer, de taille r eduite (actuellement de 64 ` a 2048 bits suivant le type de code et la s ecurit e demand ee) et donc assez facile ` a transmettre secr` etement. On suppose donc pour toutes les evaluation de s ecurit e dun cryptosyst` eme que lattaquant connait le syst` eme cryptographique utilis e, la seule partie secr` ete du cryptosyst` eme est la clef. Par exemple dans un cryptosyst` eme bas e sur des r egistres ` a d ecalage on suppose que lattaquant connait la forme des r ecurrences lin eaires ainsi que la fonction de combinaison mais pas les conditions intiales des r ecurrences qui constituent la clef du code. Les principaux types dattaques: attaque ` a texte chir e connu : lopposant ne connait que le message chiffr e y. attaque ` a texte clair connu : lopposant dispose dun texte clair x et du message chir e correspondant y attaque ` a texte clair choisi : lopposant a acc` es ` a une machine chirante. Il peut choisir un texte clair et obtenir le texte chir e correspondant y. attaque ` a texte chir e choisi : lopposant a acc` es ` a une machine d echiffrante. Il peut choisir un texte chir e, y et obtenir le texte clair correspondant x. 22

4.1. DIFFERENTES NOTIONS DE SECURIT E

23

4.1

Di erentes notions de s ecurit e dun cryptosyst` eme.

La s ecurit e inconditionnelle qui ne pr ejuge pas de la puissance de calcul du cryptanalyste qui peut etre illimit ee. La s ecurit e calculatoire qui repose sur limpossibilit e de faire en un temps raisonnable les calculs n ecessaires pour d ecrypter un message. La s ecurit e prouv ee qui r eduit la s ecurit e du cryptosyst` eme ` a un probl` eme bien connu r eput e dicile, par exemple on pourrait prouver un th eor` eme disant quun syst` eme cryptographique donn e est s ur si un entier donn e n ne p eut etre factoris e. La condentialit e parfaite qualit e des codes pour lesquels un couple (message clair, message chir e) ne donne aucune information sur la clef. Toutes ces notions de s uret e reposent sur la th eorie de linformation de Claude Shannon. Il a pu donner un sens pr ecis bas e sur les probabilit es ` a la premi` ere notion si lon pr ecise le type dattaques permises. Il a aussi donn e un sens pr ecis ` a la notion de condentialit e parfaite. La deuxi` eme notion repose sur la th eorie de la complexit e . Dans la pratique il faut pr eciser le type dattaque. Cest celle que lon utilise dans la plupart des applications.

Chapitre 5
Les codes modernes.

Tout dabord nous allons donner une descrition un peu formelle dun cryptosyst` eme D enition 5.0.1. Un cryptosyst` eme est un dictionnaire entre les messages en clair et les messages chir es. An de pouvoir travailler ecacement sur les codes et d enir de mani` ere quantitative leur s ecurit e on est amen e ` a les mod eliser et donc ` a d enir de mani` ere axiomatique un cryptosyst` eme. D enition formelle dun cryptosyst` eme D enition 5.0.2. Formellement un cryptosyst` eme est un quintuplet (P , C , K, E , D) o` u P est un ensemble ni de blocs : les mots en clair C est un ensemble ni de blocs: les mots cod es K est un ensemble : l espace des clefs Pour tout K K une r` egle de chirement eK E et une r` egle de d echirement correspondante dK D. Chaque eK : P C et dK : C P sont des fonctions telles que dK (eK (x))) = x pour tout x P Pour chaque K K (la clef du code) la transformation (bijective) eK est appel ee le proc ed e de chiffrement, ou l algorithme de codage, entre les textes en clair P et les textes cod es C . La fonction inverse dK de eK est appel ee la fonction de d ecodage. On exige que tout message cod e puisse etre d ecod e. 24

5.1. OBJECTIFS DES CODES ACTUELS Un code moderne est donc constitu e

25

Dun algorithme de chirement f = fKC , suppos e connu de tous, d ependant dun param` etre KC , la cl e de chirement. Lalgorithme est x e et public, seule la cl e change, principe de Kerckho. De la valeur de la cl e de chirement, KC qui est secr` ete ou non suivant que lon a aaire ` a un code ` a clef secr` ete ou ` a un code ` a clef publique. Dun algorithme de d echirement g = gKD = f 1 (suppos e connu de tous) d ependant dune cl e de d echirement, KD , di erente ou non de KC . De la valeur de la cl e de d echirement, KD , qui est toujours secr` ete.

5.1

Objectifs des codes actuels.

Les messages ne peuvent etre d echir es que par le destinataire (condentialit e des donn ees). Ils ne peuvent etre modi es par un tiers non autoris e (int egrit e des donn ees). Lidentit e des di erents participants peut etre v eri ee (authentication). Lexp editeur ne peut nier avoir emis le message et le destinaire ne peut nier lavoir re cu (non-r epudiation des donn ees). Il doit permettre de coder et d ecoder rapidement (en temps r eel pour certaines applications). Il doit au moins r esister aux attaques connues et si possible avoir une s ecurit e prouv ee. Il nexiste pas de codes qui r eunissent toutes ces qualit es simultan ement. Il faut donc un compromis adapt e` a chaque situation.

26

CHAPITRE 5. LES CODES MODERNES

5.2

Les familles de codes modernes.

Les principales familles de codes modernes sont Les codes par ot (registres ` a d ecalage) les codes par blocs les codes sym etriques (ou ` a cl e secr` ete). les codes asym etriques (ou ` a cl e publique)

Les codes ` a clef publique sont bas es sur la notion de fonction ` a sens unique.

5.3

Codes sym etriques.

Les principes des codes sym etriques commerciaux modernes du type DES (Data Encrytion Standard) ont et e mis au point dans les ann ees 1970 par IBM avec laide de la NSA (National Security Agency), ce sont des hybrides de codes de substitutions et de codes de transpositions. Ils restent tr` es s urs avec des cl es assez courtes de 128 bits ` a 256 bits. Leur s uret e est non prouv ee. Leur cryptanalyse a fait des progr` es (cryptanalyse lin eaire et di erentielle), ce qui permet de mieux cerner leur suret e. Les codes ` a cl e secr` ete sont les plus employ es actuellement car ils sont eprouv es, r esistants, rapides et assez facile ` a mettre en oeuvre. Actuellement leur s ecurit e est garantie (mais non prouv ee) avec des cl es assez courtes de 128 ` a 256 bits pour le standard actuel AES. Mais il faut echanger la cl e secr` ete avec le destinataire do` u un risque. Ils n ecessitent un grand nombre de cl es. Il faut n(n 1) 2 cl es pour que n interlocuteurs puissent echanger des informations do` u un probl` eme de fabrication et d echange de clefs ables. Ils ont du mal ` a r ealiser sans tiers de conance le partage des clefs, la signature, lauthentication, et la non r epudiation des messages transmis. Ils sadjoignent parfois un code asym etrique pour cela, voir le cryptosyst` eme PGP . La g en eration actuelle de codes sym etriques est le cryptosyst` eme AES d evelopp e dans les ann ees 2000 ` a la suite dun appel dore international par John Daemon et Vincent Rijmen, [6]. Il utilise dans sa conception nettement plus de math ematiques que son pr ed ecesseur le DES.

5.4. CODES ASYMETRIQUES

27

5.4

Codes asym etriques.

Les principes des codes asym etriques ont et e mis au point par Die et Hellman en 1976. Ils ont d egag e la notion de fonction ` a sens unique . Ce sont des fonctions qui sont faciles ` a calculer cest ` a dire calculable en temps polynomial en fonction de la taille des donn ees mais tel que limage r eciproque (les ant ec edents) dun el ement est tr` es dicile ` a calculer explicitement (au moins calculatoirement). Autrement dit on demande que la fonction inverse ne soit pas calculable en temps polynomial en fonction de la taille des donn ees. La premi` ere solution celle de Die, Hellmann et Merkle etait bas ee sur le probl` eme du sac ` a dos dont il a et e d emontr e que cest un probl` eme de type probl` eme de type NP (NP pour Non Polynomial). Cest donc un probl` eme dont la solution exige un calcul en temps non polynomial en fonction de la taille des donn ees, sous r eserve de la validit e de la conjecture P= NP. On peut donc esp erer quil permette de fabriquer un cryptosyst` eme orant une s ecurit e calculatoire elev ee. Malheureusement toutes les instances (r ealisations) de ce probl` eme ne sont pas de type NP. En particulier les r ealisations pratiques de Die, Hellmann et Merkle utilisaient des sacs ` a dos qui n etaient pas dans la classe NP. Leur cryptosyst` eme a succomb e` a lattaque des cryptanalystes (en particulier Shamir). Dans la solution suivante, 1978, le cryptosyst` eme RSA (Rivest-Shamir et Adleman ), la fonction ` a sens unique sous-jacente est la multiplication des entiers qui appartient ` a la classe P (P pour Polynomial) des probl` emes polynomiaux en temps. Sa fonction r eciproque la factorisation des entiers est actuellement dans la classe NP des probl` emes non polynomiaux en temps, cest un fait dexp erience pas un th eor` eme. Dautres solutions sont apparues peu apr` es: le syt` eme El Gamal, les codes bas es sur les courbes elliptiques. Les cryptosyst` emes asym etriques reposent sur des structures math ematiques elabor ees. Leur s uret e est bonne mais non prouv ee. Leur cryptanalyse d epend beaucoup des progr` es des math ematiques correspondantes. Sauf pour les codes elliptiques, ils n ecessitent des cl es longues (1024 ` a 2048 bits) pour avoir une s uret e equivalentes ` a celle dun cryptosyst` eme ` a clef secr` ete de 128 ` a 256 bits. Ils sont 1000 ` a 1500 fois plus lents. Mais ils permettent de r ealiser facilement les fonctionnalit es suivantes

28 partage des clefs, authentication int egrit e non r epudiation

CHAPITRE 5. LES CODES MODERNES

et bien dautres encore gr ace au fait que la clef est en fait constitu ee de deux clefs la clef de codage et la clef de d ecodage et que cette derni` ere est attach ee ` a une personne et la caract erise. Ils ne n ecessitent que n paires de cl es (une cl e secr` ete et une cl e publique) pour n interlocuteurs. On les utilise souvent pour la transmission des cl es secr` etes des codes sym etriques.

5.5

Les echanges de clefs.

Un probl` eme important rencontr e dans lutilisation dun cryptosyst` eme est l echange des clefs entre des interlocuteurs. Cest un des moments o` u la s ecurit e du cryptosyst` eme est la plus vuln erable. Rappelons que dans un cryptosyst` eme ` a clef secr` ete lorsque deux interlocuteur veulent converser il leur faut echanger une clef. Il faut donc autant de clefs quil y a de paires non ordonn ees dinterlocuteurs cest ` a dire pour n n(n 1) n interlocuteurs = . Le nombre de clefs ` a echanger entre n 2 2 interlocuteurs est donn e par le tableau suivant
nombre dinterlocuteurs 2 3 4 5 . . . 10 . . . 100 . . . 1000 . . . 1 000 000 nombre de cl es secr` etes 1 3 6 10 . . . 45 . . . 4950 . . . 499 500 . . . 499 999 500 000 nombre de cl es publiques 2 3 4 5 . . . 10 . . . 100 . . . 1 000 . . . 1 000 000

5.5. LES ECHANGES DE CLEFS

29

Par contre dans un syst` eme ` a clef publique il faut autant de paires de clefs quil y a dinterlocuteurs. Chaque interlocuteur dispose en eet dune clef publique pour le cryptage des messages qui lui sont adress es et dune clef priv ee pour le d ecryptage des messages quil re coit.

5.5.1

Protocole d echange de clefs.

Die, Hellmann et Merkle vers 1974 r esolvaient le probl` eme de partage dune cl e secr` ete sans envoi physique de la clef. Leur protocole est le suivant: 1. Alice et Bob choisissent dun commun accord sur une ligne non prot eg ee un grand nombre premier p. et un g en erateur de Z/pZ 2. Alice choisit a et calcule a = a (mod p) 3. Bob choisit b et calcule b = b (mod p) 4. Alice et Bob s echangent a et b
a (mod p) et Bob calcule b (mod p) 5. Alice calcule b a

On a
b a ab a b

(mod p)

cest la clef commune dAlice et Bob. ` intercepte la communication entre Pourquoi ce protocole est-il s ur? Si Eve Alice et Bob, elle peut lire les nombres a et b . Pour calculer la clef commune dAlice et de Bob, il faut quEve puisse en d eduire a et b cest ` a dire quelle puisse calculer le logarithme discret dans Fp . Pour linstant il nexiste pas dalgorithme rapide, cest ` a dire polynomial en temps en fonction de la taille des donn ees, pour calculer le logarithme discret dans Fp . Les meilleurs algorithmes connus sont sous-exponentiels , cf. la sous-section 11.4. Pour un premier p de lordre de 10500 il faut des mois, voire des ann ees, pour calculer un logarithme discret. Par contre cet echange de clef peut- etre soumis ` a dautres types dattaques.

Chapitre 6
Applications de la cryptographie.

Jusquau 20-i` eme si` ecle la cryptographie (l egale) etait essentiellement r eserv ee aux militaires et aux diplomates et accessoirement aux industriels et banquiers. Le d eveloppement des moyens de communications electromagn etiques facile a intercepter, des stockages de donn ` ees condentielles dans des sites assez faciles ` a p en etrer et sur des supports (bandes ou disques, magn etiques optiques) faciles ` a dupliquer ont g en er e une demande de cryptosyst` emes s urs faciles demploi et rapides pour des usages civils et commerciaux. Les codes sym etriques ou ` a clefs secr` etes, type DES (Data Encryption Standard), IDEA (International Digital Encryption Algorithm), AES (Advanced Encryption Standard) ont et e cr e es pour couvrir ces besoins. Lapplication premi` ere de la cryptographie est et reste encore la transmission s ecuris ee de donn ees sensibles. Le commerce en ligne, la consultation des donn ees bancaires sur internet, le paiement par carte bancaire ont entra n e une explosion de lutilisation de la cryptographie mais ont aussi une extension de ses applications. Cette extension a et e facilit ee par la mise au point des proc ed es de transferts de clefs de Die et Hellman et des codes asym etriques ou ` a clefs publiques de type RSA ou El Gamal. Les codes ` a clef publique permettent de r esoudre avec des protocoles l egers les questions de transfert de clefs, didentication, dauthentication, de signature entre correspondants. Aujourdhui les plus gros utilisateurs de cryptosyst` emes sont les institutions nanci` eres (banques, bourses,...), les t el ecommunications (t el ephonie mobile,WIFI, Internet,...), les sites dachats en ligne,... 30

` 6.1. QUEL CRYPTOSYSTEME CHOISIR

31

Il est probable que le tatouge (watermarking ) des donn ees num eriques ainsi que la gestion des droits num eriques (digital right management ou DRM ) vont entra ner une demande accrue de cryptographie. Le mariage de la cryptographie et de la th eorie de la complexit e aboutit ` a des extensions spectaculaires du champ de la cryptographie classique. Ces nouvelles applications sont d evelopp ees au chapitre 10 page 68.

6.1

Quel cryptosyst` eme choisir.

Chacun des cryptosyst` emes existant codes par ots, codes par blocs ` a cl e secr` ete, codes ` a cl es publiques ont leurs avantages et leurs inconv enients. Ils ont chacuns des applications privil egi ees et sont souvent utilis es en association. Les codes par ots bas es sur les registres ` a d ecalage sont tr` es utilis es en t el ecommunications (t el evision ` a p eage), ` a cause de leur rapidit e. ils permettent de faire du codage et du d ecodage ` a la vol ee en temps r eel. Les codes par blocs ` a cl e secr` ete sont les plus employ es car ils r ealisent un excellent compromis entre rapidit e et s ecurit e. Ils ne n ecessitent que des clefs assez courtes pour un bon niveau de s ecurit e (128/256 bits). Par contre ils n ecessitent d echanger de nombreuses cl es secr` etes avec un risque pour la s ecurit e. On peut les associer ` a un cryptosyst` eme ` a clef publique pour echanger les clefs qui doivent etre chang ees tr` es r eguli` erement pour garder une bonne s ecurit e et ausi pour r ealiser les signatures et authentications. Les cryptosyst` emes asym etriques sont plus lents. Ils n ecessitent des cl es longues (1024/2048 bits) sauf les codes elliptiques (128/256 bits). Ils ne n ecessitent pas d echange de cl es secr` etes et permettent de r ealiser facilement des fonctionalit es tr` es utiles (signature, authentication, non r epudiation,...).

6.2

Quelques utilisations de la cryptographie.

La n ecessit e de pouvoir identier de mani` ere s ure: le titulaire dun compte en banque qui veut retirer de largent, ou qui paye par carte bancaire, un avion au moment de la proc edure datterrissage, un v ehicule suivi par GPS,

32

CHAPITRE 6. APPLICATIONS DE LA CRYPTOGRAPHIE sur un champ de bataille ses propres troupes et celles de lennemi,...

a entra n e le d eveloppement des protocoles didentication largement bas es sur les principes des codes asym etriques. La recherche dune s ecurit e accrue pour les sites s ecuris es de paiemant en ligne prote du d eveloppement des Les protocoles de preuves sans apport de connaissance. La signature aveugle. bas es sur la th eorie de la preuve sans apport de connaissance (zero-knowledge proof ). La n ecessit e de conserver lanonymat dans certaines situations (secret m edical par exemple, secret de la vie priv ee, etc..) peut etre assur e gr ace au Le transfert inconscient. Il y a encore bien dautres applications.

6.3

Quelles math ematiques pour la cryptographie.

Actuellement tous les cryptosyst` emes utilisent des math ematiques. Elles sont utilis ees aussi pour d enir et tester la s ecurit e des cryptosyst` emes. Logique: th eorie de la complexit e. Th eorie de linformation Probabilit es: pour la th eorie de linformation. Combinatoire (th eorie de graphes): construction de cryptosyst` emes asym etriques, preuves sans apport dinformation, partage de secret ` a seuil. Alg` ebre, corps nis, polyn omes sur un corps ni,... Th eorie des nombres (arithm etique modulaire, th eorie alg ebrique des nombres) : construction de cryptosyst` emes asym etriques (RSA, ElGamal), g en erateurs de nombres al eatoires. G eom etrie alg ebrique sur un corps ni: construction de cryptosyst` emes bas es sur les courbes elliptiques sur un corps nis, cryptosyst` emes bas es sur les codes correcteurs derreurs.

6.3. QUELLES MATHEMATIQUES POUR LA CRYPTOGRAPHIE 33 Algorithmique: mesure de la complexit e algorithmique, r ealisation pratique dalgorithmes performants. La r ealisation pratique des cryptosyst` emes repose sur une implantation informatique, leur degr e de s ecurit e, leurs performances en d ependent grandement.

Chapitre 7
Codes ` a clefs secr` etes.

Devant lexplosion des besoins de cryptage pour des donn ees non-classi ees (cest ` a dire non militaires et non diplomatiques) le National Bureau of Standards des Etats-Unis a lanc e un appel dore avec un cahier des charges en 1973. Cet appel dore a donn e naissance au cryptosyst` eme DES (Data Encrytion Standard ). Il a et e publi e en 1975 et adopt e par le NBS en 1977 comme standard de cryptage pour les applications non classi ees. Il reprend les principes et une partie du syst` eme de cryptage dIBM denomm e LUCIFER. Il est ` a la base dautres cryptosyst` emes plus r ecents comme IDEA, FEAL, CAST, RC5, BLOW-FISH. Il est remplac e aujourdhui par AES (Advanced Encrytion Standard ) de J. Daeme et V. Rijmen, bas e sur le m eme principe avec une cl e plus longue (128 ` a 256 bits), plus structur e et avec des fonctionnalit es plus etendues. AES a et e retenu en 2000 apr` es un appel dore international.

7.1

Description de DES.

Cest un syst` eme cryptographique produit , bas e sur un sch ema de Feistel . Il compose des op erations de cryptage, autrement dit il eectue un produit dop erations de cryptage. Il r ep ete 16 fois un algorithme la fonction d etage qui d epend dun param` etre la clef d etage . La r ep etition de cet algorithme m elange les bits du message en clair en respectant les principes de C. Shannon: confusion et diusion . La confusion gomme les relations entre le texte clair et le texte chir e pour eviter les attaques par analyse statistique. Autrement dit un 34

7.1. DESCRIPTION DE DES

35

changement dun seul bit dans le texte clair doit aecter un grand nombre de bits (tous) du texte chir e. La diusion disperse la redondance du texte clair dans le texte chir e, par exemple deux lettres doubl ees ne doivent pas rester c ote ` a c ote apr` es cryptage.

7.1.1

Quelques apects techniques de DES.

DES utilise une cl e K de 56 bits utiles, en fait une cl e de 64 bits dont les bits 8, 16, 24, 32, 40, 48, 56 ne sont pas utilis es pour la cl e mais participent a un code correcteur qui permet de v ` erier que la cl e na pas et e alt er ee. DES est un cryptosyst` eme par blocs qui travaille sur des blocs de 64 bits. La cl e de DES est trop courte pour les puissances de calcul actuelles. La taille de la cl e secr` ete 56 bits le rend aujourdhui vuln erable aux attaques par force brute. En 1997 la cl ea et e cass ee en 3 semaines par une f ed eration de machines sur internet. Elle a et e cass ee en 56 heures en 1998. En 1999 la cl ea et e cass ee en moins dune journ ee, 22 heures, gr ace ` a un ordinateur d edi e coupl e avec un r eseau de plusieurs millers dordinateurs. An de prolonger la dur ee de vie de DES en attendant AES on a introduit le triple DES. Il consiste ` a appliquer successivement au message DES muni de la clef K, ` a le d ecoder avec DES muni de la clef K et de le recoder avec DES muni de la clef K. Au total tout se passe comme si on avait cod e le message avec une cl e nettement plus longue. Cest un syst` eme de chirement it er e` a 16 etages 1. La cl e K donne naissance ` a 16 sous-cl es, les clefs d etage, de 48 bits K1 , K2 ,...,K16 2. Etant donn e un bloc de texte clair de 64 bits, X , on construit, gr ace a la fonction d ` etage g0 , un nouveau texte, X0 , par permutation de lordre des bits gr ace ` a la permutation initiale IP . g0 (X ) = X0 = IP (X ) 3. on s epare les 32 bits de gauche, L0 , et les 32 bits de droites, R0 , de X0 , donc X0 = L0 R0

36

` CLEFS SECRETES ` CHAPITRE 7. CODES A 4. On eectue 16 it erations (ou tours ou etages). On calcule la valeur de la fonction d etage g (Xi1 , K i ) = Li Ri , 1 i 16 suivant la r` egle Li = Ri1 Ri = Li1 f (Ri1 , Ki ) o` u est la somme dans Z/2Z de Li1 et f (Ri1 , Ki ) et o` u f une fonction non lin eaire qui participe ` a la diusion et qui est d ecrite par les S-bo tes 5. Pour nir on applique la permutation inverse de la permutation initiale, IP 1 , ` a R16 L16

le sch ema suivant r esume ce qui pr ec` ede, il est extrait du cours de Jean-Louis Pons, [14].

7.1. DESCRIPTION DE DES

37

ENSAM

Aix-en-Provence

Message clair (64 bits) Permutation initiale

L0 (32 bits)

R0 (32 bits) K1 (48 bits)

L1 (32 bits)

R1 (32 bits) K2 (48 bits)

L2 (32 bits)

R2 (32 bits)

L15 (32 bits)

R15 (32 bits) K16 (48 bits)

f L16 (32 bits)

R16 (32 bits)

Permutation nale Message chir e (64 bits)

F IG . 1 Architecture du DES

18

38

` CLEFS SECRETES ` CHAPITRE 7. CODES A

7.2

Description dAES.

Le principe de lAES, tr` es proche du DES. Cest aussi un syst` eme cryptographique produit constitu e dune suite dop erations de permutation et de substitution. AES travaille sur des blocs de 128 bits avec des clefs de longueur 128, 256 ou 384 bits. Le passage ` a une cl e de 128 bits minimum rend impossible dans le futur pr evisible les recherches exhaustives de clefs. Si on suppose que lon a un algorithme capable de comparer en une seconde 256 clefs (i.e de casser DES en une seconde) il lui faudra 149 mille milliards dann ees pour casser AES. AES r esiste ` a toutes les attaques connues (attention ce nest quun fait dexp erience pas une preuve). Les deux sch emas qui suivent sont extraits respectivement des sites http://www.bibmath.net/crypto/moderne/aes.php3 http://www.securiteinfo.com/crypto/aes.shtml

7.2. DESCRIPTION DAES

39

09/09/2005

file:/home1/barsky/enseignement/cours-...ours-2005/cours-2005/aes_files/aes.gif

#1

40

` CLEFS SECRETES ` CHAPITRE 7. CODES A Quelques apects techniques dAES.

7.2.1

Pour toute la partie math ematique on pourra consulter dans les compl ements math ematiques la section sur les extensions de corps et les anneaux de polyn omes sur un corps ni, section 11.6 page 104. AES est un syst` eme de chirement it er e constitu e dun algorithme de chirement, la fonction d etage, r ep et e de Nr fois, avec Nr allant de 10 ` a 14, et dune clef dune longueur de 128, 192 ou 256 bits pour chaque etage, la clef d etage. Un algorithme de diversication de clef , ExpandKey[i], permet de cr eer une clef pour chacun des etages, i, ` a partir de la clef secr` ete K . On notera Ne le nombre d etages. La fonction d etage, g , est lensemble des op erations que lon fait subir au texte qui arrive ` a l etage i. Elle est la m eme pour tous les etages sauf le dernier dans un soucis de simplicit e. La fonction g consiste en lapplication successive de 4 op erations SubBytes, ShiftRows, MixColumns, AddRoundKey. ` partir de la clef secr` A ete, K , on g en ere des sous clefs d etage par lalgorithme de diversication de la clef, ExpandKey[i]. On obtient les clefs d etage: K 1 ,...,K Ne . On note x le texte initial (texte en clair), wi le texte utilis e en entr ee ` a l etage i et y sera le texte crypt e nal. Tous les textes sont suppos es transform es en une suite de z eros et de uns. Si K et L sont deux telles suites on note K L Lop eration XOR entre le suite K et la suite L, cest ` a dire laddition sans retenue modulo 2 entre K et L, cf. page 20. Avec ces notations la description sch ematique dAES est la suivante: 1. On initialise w0 ` a x et et on eectue lop eration AddRoundKey W0 K 2. Pour chacun des 1 < i Ne 1 etages suivants on eectue sur wi les op erations suivantes (a) lop eration de substitution SubBytes

7.2. DESCRIPTION DAES

41

(b) sur le r esultat de SubBytes une permutation not ee ShiftRows (permutation circulaire sur les el ements des lignes de la matrice des octets si,j ) (c) sur le r esultat de ShiftRows une op eration not ee MixColumns (application lin eaire sur lespace des matrices sur F28 ) (d) Sur le r esultat de MixColumns lop eration AddRoundKey[i] avec la sous-cl e de l etage i 3. Pour le dernier etage Ne on supprime lop eration MiXColumns On va d ecrire maintenant chacune des op erations utilis ees.

Lop eration ExpandKey Lop eration ExpandKey d epend de la taille de blocs choisie, Nb 32, qui peut etre egale ` a 128, 160, 192 ou 224, 256 bits, et de la taille de cl e choisie, Nk 32, qui peut etre egale ` a 128, 160, 192, 224 ou 256 bits. On supposera dans la suite que la longueur de la clef est de 192 bits avec donc Nk = 6. Extension de la clef secr` ete K . On ecrit la clef K sous forme dune matrice de Nk colonne de 4 bytes chacune (donc 4 lignes l el ement dune ligne etant un mot de 8 bits) d enot es k0 ,...,k5

k0 k1 k2 k3 k4 k5

Ensuite cette matrice est etendue en une matrice de taille Nb (Nr + 1) o` u Nr est le nombre d etages par lalgorithme suivant Si i nest pas un multiple de Nk (la longueur de la clef) alors la colonne dindice i, ki , est la XORisation de la colonne dindice i Nk , kiNk , et de la colonne dindice i 1, ki1 . Cest donc laddition bit ` a bit sans retenue de la colonne kiNk et de la colonne ki1 , ki = kiNk ki1 . Si i est un multiple de Nk on applique ` a chacun des bytes de la colonne ki1 la permutation S d ecrite au paragraphe suivant suivie dune rotation dans les bytes de la nouvelle colonne ki1 et de laddition dune constante d etage d enie par Fieldto Binary(xj 1 ) pour l etage j . On XOR le r esultat obtenu avec la colonne kiNk .

42 On obtient ainsi

` CLEFS SECRETES ` CHAPITRE 7. CODES A

k0 k1 k2 k3 k4 k5 . . . cl e d etage 0 Lop eration SubBytes ...

kiNb

...

k(i+1)Nb 1 . . . ...

cl e d etage i

Lop eration SubBytes est la seule op eration non lin eaire. On suppose que i le message w est un nombre de 128 bits=16 octets, (si,j )0i,j 3 , ecrit en base 2. On le r e ecrit sous la forme dune matrice Si , o` u les si,j sont des octets. s0,0 s0,1 s0,2 s0,3 s s s s S i = 1 ,0 1 ,1 1 ,2 1 ,3 s2,0 s2,1 s2,2 s2,3 s3,0 s3,1 s3,2 s3,3 Lop eration SubBytes consiste en une permutations S sur {0, 1}8 , agissant ind ependamment sur chacun des octets si,j de l etage i. Pour d ecrire S on travaille dans un surcorps du corps ` a 2 el ements, F2 , omes de le corps ni ` a 256 el ements, F28 , que lon identie avec les polyn degr e 8, munis de laddition et de la multiplication modulo le polyn ome 8 4 3 irr eductible de F[x], x + x + x + x + 1, cf. la paragraphe 11.6.1, page 104, de rappel sur les anneaux de polyn omes, F28 F2 [x]/(x8 + x4 + x3 + x + 1)F2 [x]

On associe ` a loctet a7 a6 . . . a1 a0 l el ement


7

BinarytoField(a7 a6 . . . a1 a0 ) =
i=0

ai xi

du corps F28 dont lapplication inverse est FieldtoBinary. On a dans le corps F28 lop eration FieldInv qui ` a un el ement z = 0 du corps associe z 1 et ` a z = 0 associe 0. Exemples 9. Calcul dans F28 . Calculons FieldInv(00000011) on a: FieldtoBinary(00000011)=x + 1 FieldInv(x + 1)=x7 + x6 + x5 + x4 + x2 + x

7.2. DESCRIPTION DAES car on a lidentit e de B ezout (x + 1)(x7 + x6 + x5 + x4 + x2 + x) + (x8 + x4 + x3 + x + 1) = 1 obtenue par lalgorithme dEuclide ou directement, donc dans F28 F[x]/(x8 + x4 + x3 + x + 1) (x + 1)1 = (x7 + x6 + x5 + x4 + x2 + x) et donc BinarytoField(x7 + x6 + x5 + x4 + x2 + x)=(11110110)

43

Revenons ` a la description de lop eration SubBytes cest ` a dire ` a la description de la permutation S pour le mot de 8 bits (a7 a6 . . . a1 a0 ) consiste en application de BinarytoField ` a (a7 a6 . . . a1 a0 ) = (b7 b6 . . . b1 b0 ) qui donne a F28 application FieldInv ` a a qui donne a1 si a = 0 ou 0 si a = 0 ajout de l el ement c = (c7 c6 . . . c1 c0 ) = BinarytoField(01100011) ` a 1 a pour obtenir b = (b7 b6 . . . b1 b0 ) application de Fieldto Binary ` ab c est une constante dAES. Lop eration ShiftRows Cest la permutation cyclique dans les lignes de la matrice Si a e i m b f j n c d a b c g h f g h k l k l i o p p m n d e j o

Lop eration MixColumns Cest une transformation lin eaire dans les colonnes; la colonne j est transform ee de la mani` ere suivante (les calculs sont faits dans F28 ) b0 02 03 01 01 a0 b1 01 02 03 01 a1 = b2 01 01 02 03 a2 a3 b3 03 01 01 02

44

` CLEFS SECRETES ` CHAPITRE 7. CODES A

Lop eration AddRoundKey AddRoundKey[i] est laddition de la clef obtenue ` a l etage i par lalgorithme de diversication des cl es, ExpandKey[i], au texte obtenu ` a lissue de l etape MixColumns. On ecrit la clef ExpandKey[i], suppos ee ici de 128 bits, sous la forme dune matrice de 4 4 bytes et on lajoute au r esultat de l etape pr ec edente par un XOR a0,0 a1,0 a2,0 a3,0 a0,1 a1,1 a2,1 a3,1 a0,2 a1,2 a2,2 a3,2 a0,3 a1,3 a2,3 a3,3 k0,0 k1,0 k2,0 k3,0 k0,1 k1,1 k2,1 k3,1 k0,2 k1,2 k2,2 k3,2 k0,3 b 0 ,0 k1,3 b = 1 ,0 k2,3 b 2 ,0 k3,3 b 3 ,0 b0,1 b1,1 b2,1 b3,1 b0 ,2 b1 ,2 b2 ,2 b3 ,2 b 0 ,3 b 1 ,3 b 2 ,3 b 3 ,3

Si la clef avait une taille 32Nk bites on l ecrirait sous la forme dune matrice de Nk colonnes de 4 bytes et on proc ederait de m eme.

7.3

Infrastructure des syst` emes ` a clef secr` ete.

Les infrastructures pour les syst` emes ` a clef secr` ete consistent en toutes les dispositions techniques et lorganisation n ecessaires pour g erer un syst` eme cryptographique ` a clef secr` ete. Autant il est facile pour un ordinateur de retenir une cl e secr` ete de 128 bits, autant cest dicile pour une personne. On utilise alors le syst` eme des mots de passe. Mais pour ne pas aaiblir la s ecurit e du cryptosyst` eme le mot de passe doit ob eir ` a certaines r` egles Avoir une entropie, cf. le paragraphe 11.1.3 page 80, au moins egal a 128 bits. Pour avoir une entropie de 128 bits il sut de choisir ` 22 caract` eres au hasard dans un alphabet de 64 lettres (minuscules, majuscules, chires, point et espace). Il doit r esister aux attaques-dictionnaires. Un mot de passe ne doit pas etre r eutilis e On peut prendre les mesures suivantes pour am eliorer la s ecurit e dun syst` eme de mots de passe On utilise le mot de passe pour calculer une cl e de session qui change a chaque fois. `

` ` CLEF SECRETE ` 7.3. INFRASTRUCTURE DES SYSTEMES A

45

On rajoute des ingr edients pour eviter les attaques dictionnaires (sel). On it` ere la fonction de hachage, par exemple 1000 fois. Pour lutilisateur le temps de calcul est ` a peine aect e. Pour lattaquant qui proc` ede par attaque-dictionnaire, cest prohibitif. On utilise aussi un syst` eme de gestion des clefs (Symmetric Keys Management ) qui 1. emet les clefs 2. les authentie 3. les archive 4. les garde en d ep ot Un des syst` emes les plus utilis es est Kerberos , cf. [25].

Chapitre 8
Codes ` a clefs publiques.

Die et Hellman ont d egag e vers 1976 la notion de code ` a clef publique ou code asym etrique fond ee sur la notion de fonction ` a sens unique. Les codes asym etriques les plus utilis es sont RSA bas e sur la dicult e calculatoire de la factorisation des grands entiers. El Gamal bas e sur la dicult e calculatoire de calculer le logarithme discret dans un corps ni. McEliece bas e sur la th eorie alg ebrique des codes correcteurs der -reurs. Il repose sur la dicult e calculatoire du d ecodage dun code lin eaire (probl` eme NP complet). Consid er e comme s ur il n ecessite des clefs extr` emement longues 1019 bits. Chor-Rivest bas e une instance du probl` eme du sac ` a dos consid er e comme s ur. Les cryptosyst` emes bas es sur les courbes elliptiques qui sont des modications des autres cryptosyst` emes, comme El Gamal. Ils utilisent le groupe des points dune courbe elliptique sur un corps ni au lieu du groupe multiplicatif du corps ni, par exemple Menezes-Vanstonne.

8.1
8.1.1

Principe des codes ` a clef publique.


Fonctions ` a sens unique.

On cherche une fonction f entre des ensembles P et E telle que

46

` 8.2. LE SYSTEME RSA

47

le calcul de f (x) pour x P se fait en temps polynomial en fonction de la taille des donn ees. le calcul de f (1) (y ) pour y E ne se fait pas en temps polynomial en fonction de la taille des donn ees. Le plus souvent la fonction f poss` ede une porte d erob ee (trapdoor) qui permet de calculer facilement f 1 (y ) lorsquon a une information suppl ementaire comme la clef secr` ete. Autrement dit on cherche des fonction f : P E appartenant ` a la classe des probl` emes P (calculables en temps polynomial en fonction de la taille des donn ees) et telle que la fonction r eciproque (ou limage r eciproque si ne suppose pas f bijective) f (1) appartienne ` a la classe des probl` emes N P , (non calculables en temps polynomial en fonction de la taille des donn ees, mais v eriables en temps polynomial). La mise au point de telles fonctions a r evolutionn e la cryptographie et elargi son champ dapplication.

8.2

Le syst` eme RSA.

Le syst` eme RSA est nomm e dapr` es le nom de ses inventeurs: Rivest, Shamir, Adleman. Il est bas e sur la fonction ` a sens unique produit de deux entiers f: N N N (n, m) f (n, m) = n m sa fonction r eciproque etant la d ecomposition dun nombre entier en un produit de facteur premier, cf la section arithm etique dans les compl ements de math ematiques, section 11.3 page 86. Le calcul du produit de deux nombres entiers est une op eration facile, rapide, calculatoirement facile (cest ` a dire faisable en temps polynomial en fonction de la taille des donn ees) alors que la d ecomposition en facteurs premiers nest pas facile, est lente, calculatoirement dicile (cest ` a dire quelle nest pas faisable en temps polynomial en fonction de la taille des donn ees)

8.2.1

Description du cryptosyst` eme RSA.

On a un ensemble (Ai )iI de correspondants (personnes physiques ou ordinateurs). Le principe du cryptosyst` eme RSA est le suivant

48

` CLEFS PUBLIQUES CHAPITRE 8. CODES A Chacun des correspondants Ai choisit deux nombres premiers pi et qi distincts. On note ni = pi qi , le module du cryptosyst` eme de Ai et (ni ) = (pi 1)(qi 1), lindicatrice dEuler de ni . Ai choisit ensuite un nombre ei lexposant de la cl e publique premier avec (ni ) (autrement dit le Plus Grand Commun Diviseur (PGCD ou GCD en anglais) de ei et (ni ) est 1. On note ce PGCD ei (ni ) = 1) en pratique on impose de plus 1 ei (ni ) 1. Puis Ai calcule linverse di de ei modulo (ni ), di est appel e exposant de la cl e secr` ete cest ` a dire en pratique, on cherche di N tel quil existe ki N avec di ei = 1 + ki (ni ) et 1 di (ni ) 1 Chacun des correspondants Aj publie dans un annuaire public les nombres nj et ej qui forment sa cl e publique de chirement et garde secret pj , qj et dj qui forment sa cl e secr` ete de d echiffrement .

En pratique on choisit les nombres premiers pi et qi de taille comparable de telle sorte que leur produit ni = pi qi soit un nombre dau moins 300 chires en base 10 et plut ot 500 pour une protection longue.

8.2.2

Protocole denvoi dun message en RSA.

Alice veut envoyer un message M ` a Bob. La clef publique dAlice (resp Bob) est (na , ea ), (resp. (nb , eb )), sa clef secr` ete est (pa , qa , da ) (resp. (pb , qb , d) b). Elle suit le protocole suivant 1. Alice commence par transformer le message en une suite de chires, par exemple en rempla cant les lettres et les di erents symboles utilis es par des chires (de 0 ` a 255 dans le cas du code ASCII). 2. Alice regarde dans lannuaire public la cl e de chirement nb , eb de Bob. Elle d ecoupe le message M en blocs M de taille approximativement nb . 3. Elle calcule fb (M ) = M M eb et envoie M = fb (M ) ` a Bob. mod nb

` 8.2. LE SYSTEME RSA 4. Pour r ecup erer le texte en clair Bob calcule
1 fb (M ) = (M )db = fb (M )db M eb db = M 1+kb (nb )

49

mod nb

Dapr` es le th eor` eme dEuler (cf. th eor` eme 11.3.19 page 97) on a M (nb ) 1 et par cons equent
1 fb (M ) M

mod nb mod nb

Si la taille de M est adapt ee ` a celle de nb , il ny a pas dambiguit et Bob r ecup` ere donc bien le message dAlice.

8.2.3

Protocole de signature RSA.

Le cryptosyst` eme RSA permet aussi facilement de r ealiser lauthentication de lexp editeur (en admettant que sa clef priv ee nest utilis ee que par lui). 1. Alice commence par d ecouper le message M en blocs M de taille bien choisie par rapport ` a na et nb . Elle crypte chaque bloc du message avec sa cl e secr` ete, da , elle obtient ` a partir du texte en clair M un premier texte crypt e, M
1 M = fa (M ) M da

mod pa qa

2. Avec la cl e publique de Bob, elle crypte M et obtient un deuxi` eme texte crypt e, M
1 M = fb (M ) = fb (fa (M ))

qui constitue sa signature du message M . 3. Elle crypte alors le message M avec la cl e publique de Bob en suivant le protocole pr ec edent et obtient le texte crypt e du message fb (M ) fb (M ) = M eb 4. Elle envoie ` a Bob le couple (fb (M ), M ) qui constitue le message chir e et sign e dAlice ` a Bob. mod nb

50

` CLEFS PUBLIQUES CHAPITRE 8. CODES A

Pour d ecoder et v erier la signature qui authentie lexp editeur du message, dAlice, Bob eectue les op erations suivantes 1. Il calcule dune part
1 fb (M ) M

mod nb (mod nb ) mod na

1 1 fa fb (fb fa (M )

mod na

(Si le choix de la taille des blocs M est bien choisie par rapport ` a na et nb , il ny a pas dambiguit e au d ecodage) 2. Il calcule dautre part, en d ecodant comme au paragraphe 8.2.2,
1 fb (M ) M fb

mod nb

3. Il compare les deux r esulats obtenus. Sil constate que M = M , cest a dire que les deux r ` esultats sont les m emes, il est s ur alors que le message vient dAlice car seule Alice connait
1 fa da

cest ` a dire sa cl e secr` ete. De plus il est s ur que le message na pas et e alt er e.

8.2.4

Exemple acad emique de codes RSA.

Alice publie sa cl e publique (nA , eA ) = (65, 5), sa clef secr` ete est dA . Bob publie sa cl e publique (nB , eB ) = (77, 7), sa clef secr` ete est dB . Pour trouver les clefs secr` etes on d ecompose en un produit de facteurs premiers nA et nB nA = 13 5 et nB = 7 11 On calcule ensuite les indicatrices dEuler correspondantes (nA ) = 12 4 = 48 et (nB ) = 6 10 = 60 En utilisant lalgorithme de PGCD d ecrit au paragraphe 11.3.3 page 89 (ou directement) on calcule dA 5 29 = 145 = 1 + 3 48 = dA = 29

` 8.2. LE SYSTEME RSA respectivement dB 7 43 = 301 = 5 60 + 1 = dB = 43 Alice veut transmettre le message 3 ` a Bob. Elle calcule donc 37 31 mod 77 = 7 11

51

et elle envoit 31 ` a Bob. Bob d ecode en calculant 3143 311+2+8+32 31 37 58 37 31 3 (remarquer la mani` ere de calculer une puissance). Si Alice veut signer le message elle nenvoie pas seulement 31, mais elle calcule dabord 1 fa (3) = (329 mod 65) = 48 puis elle calcule
1 fb fa (3) = fb (329

mod 77

mod 65) = (487

mod 77) = 27

puis elle envoie ` a Bob le couple (31, 27) constitu e de la signature et du message. Pour d ecoder Bob calcule
1 fa fb (27) = fa (2743

mod 77) = (485 3143 3 mod 77

mod 65) = 3

mod 65

et et il constate que les deux r esultats coincident. Lexp editeur du message est bien Alice. Remarque 8.2.1. Pour signer le message Alice aurait pu aussi bien mener les calculs dans lordre inverse, cest ` a dire calculer dabord avec la cl e publique de Bob eb M = fb (M ) mod nb puis avec sa cl e secr` ete da elle crypte M crypt e, M et obtient un deuxi` eme texte mod na

1 1 M = fa (M ) = fa (fb ((M )) (M )da

52

` CLEFS PUBLIQUES CHAPITRE 8. CODES A

qui constitue sa signature du message M . Elle crypte alors le message M avec la cl e publique de Bob en suivant le protocole pr ec edent et obtient le texte crypt e du message fb (M ) fb (M ) = M eb Elle envoie ` a Bob le couple (fb (M ), M ) Bob d ecode en calculant dune part fa (M ) M
1 fb (fa ((M

mod nb

mod na M mod nb

)) =

1 1 (fa (fa (fb (M )))) fb

Les deux protocoles ont leurs avantages et inconv enients. On pr ef` ere en g en eral le premier protocole car il suit de plus pr` es la mani` ere traditionnelle de signer une lettre: on signe dabord avant de la mettre dans lenveloppe. Le second protocole consiste ` a mettre la lettre dans lenveloppe et ` a signer lenveloppe.

8.2.5

Exemple de code RSA.

On choisit un alphabet ` a 40 lettres A= 0, ..., euros= 29, B= 1, X= 23, 0= 30, C= 2, Y= 24, 1= 31, D= 3, Z= 25, ..., E= 4, =26, 8= 38, F= 5, .= 27, 9= 39, ..., ?= 28,

On choisit comme cl e publique le couple n = 2047, on a 402 2047 403 on choisit donc de d ecouper les messages en clair en blocs de deux lettres et les messages chir es en blocs de trois lettres. On ecrit chaque bloc de deux symboles clairs X1 X2 sous la forme 40x1 + x2 o` u xi est le nombre entre 1 et 39 correspondant ` a Xi . e = 179

` 8.2. LE SYSTEME RSA

53

On ecrit chaque bloc de trois symboles cod es Y1 Y2 Y3 sous la forme 402 y1 + 40y2 + y3 o` u yi est le nombre entre 0 et 39 correspondant ` a Yi . Le message clair est ENVOYEZ euros2500. Pour le coder on consid` ere les blocs EN = 4 40 + 13 = 173, YE = 24 40 + 4 = 964, euros2 = 1192, 0. = 1110 Codage du message VO = 21 40 + 14 = 854, Z = 1026, 50 = 1430,

EN (173)179 VO (854)179 YE (964)179 Z (1026)179 euros2 (1192)179 50 (1430)179 0. (1110)179

mod 2047 = 854 = 0 402 + 21 40 + 14 = AVO mod 2047 = 1315 = 0 402 + 32 40 + 35 = A25 mod 2047 = 452 = 0 402 + 11 40 + 12 = ALM mod 2047 = 1295 = 0 402 + 32 40 + 15 = A2P mod 2047 = 511 = 0 402 + 12 40 + 31 = AM1 mod 2047 = 1996 = 1 402 + 9 40 + 36 = BJ6 mod 2047 = 1642 = 1 402 + 1 40 + 2 = BBC

Le message cod e est donc AVOA25ALMA2PAM1BJ6BBC Pour d ecoder on factorise 2047 = 23 89 = (2047) = 22 88 = 1936 et on d eduit par lalgorithme dEuclide que d = 411. Remarque 8.2.2. En fait les param` etres de ce code sont mal choisis car 22 divise 88 et donc on peut prendre pour d nimporte quel inverse de 179 modulo 88 comme par exemple 59. On constate que 411 = 59 + 4 88

54

` CLEFS PUBLIQUES CHAPITRE 8. CODES A S ecurit e du syst` eme RSA.

8.2.6

La s ecurit e de RSA repose sur les faits suivants: on ne sait pas d ecoder sans conna tre lexposant de la cl e secr` ete d trouver d equivaut ` a factoriser n = pq on ne connait pas dalgorithme polynomial en temps en fonction de la taille des donn ees (cest ` a dire de la longueur des nombres n et e) pour calculer d cest ` a dire pour factoriser n, les meilleurs sont en O eC
log2 n log2 log2 n

op erations.

on dit que lalgorithme est sous-exponentiel Ce sont des faits dexp erience pas des th eor` emes. Depuis sa cr eation le syst` eme RSA a r esist e` a toutes les attaques de mani` ere satisfaisante si lon choisit bien p, q et e. Pour construire et utiliser un code RSA on a besoin de savoir faire rapidement (cest ` a dire en temps polynomial au plus) les op erations suivantes: construire des grands nombres premiers calculer des PGCD faire de larithm etique modulaire (addition, multiplication, exponentiation) Pour evaluer et tester la s ecurit e du code RSA, il faut en particulier evaluer la rapidit e des algorithmes de factorisations de grands nombres entiers D emontrer que la clef secr` ete de d echirement d ne peut pas etre obtenue sans factoriser n = pq et plus g en eralement quelle ne peut pas etre calculer en temps polynomiale en fonction de n. montrer que lon ne peut pas d ecoder un message sans la clef secr` ete

` 8.3. LE CRYPTOSYSTEME EL GAMAL

55

8.3

Le cryptosyst` eme El Gamal.

Le cryptosyst` eme El Gamal est bas ee sur la fonction ` a sens unique logarithme discret. On consid` ere un groupe cyclique ni, G, de cardinal n engendr e par un g en erateur, g . Donc G = gi 0 i n 1}

On suppose que le calcul de g i est facile, rapide calculatoirement facile (cest ` a dire faisable en temps polynomial en fonction de la taille des donn ees) mais que le calcul de i connaissant g i nest pas facile, est lent, calculatoirement dicile (cest ` a dire: nest pas faisable en temps polynomial en fonction de la taille des donn ees). Si a = g i , i est appel e le logarithme discret de a. On utilise les deux r ealisations suivantes de G. On consid` ere un nombre premier p et on choisit G = Z/pZ F p cest ` a dire que le G est le groupe des el ements inversible pour la multiplication de Z/pZ les entiers modulo p, pour la d enition voir dans les compl ements math ematiques, le paragraphe sur les congruences 11.3.4 page 92. Dapr` es un th eor` eme de Gauss, th eor` eme 11.3.13 page 94, le groupe multiplicatif de Z/pZ est cyclique et le calcul de g i mod p est rapide alors quon ne connait pas dalgorithme en temps polynomial pour calculer i connaissant a = g i pour de bons choix de p. Plus g en eralement on peut consid erer le groupe multiplicatif des el ements inversibles dun corps ni ` a q = ps el ements, Fq . Une autre r ealisation est comme groupe G le groupe des points dune courbe elliptique sur un corps ni, E (Fq ) qui donne lieu aux cryptosyst` emes elliptiques, cf le paragraphe 11.7.1 page 117. Ils se d eveloppent actuellement car ils poss` edent des avantages en terme de taille de cl e et de s ecurit e prouv ee.

8.3.1

Description du cryptosyst` eme El Gamal.

On consid` ere le cryptosyst` eme suivant: Soit p un nombre premier tel que le probl` eme du logarithme discret dans Z/pZ soit dicile. Soit g une racine primitive modulo p, cf. le th eor` eme 11.3.13 page 94, cest a dire que g est un g ` en erateur du groupe cyclique (Z/pZ) .

56

` CLEFS PUBLIQUES CHAPITRE 8. CODES A

Soit P = Z/pZ , les messages en clair, et soit C = Z/pZ messages crypt es et enn soit lespace des clefs Kb = (p, g, , ); g mod p o` u

Z/pZ

les

(p, g, ) est la clef publique est la clef secr` ete

Alice veut transmettre un message, M, ` a Bob 1. Bob choisit un grand nombre premier pb , un g en erateur gb du groupe cyclique multiplicatif Z/pb Z et un entier b inf erieurs ` ap
b 2. Bob calcule b = gb ; alors le triplet (b , gb , pb ) constitue sa clef publique, b est sa clef secr` ete.

3. Alice d ecoupe le message M en blocs M de taille inf erieure ` a pb , elle choisit un entier ka (inf erieur ` a pb 1) pour chacun des blocs M et calcule ka ka M (mod pb ) et y2 = b y 1 gb La paire eKb (M, ka ) = (y1 , y2 ) est le message cod e quAlice envoie ` a Bob. Pour d ecoder 1. Bob calcule
b 1 M y2 (y1 ) b ka b Comme y1 = gb (mod p) on a: ka b 1 b 1 ka ) M (gb ) b dK (y1 , y2 ) = y2 (y1 b ka b ka M gb M gb

mod pb

mod p

et comme M est inf erieur ` a pb il ny a pas dambiguit e dans le d ecodage. Pour une bonne s ecurit e, Alice doit changer souvent ka .

8.3.2

Signature El Gamal.

On reprend les notations pr ec edentes. Soit M un bloc dun message M quAlice veut transmettre en le signant ` a Bob. 1. Alice choisit elle-aussi un grand nombre premier pa tel que le probl` eme du logarithme discret dans Z/pa Z soit dicile.

` 8.3. LE CRYPTOSYSTEME EL GAMAL 2. Elle choisit aussi un g en erateur ga de Z/pa Z a . pa 2 et elle calcule a = ga

57 et un entier 0 a

Elle dispose ainsi elle aussi dune clef publique (pa , ga , a ) et dune clef priv ee (secr` ete) a . Pour signer le message M , Alice r ealise les op erations suivantes 1. elle choisit ka (Z/pZ) secret et premier ` a pa 1. 2. elle calcule
ka a ga

mod pa
1

a (M a a )ka

mod (pa 1)

3. la signature du bloc M est alors signKa (M, ka ) avec signKa (M, ka ) = (a , a ) 4. Puis elle envoie le couple eKb (M, ka ), signKa (M, ka ) cest ` a dire le quadruplet (y1 , y2 ), (a , a ) . On constate que
M a a a ga a

Remarque 8.3.1. La condition ka premier ` a pa 1 est n ecessaire car Alice 1 (mod p 1). utilise pour calculer a la quantit ek a a Cette proc edure r ealise bien une signature du bloc M . Pour v erier la signature et d ecoder Bob suit le protocole suivant: 1. Bob re coit le couple constitu e par le message crypt e par Alice de la signature de ce message cest ` a dire le quadruplet (y1 , y2 ), (a , a ) . 2. Il d ecode le message ` a laide de sa cl e secr` ete et r ecup` ere M . 3. Il calcule
a a a a

mod pa

et il v erie que
a a M a a ga

58

` CLEFS PUBLIQUES CHAPITRE 8. CODES A

Sil en est ainsi il est s ur que lexp editeur du message est bien Alice. On constate que cette proc edure r ealise bien une signature du message M car pour fabriquer le couple (a , a ) Alice a utlis e sa clef secr` ete et si lon remplace dans la formule donnant a la cl e secr` ete a par un autre nombre compris entre 0 et pa 1 on naura plus l egalit e
a a M a a ga

mod pa

8.3.3

S ecurit e du syst` eme EL Gamal.

La s ecurit e du cryptosyst` eme EL Gamal repose sur les faits suivants: on ne sait pas d ecoder sans conna tre la cl e secr` ete trouver equivaut ` a trouver le logarithme discret de = g dans (Z/pZ) on ne connait pas dalgorithme polynomial en temps en fonction de la taille des donn ees (cest ` a dire de la longueur du nombre p) pour calculer . Les meilleurs sont en O eC log2 (p) log2 log2 (p) op erations. Ce sont des faits dexp erience pas des th eor` emes.

8.3.4

Exemple acad emique de code El Gamal.

Alice et Bob veulent correspondre en employant le syst` eme El-Gamal. Alice choisit comme param` etres pa = 263, ga = 5, a = 47 Bob choisit comme param` etres pb = 257, gb = 5, b = 67 On v erie facilement que pa et pb sont des nombres premiers, que ga et gb sont respectivement des g en erateurs des groupes cycliques Z/pa Z et Z/pb Z. Il sut pour cela de v erier (par exemple ` a laide dune table ou dun syst` eme de calcul faisant de larithm etique modulaire) que
da ga 1

mod pa ,

db gb 1

mod pb

` 8.3. LE CRYPTOSYSTEME EL GAMAL

59

pour tout diviseur non trivial da de pa 1 et tout diviseur non trivial db de pb 1. En eet dapr` es le corollaire 11.3.20 le plus petit entier non nul e tel e 1 (mod p ) est un diviseur de p 1. que ga a a
a Alice calcule a = p a (mod pa ) = 40 et sa clef publique est

Ka = (pa = 263, ga = 5, a = 40) sa cl e secr` ete est a = 47.


b Bob calcule b = p b (mod pb ) = 201 et sa clef publique est

Kb = (pb = 257, gb = 5, b = 201) sa cl e secr` ete est b = 67. On suppose quAlice et Bob senvoient des nombres de deux chires en base 10. Alice envoie ` a Bob le message M quelle code en (y1 , y2 ) = (76, 251) ` a laide la cl e publique de Bob et dun ka quelle garde secret. Bob d ecode le message en eectuant lop eration
b 1 ) y2 (y1

(mod 257) = 251 7667 = 251 76 = 251 76189 = (6) 155

(mod 257) (mod 257) (mod 257) (mod 257) = 251 155 (mod 257) = 98

25667

.Le message en clair dAlice est M = 98. On peut retrouver le param` etre ka ` a laide dune table des puissances de gb (mod 257). On sait que
ka y1 = gb

(mod 257) = 76,

ka y2 = b M

(mod 257) = 251

On trouve ` a laide dune table ou dun logiciel de calcul darithm etique modulaire ka = 139. Si Alice veut envoyer le message M = 87 ` a Bob avec les m emes param` etres, y compris ka , elle eectue le calcul
ka z1 = y 1 = gb

(mod 257) = 76 (mod 257) = 201139 87 (mod 257) = 173

z2 =

ka b

87

Pour un bon choix de p le syst` eme El-Gamal resiste bien aux attaques. Comme le syst` eme RSA il est assez lent et n ecessite des clefs longues 1024

60

` CLEFS PUBLIQUES CHAPITRE 8. CODES A

` 2048 bits actuellement). Il se transpose sans dicult a e ` a nimporte quel groupe cyclique o` u le probl` eme du logarithme discret est dicile, en particulier pour le groupe des points dune courbe elliptique sur un corps ni. Avec ce groupe malgr e les dicult es algorithmique on a de bons codes avec des clefs courtes (128 ` a 256 bits actuellement) dont la s ecurit e peut etre au moins partiellement prouv ee.

8.4

Infrastructure des syst` emes ` a clef publique.

Les infrastructures des syst` emes ` a clef publique ou PKI (Public Key Infrastructure ) consistent en toutes les dispositions techniques et organisationnelles n ecessaires pour g erer un syst` eme cryptographique ` a clef publique. On a un ensemble dinterlocuteurs en r eseau qui se sont mis daccord sur un cryptosyst` eme ` a clef publique (par exemple RSA), sur une fonction de hachage (cf. le chapitre 9 page 63) et sur un protocole de signature. On suppose que chacun dentre eux dispose dune paire (Ke , Kd ) (cl e publique, cl e s ecr` ete), (cl e de chirement, cl e de d echirement) et que chacun dentre eux est capable de chirer, d echirer et signer. Du fait que les cl es publiques ne sont pas condentielles, il nest pas n ecessaire de les crypter pour les transmettre. Mais il est tr` es important et m eme vital pour la s ecurit e des transmissions de sassurer de lauthenticit e des cl es ainsi transmises. En eet si Alice d esire transmettre sa clef publique ` a Bob, nimporte quel opposant, Martin par exemple, peut intercepter le message la contenant. Martin peut ensuite envoyer un message ` a Bob en se faisant passer pour Alice et contenant sa propre cl e publique et donnant comme adresse de retour sa propre adresse. Ainsi il est capable de lire les messages crypt es que Bob envoie ` a Alice avec la soit-disant cl e publique dAlice que Bob croit poss eder. Une fois quil les a d ecrypt es et lu il peut les envoyer ` a Alice dont il poss` ede la cl e publique en les modiant sil lestime n ecessaire. Il faut donc dune certaine mani` ere faire un lien entre chacun des participants au r eseau et sa cl e publique. Pour cela on utilise les certicats . Un certicat consiste en une clef publique et une identit e digitale (par exemple une suite de symboles contenant le nom du propri etaire de la clef, de la m eme mani` ere quon met une etiquette sur une cl e ordinaire), le tout etant cachet e` a laide de la signature digitale dune personne ou dune organisation en laquelle on a conance et appel ee un Tiers de Conance (Trusted Third Party ou TTP ).

` ` CLEF PUBLIQUE 8.4. INFRASTRUCTURE DES SYSTEMES A

61

Pratiquement on peut par exemple concat ener, mettre bout ` a bout, la clef publique, le nom de son possesseur et signer le message obtenu ` a laide de la clef priv ee du Tiers de Conance (il faut que personne ne puisse usurper lidentit e du Tiers de Conance). Il existe plusieurs mod` eles de r eseau avec Tiers de Conance, avec deux mod` eles extr` emes, le mod` ele hierarchique et le mod` ele distribu e. Un syst` eme tr` es employ e de syst` eme hi erarchique de Tiers de Conance est le mod` ele X.509 , [25]. Les fonctions principales dun PKI sont de paires de clefs (cl e publique, cl e priv ee) Emission Attribution didentiants uniques aux participants au r eseau Conservation des clefs 1. D epot de clefs, utile quand il sagit de garantir la continuit e dun service en cas de changement de titulaire 2. Archivage des clefs, utile pour pouvoir relire de vieux messages 3. Sauvegarde des clefs, utile en cas de perte de clef 4. R ecuperation de clef perdues ces fonctions ne sont pas tr` es distinctes Emettre et publier des certicats R evoquer les certicats xer leur dur ee de validit e Archiver les certicats expir es (important pour les probl` emes de nonr epudiation) Donner une datation s ecuris ee

62

` CLEFS PUBLIQUES CHAPITRE 8. CODES A





Syst` eme hi erarchique de Tiers de Conance


       

  

  

Syst` eme non-hi erarchique de Tiers de Conance

Chapitre 9
Fonctions de Hachage.

Les proc edures de signature pr ec edentes ont un co ut prohibitif pour signer des longs messages car la signature est aussi longue que le message. On double donc la longueur du texte ` a crypter. Pour r eduire la longueur de la signature on peut utiliser une fonction de hachage cryptographique (hash function en anglais), h, ou fonction de condensation. Cest une fonction ` a sens unique qui sera publique dans les applications. Les fonctions de hachage ont dautres applications cryptographiques que la signature, cf le chapitre 10 page 68 sur les protocoles cryptographiques. Une fonction de hachage est une fonction rapide ` a calculer mais dont limage r eciproque est dans la classe des probl` emes calculatoirement diciles (la classe NP). Ell transforme un message de longueur arbitraire en une empreinte num erique ou code dauthentication du message de taille x ee, 160 bits en g en eral actuellement. Pour des raisons de s ecurit e on tend ` a augmenter la taille de lempreinte. Le sch ema de calcul dune signature avec une fonction de hachage est le suivant:

message empreinte num erique signature

x z = h(x) y = signK (z ) 63

longueur arbitraire 160 bits 320 bits

64

CHAPITRE 9. FONCTIONS DE HACHAGE

En r ealit e une fonctions de hachage prend un message x de taille inf erieure a N x ` e quelle transforme en une empreinte de taille 160 bits (ou 256 ou 384 ou 512). Il existe des techniques classiques, cf. [23], pour etendre les fonctions de hachage de domaine de d epart ni (fonction de compression ) N en des fonctions de hachage dont le domaine de d epart est constitu e de messages de longueur arbitraire. Elles sont appel ees alors fonctions de hachage it er ees . La principe pour lit eration est le suivant. On suppose que la fonction h peut recevoir deux entr ees une empreinte hi1 un bloc M de taille N et donner en sortie une empreinte hi . M hi1

hi

On peut supposer que cette extension des fonctions de hachage est d ej` a faite. LorsquAlice souhaite envoyer un message sign e, x, elle calcule dabord lempreinte num erique, z = h(x), elle signe avec y = signK (z ) et transmet le couple (x, y ) par le canal de communication. Tout le monde peut v erier la signature en calculant lempreinte z = h(x) et en utilisant le proc ed e de v erication de la signature verK (z, y ).

9.1

Construction des fonctions de hachage.

La fonction de hachage doit etre construite avec soin pour quelle naaiblisse pas le protocole de signature. Un opposant comme Martin ne doit pas pouvoir forger la signature dAlice. Comme une fonction de hachage nest evidemment pas injective, il existe des couples de messages x et x tels que h(x ) = h(x). Lattaque la plus evidente consiste pour Martin ` a partir dun message sign e (x, y ) authentique (y = signK (x)) pr ecedemment calcul e par Alice ` a calculer z = h(x) et ` a chercher x = x tel que h(x) = h(x ). Si Martin y parvient (x , y ) est un message valide. Donnons tout dabord quelques d enitions de qualit es que lon peut exiger dune fonction de hachage.

9.1. CONSTRUCTION DES FONCTIONS DE HACHAGE

65

D enition 9.1.1. Une fonction de hachage h est ` a collisions faibles diciles si etant donn e un message x, il est calculatoirement dicile dobtenir un message x = x tel que h(x) = h(x ). D enition 9.1.2. Une fonction de hachage h est ` a collisions fortes diciles sil est calculatoirement dicile dobtenir deux messages diff erents x et x tels que h(x) = h(x ) D enition 9.1.3. Une fonction de hachage est une fonction de hachage ` a sens unique si etant donn ee une empreinte num erique z , il est calculatoirement dicile de trouver un message x tels h(x) = z Si une fonction de hachage est ` a collisions fortes diciles elle est bien s ur ` a collisions faibles diciles, mais aussi ` a sens unique.

9.1.1

Attaques des anniversaires.

Une fonction de hachage doit aussi r esister aux attaques des anniversaires . Une m ethode simple pour obtenir des collisions, i.e. des messages x et x tels que h(x) = h(x ) est lattaque des anniversaires d ecrite ci-dessous. On a une fonction de hachage h : X Z o` u |X | = m < + et |Z | = n et m 2n. Dans ces conditions il y a au moins n collisions. On va trouver la borne inf erieure de la probabilit e de trouver une collision en tirant k messages al eatoires distincts. Cette borne d epend de k et n mais pas de m. On fait lhypoth` ese simplicatrice que |h1 (z )| m/n. Il est alors facile de calculer la probabilit e pour que k el ements zi Z soient tous distincts si lon tire au hasard k el ements xi X . On ordonne les zi en z1 ,..., zk . Le premier tirage z1 est arbitraire; la proba1 bilit e pour que z2 = z1 est 1 ; la probabilit e pour que z3 soit distinct de n 2 z1 et z2 est 1 , etc... n La probabilit e de collision est donc 1 1 n 1 k1 1 ... 1 = n n
k 1

1
i=1

i n

avec un peu danalyse el ementaire on voit facilement en utilisant lapproximation ex 1 x si x petit

66 que:
k 1 i=1

CHAPITRE 9. FONCTIONS DE HACHAGE

i 1 n

k 1

e n = e
i=1

k(k1) 2n

La probabilit e dune collision est donc 1 e 2n . Si lon veut que cette probabilit e soit inf erieure ` a alors il sut de prendre k 2n log 1 1

k(k1)

Par exemple dans une assembl ee de 23 personnes la probabilit e davoir deux dates danniversaire egales est sup erieure ` a 1/2. Une empreinte de 40 bits est vuln erable ` a une attaque des anniversaires avec probabilit e sup erieure ` a 1/2 en utilisant seulement 220 messages al eatoires. 64 Pour une empreinte de 128 bits il faut 2 messages al eatoires. Le choix dune empreinte de 160 bits donne une bonne r esistance aux attaques anniversaires. Mais laugmentation de la puissance de calcul disponible pour un attaquant pousse ` a augmenter la taille des empreintes, cest pourquoi AES pr evoit des empreintes de 256 ` a 512 bits.

9.1.2

Exemple acad emique de fonction de hachage.

Fonction de hachage de Chaum-van Heijst-Ptzmann. Elle nest pas utilis ee en pratique car trop lente. Soit p = 1 + 2q un grand nombre premier tel que q soit aussi premier. Soit et deux el ements primitifs de (Z/pZ) . La valeur de log nest pas publique et lon suppose quelle est calculatoirement dicile ` a obtenir. On d emontre que la fonction de hachage h : {0, 1 . . . , q 1} {0, 1 . . . , q 1} (Z/pZ) (x1 , x2 ) h(x1 , x2 ) = x1 x2 r esiste aux collisions si le calcul de log est dicile.

9.1.3

Fonction de hachage standard.

Un standard actuel en mati` ere de fonction de hachage est SHA-1 (Secure Hash Algorithm ) avec une empreinte de taille 160 bits, faisant suite aux standard MD4 (1990), MD5 (1992), SHA (1995), cf. [23].

9.1. CONSTRUCTION DES FONCTIONS DE HACHAGE

67

Depuis 2001, une nouvelle version de SHA-1, SHA-2, ainsi que les versions SHA-256, SHA-384 et SHA-512 sont en cours de validation (256, 384, 512 est la taille en bits de lempreinte).

Chapitre 10
Quelques protocoles cryptographiques.

10.1

Protocoles de signature.

Nous avons d ej` a d ecrit des protocoles de signature RSA et El Gamal. Nous allons d ecrire un protocole de signature utilisable avec les cryptosyst` emes sym etriques et nous allons rappeler le protocole de signature pour un cryptosyst` eme ` a clef publique d ej` a d ecrit.

10.1.1

Protocole de signature ` a clef priv ee.

Signature dun document ` a laide dun cryptosyst` eme ` a clef secr` ete et dun arbitre ou tiers de conance . Les utilisateurs dun cryptosyst` eme ` a clef publique se choisissent un arbitre, Yvan, cest ` a dire une entit e (personne, organisation, machine) en qui ils ont toute conance. Yvan communique avec Alice et Bob. Il partage une cl e secr` ete KA avec Alice et une cl e secr` ete KB avec Bob. Le protocole de signature est alors le suivant 1. Alice chire son message pour Bob avec la cl e KA et envoie le r esultat a Yvan. ` 2. Yvan d echire le message avec KA et garde loriginal. 3. Yvan assemble le message avec un avis certiant que le message vient dAlice. Il chire le tout avec KB et lenvoie ` a Bob. 4. Bob d echire le message dYvan avec KB . Il lit le message et le certicat dYvan. 68

10.1. PROTOCOLES DE SIGNATURE

69

5. Comme il a conance en Yvan, il admet que le message re cu est conforme ` a loriginal et vient bien dAlice. Ce protocole est-il s ur? Les 3 qualit es que lon demande ` a un cryptosyst` eme sont-elles bien pr esentes: Int egrit e des donn ees. Identit es des di erents interlocuteurs. Non-r epudiation. Bien s ur on suppose quAlice garde bien secr` ete la clef quelle partage avec Yvan et quYvan est vraiment un tiers de conance. 1. La signature est authentique car Yvan est respect e et seul Alice et lui connaissent KA donc la message vient bien dAlice. 2. La signature est infalsiable. Seule Alice (et Yvan qui est insoup connable) connait KA , donc seule Alice peut envoyer le message cod e avec KA . 3. La signature nest pas r eutilisable pour un autre message. Si Bob essaie de prendre le certicat dYvan et de lassocier ` a un autre message cens e provenir dAlice, cette derni` ere crierait ` a limposture. Larbitre demandera alors ` a Bob de produire le texte en clair. Il le chirerait avec KA et comparerait avec le message original dAlice. Il verra quils sont di erents et en informera qui de droit. 4. Le document est immuable. Si Bob falsiait le message apr` es lavoir re cu, Yvan pourrait d evoiler limposture comme ci-dessus. 5. La signature ne peut pas etre reni ee. Si Alice pr etend ne pas avoir envoy e le message, le certicat dYvan prouverait le contraire (tout le monde a conance en Yvan). Bob pourrait nier avoir re cu le message mais alors un syst` eme daccus e de r eception permettrait d eviter ce probl` eme.

10.1.2

Protocole de signature ` a clef publique.

Le protocole est simple 1. Alice chire le document dune part avec sa cl e priv ee, signant ainsi le document, et dautre part avec la cl e publique de Bob

70CHAPITRE 10. QUELQUES PROTOCOLES CRYPTOGRAPHIQUES 2. Alice envoie les deux document ` a Bob. 3. Bob d echire le premier document avec la cl e publique dAlice et le second avec sa cl e priv ee. Si les deux sont identiques il est s ur quAlice est lexp editeur. Ce protocole est-il s ur? Les 3 qualit es que lon demande ` a un cryptosyst` eme sont-elles bien pr esentes: Int egrit e des donn ees. Identit es des di erents interlocuteurs. Non-r epudiation. Bien s ur on suppose que chacun des correspondants ne communique ` a personne sa cl e secr` ete 1. La signature est authentique: quand Bob v erie le message avec la cl e publique dAlice, il est s ur que seule Alice pouvait lavoir crypt e avec sa cl e priv ee. 2. La signature est infalsiable. Seule Alice connait sa cl e priv ee. 3. La signature nest pas r eutilisable. La signature est une fonction du document et elle ne peut pas etre transf er ee sur nimporte quel autre document. 4. Le document est immuable. Si Bob falsiait le message apr` es lavoir re cu, il ne pourrait pas le signer car la cl e priv ee dAlice nest connue que delle seule. 5. La signature ne peut pas etre reni ee. Bob na pas besoin de laide dAlice pour v erier sa signature.

10.2

Protocoles de datation.

Dans certaines circonstances Bob peut duper Alice. Il peut r eutiliser le document (par exemple un ch` eque sign e) et le pr esenter plusieurs fois ` a la banque. Pour l eviter les signatures num eriques comportent souvent une datation (date+heure). Cette datation de la signature est attach ee au message et sign ee avec lui. La banque stocke ces datations dans une base de donn ees.

10.3. SIGNATURE AVEC FONCTION DE HACHAGE

71

10.2.1

Protocole de datation.

On peut coner la datation des documents ` a un service ociel de datation. Bob veut dater une signature du message x. Il dispose dune fonction de hachage ` a sens unique, h. Il suit alors le protocole suivant 1. Bob calcule z = h(x) et y = sigK (z ) 2. Bob soumet (z, y ) au service de datation. 3. Le service de datation ajoute la date D et signe le triplet (z, y, D) Bob peut aussi dater un document, x, seul. Pour cela il collecte un certain nombre d informations publiques r ecentes (qui nauraient pas pu etre pr edites auparavant), not ee pub. Par exemple les derniers r esultats des courses hippiques et les cours actuels de la bourse. Il dispose aussi dune fonction de hachage publique ` a sens unique, h. Bob suit alors le protocole suivant: 1. Bob calcule z = h(x) 2. Bob calcule z = h(z ||pub) 3. Bob calcule y = sigK (z ) 4. Bob publie (z, pub, y ) dans le prochain quotidien La date de la signature de Bob est comprise entre la date des informations pub et la date de parution du quotidien.

10.3

Protocole de signature ` a clef publique et fonction de hachage.

Les algorithmes ` a clef publique sont trop lents pour signer de longs documents. Pour gagner du temps les protocoles de signature num erique sont souvent r ealis es avec des fonctions de hachage ` a sens unique. Au lieu de signer le document Alice signe lempreinte du document en suivant le protocole suivant: 1. Alice calcule ` a laide de la fonction de hachage ` a sens unique, lempreinte du document.

72CHAPITRE 10. QUELQUES PROTOCOLES CRYPTOGRAPHIQUES 2. Alice chire, ` a laide de lalgorithme de signature num erique, cette empreinte avec sa clef priv ee, signant par la m eme occasion le document. 3. Alice envoie le document et lempreinte sign ee ` a Bob (` a laide de la clef publique de Bob). 4. Bob calcule, ` a laide de la fonction de hachage ` a sens unique, lempreinte du document quAlice lui a envoy e. Ensuite ` a laide de lalgorithme de signature num erique, il d echire lempreinte sign ee avec la clef publique dAlice. La signature est valide si lempreinte de la signature est la m eme que lempreinte quil a produite. Avantage de ce proc ed e: rapidit e de la transmission et de la comparaison des empreintes car une empreinte ne comporte que 160 bits ou au plus 512. condentialit e car la signature peut etre gard ee ` a part du message. On peut donc v erier lexistence du document sans stocker son contenu.

10.4

Fonction de hachage et mot de passe.

Pour acc eder ` a un ordinateur (ou ` a un distributeur de billet) on utilise souvent un mot de passe qui doit etre reconnu par lordinateur. Sil est stock e dans lordinateur il y a danger pour la s ecurit e car un ordinateur peut etre facilement inltr e (virus). Gr ace ` a la fonction de hachage on peut r esoudre ` a ce probl` eme: On dispose dune fonction de hachage ` a sens unique, h. Lordinateur ne stocke pas le mot de passe mp dAlice mais le r esultat de la fonction de hachage ` a sens unique appliqu ee ` a mp. Le protocole est donc le suivant: 1. Alice envoie son mot de passe mp ` a lordinateur. 2. Lordinateur calcule h(mp) 3. Lordinateur compare le r esultat de ce calcul ` a celui quil a dans sa base de donn ees. Ce protocole permet de se d efendre contre le vol de la base des donn ees des mots de passe des utilisateurs. En fait on peut encore am eliorer ce protocole avec les protocoles de preuve sans transfert de connaissance.

10.5. PREUVE SANS TRANSFERT DE CONNAISSANCE

73

10.5

Preuve sans transfert de connaissance.

Un jeu de Pile ou face par T el ephone. Consid erons la situation suivante, cf. [27]. Alice et Bob viennent de divorcer et habitent dans des villes di erentes et veulent par t el ephone tirer ` a pile ou face pour savoir ` a qui va echoir la voiture, la machine ` a laver, les livres, etc... Mais Bob h esite ` a dire ` a Alice face pour sentendre dire voil` a je jette une pi` ece,..., elle retombe,..., pas de chance cest pile. Ils veulent un protocole qui evite toute tricherie. Ils se donnent un ensemble E par exemple E = {0, 1, . . . , n} et une partition E = X0 X1 de E , X0 sera les entiers pairs de E et X1 les entiers impairs de E . Puis ils se mettent daccord sur une fonction ` a sens unique, f , de E dans un ensemble F . On consid` ere le protocole suivant 1. Alice choisit un el ement x E al eatoirement (cest le jet de la pi` ece), calcule y = f (x) et communique y ` a Bob (Bob ne peut pas retrouver x` a partir de y car f est ` a sens unique). 2. Bob choisit son bit al eatoire b {0, 1} et lannonce ` a Alice 3. Alice d eclare qui a gagn e suivant que x Xb ou non: elle prouve sa bonne foi en r ev elant x 4. Bob se convainc quil ny a pas eu tricherie en v eriant que y = f (x) Ce protocole est-il s ur: 1. Si la fonction f est bien choisie la donn ee de f (x) napprend rien ` a Bob sur x. 2. Pour quAlice ne puisse pas tricher, il faut sassurer quelle ne peut pas fabriquer deux entiers x0 X0 et x1 X1 tels que f (x0 ) = f (x1 ), par exemple on peut prendre f bijective car lensemble est de taille r eduite. 3. f doit etre ` a sens unique en un sens fort pour que la connaissance de f (x) napprenne rien ` a Bob sur lappartenance de x ` a X0 ou X1 Ce protocole met en evidence la notion dengagement : Alice sengage sur x en publiant f (x). Cela ne r ev` ele rien sur x mais force Alice ` a ne pas modier son choix.

74CHAPITRE 10. QUELQUES PROTOCOLES CRYPTOGRAPHIQUES

10.5.1

Protocole de preuve sans transfert de connaissances.

Le protocole pr ec edent peut etre utilis e dans beaucoup de situation o` u lon veut prouver que lon connait un secret sans avoir besoin de le r ev eler. Pour acc eder ` a un ordinateur on donne son mot de passe qui est reconnu par lordinateur et donc stock e dedans. Si lordinateur auquel on se connecte est lointain, le mot de passe circule (crypt e) sur des canaux qui risquent d etre espionn es. Pour la s ecurit e il faudrait le changer souvent. Si la connexion est coup ee accidentellement, il faut le redonner sans avoir la possiblit e den changer. Le clavier sur lequel on compose le mot de passe peut etre espionn e. Il y a donc un int er et ` a avoir un syst` eme de reconnaissance sans envoi de mot de passe m eme crypt e. Pour cela il faut disposer dun secret personnel s et dun protocole qui permet de persuader lordinateur (ou la personne) auquel on se connecte (sadresse) quon connait s sans avoir ` a le r ev eler et ce ` a chaque fois ` a laide de messages diff erents. De tels protocoles existent ce sont des applications des id ees de complexit e calculatoire et de fonctions ` a sens unique. Exemples 10 (Preuve de possession dun logarithme discret). Cet exemple est tir e de [27]. On se donne p un nombre premier et g une racine primitive modulo p (th eor` eme 11.3.13 page 94) qui sont publics et tels que le probl` eme du logarithme discret soit un probl` eme calculatoirement dicile. Supposons que P (le prouveur) d etienne le nombre secret s et soit identi e s par I = g mod p. Il sagit de convaincre V (le v ericateur) que P connait s. Consid erons le protocole suivant: 1. P choisit un r mod p 1 al eatoire, il calcule t = r (mod p) et le communique ` a V. 2. V choisit un bit al eatoire = 0, 1 et le communique ` aP 3. P donne x ` a V o` u x r mod p 1 xr+s si = 0 si = 1

10.5. PREUVE SANS TRANSFERT DE CONNAISSANCE x = t mod p x It mod p si = 0 . si = 1

75

V v erie alors que

Comme dans le protocole de pile ou face P sest engag e sur r en communiquant t = r . Que peut faire un imposteur P qui ne connait pas s et veut se faire passer pour P aupr` es de V . Il peut suivre le protocole et esp erer que = 0; dans le cas contraire il ne saura pas quel y communiquer ` a V. Il peut au contraire choisir un r al eatoire et communiquer ` a V la r quantit et = . Si V choisit = 1 alors P donne x = r et survit ` a I x la v erication = t I . Mais si = 0 alors P ne sait que faire. Donc quel que soit la mani` ere dont P sy prenne il na quune chance sur deux de donner la bonne r eponse. 1. Au bout de k applications du protocole, V est convaincu avec proba1 bilit e de 1 k que son interlocuteur d etient un logarithme de I 2 2. Linformation r ev el ee ` a V nest quune liste dentiers modulo p al eatoires et de leurs images par lexponentielle x x . Le v ericateur V aurait pu aussi bien se la constituer seul en choisissant au hasard des entiers modulo p et en les exponentiant modulo p. 3. P na r ev el e aucune information sur son secret le logarithme de I . Cest un exemple de protocole interactif et sans transfert de connaissance (zero knowledge proof). Il y a dautres protocoles qui permettent par exemple de r ealiser un transfert inconscient .

10.5.2

Transfert inconscient.

Alice dispose dun ensemble de m secrets {s1 , s2 , . . . , sm }. Alice est pr ete ` a en donner (vendre) un ` a Bob. Bob aimerait obtenir le secret si , mais il ne souhaite pas r ev eler ` a Alice lequel des secrets lint eresse. Il existe des protocoles, [27], qui donnent une solution ` a ce probl` eme:

76CHAPITRE 10. QUELQUES PROTOCOLES CRYPTOGRAPHIQUES 1. ils permettent ` a Bob de disposer de si 2. ils ne lui donnent aucune information sur les autres secrets sj , j = i 3. ils ne permettent pas ` a Alice de savoir quel secret elle a livr e` a Bob

Chapitre 11
Rappels Math ematiques.

11.1

Th eorie de linformation.

La th eorie de linformation qui est due ` a Claude Shannon dans un article fondateur paru en 1949, [18], utilise quelques notions de probabilit e qui sont rappel ees ci-dessous.

11.1.1

Rappels de probabilit es discr` etes.

D enition 11.1.1. Une variable al eatoire discr` ete, X, consiste en un ensemble X , une distribution de probabilit es discr` etes (px )xX sur X et de la donn ee Pr[X = x]: la probabilit e que X se r ealise en x. Par d enition on a x X, 0 Pr[X = x] 1, et
x X

Pr[X = x] = 1

Exemples 11. Le jet dune pi` ece de monnaie est une variable al eatoire, X, d enie sur lensemble X = {pile, face}, la probabilit e associ ee etant Pr[X = 1 pile] = Pr[X = face] = 2 Exemples 12. Jet al eatoire dune paire de d es. On peut le mod eliser par la variable al eatoire Z sur lensemble Z = {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6} 1 muni de la probabilit e Pr[Z = (i, j )] = Pr[(i, j )] = . Si on veut calculer 36 la probabilit e pour que la somme des deux d es lors dun lancer soit 4. Cette valeur correspond ` a l ev` enement S4 = {(1, 3), (2, 2), (3, 1)} = Pr[S4 ] = 77 3 1 = 36 12

78

CHAPITRE 11. RAPPELS MATHEMATIQUES

Pour d enir la condentialit e parfaite on introduit les d enitions suivantes: D enition 11.1.2. Soient deux variables al eatoires X et Y d enies sur des ensembles nis X et Y respectivement. La probabibilit e mutuelle Pr[X = x, Y = y ] = Pr[x, y ] est la probabilit e pour que X se r ealise en x et Y se r ealise en y . La probabilit e conditionnelle Pr[X = x|Y = y ] = Pr[x | y ] est la probabilit e que X se r ealise en x sachant que Y sest r ealis e en y . D enition 11.1.3. Les variables al eatoires X et Y sont dites des variables al eatoires ind ependantes si Pr[x, y ] = Pr[x|y ] pour tout x X et tout yY On a la proposition Proposition 11.1.4. On a la relation entre probabilit e mutuelle et probabilit e conditionnelle Pr[x, y ] = Pr[x|y ] Pr[y ] D emonstration: Cest evident. On a le th eor` eme important suivant Th eor` eme 11.1.5 (Th eor` eme de Bayes). Si Pr[y ] > 0, on a Pr[x|y ] = Pr[x] Pr[y |x] Pr[y ]

D emonstration: Dapr` es la proposition 11.1.4 on a Pr[x, y ] = Pr[x|y ] Pr[y ] et en echangeant x et y on aussi Pr[x, y ] = Pr[y |x] Pr[x].

11.1.2

Condentialit e parfaite.

On consid` ere un cryptosyst` eme (P , C , K, E , D) (d enition 5.0.2 page 24) et on suppose quune clef K K nest utilis ee quune fois. On suppose que lespace des textes clairs P est muni dune distribution de probabilit es associ ee ` a une variable al eatoire x sur P , on d enit Pr[x = x] comme etant la probabilit e a-priori doccurence du texte clair x. De m eme on suppose que lespace des clefs K est muni dune distribution de probabilit es associ ee ` a la variable al eatoire K sur lespace des clefs K, on

11.1. THEORIE DE LINFORMATION

79

d enit Pr[K = K ] la probabilit e pour que la cl e K soit utilis ee (souvent on suppose les cl es equiprobables). Rappelons que la clef est toujours choisie par Alice et Bob avant de savoir quel message Alice va transmettre. On peut donc supposer que les variables al eatoires x et K sont ind ependantes. Les deux distributions de probabilit es sur P et C induisent une distribution de probabilit e sur lespace des messages chir es C associ ee ` a la variable al eatoire y. Un tel syst` eme sera dit probabilis e. On pose pour K K x e et pour eK E la fonction de chirement associ ee C (K ) = {eK (x) : x P} C (K ) est lensemble des messages chir es avec la clef K . Pour tout y C on a Pr[y = y ] = Pr[K = K ] Pr[x = dK (y )]
K K,y C (K )

o` u dK D est la fonction de d ecodage associ ee ` a la cl e K. On a par application du th eor` eme de Bayes Pr[x = x|y = y ] = On pose la d enition D enition 11.1.6. Un syst` eme cryptographique probabilis e (P , C , K, E , D) assure une condentialit e parfaite si Pr[x|y ] = Pr[x] pour tout x P et tout y C , cest ` a dire si la probabilit e a-posteriori que le texte clair soit x sachant que le texte chir e est y est egale ` a la probabilit e a-priori que le texte clair soit x. On d emontre les th eor` emes suivants Th eor` eme 11.1.7. Si les vingt-six clefs dun chirement par d ecalage (code 1 de Cesar) sont utilis ees avec la m eme probabilit e alors pour toute distri26 bution dun bloc de texte clair on a condentialit e parfaite. Th eor` eme 11.1.8. Un syst` eme cryptographique probabilis e (P , C , K, E , D) tel que |K| = |C| = |P| assure une condentialit e parfaite si et seulement si 1 chaque clef est utilis ee avec la m eme probabilit e et si pour chaque x P |K| et chaque y C , il existe une clef K unique telle que eK (x) = y Pr[x = x]
K K,y C (K ) Pr[K

= K]

K K,y C (K ) Pr[K

= K ] Pr[x = dK (y )]

80

CHAPITRE 11. RAPPELS MATHEMATIQUES

Ce th eor` eme est une mise en forme des remarques faites lors de l etude du code de Vernam. On voit bien la di erence quil y a entre condentialit e parfaite et code incassable. Un code de C esar est ` a condentialit e parfaite dapr` es le th eor` eme pr ec edent pourtant il est facilement cassable.

11.1.3

Entropie.

Pour etudier la situation plus r ealiste o` u une cl e est utilis ee plusieurs fois, Claude Shannon a introduit la notion dentropie qui permet de mod eliser linformation r ev el ee ` a un opposant lors dutilisations multiples dune m eme cl e. D enition 11.1.9. Soit une variable al eatoire X d enie sur un ensemble ni X . Lentropie de la variable al eatoire X est d enie comme etant la quantit e H (X) = Pr[x] log2 Pr[x]
x X

Cest une notion qui vient de la thermodynamique. On d enit ensuite lentropie H (L) dun langage naturel L comme le fran cais ou langlais. On essaye de quantier les informations quapporte le fait quen fran cais le Q est presque toujours suivi du U et quun S est assez souvent suivi dun autre S etc... On se donne un cryptosyst` eme (P , C , K, E , D) en langue naturelle L. On d enit sa redondance HL RL = 1 log2 |P| On choisit une clef et un ensemble ni de messages clairs que lon chire avec cette cl e. On appelle clefs parasites les clefs de K qui donnent les m emes messages chir es pour le m eme ensemble de message. D enition 11.1.10. La distance dunicit e dun cryptosyst` eme est la plus petite valeur n, not ee n0 , telle que le nombre moyen de clefs parasites soit nul. Cest la quantit e de texte chir e n ecessaire ` a un opposant disposant de susamment de temps de calcul pour d eterminer la clef. On montre que n0 |K| . Par exemple pour le chirement par RL log2 |P| substitution sur les 26 lettres de lalphabet |P| = 26, |K| = 26!, si lon prend RL = 0, 75 qui est une valeur admise pour langlais, il vient n0 25. Ceci montre que pour un message de 25 lettres il ny a en principe (en moyenne) quun seul d echirement possible (cf. les alphabets T9 sur les portables).

11.2. THEORIE DE LA COMPLEXITE

81

11.2

Th eorie de la complexit e.

Le but de cette th eorie est de classier les probl` emes algorithmiques en fonction de leur dicult e. Il faut donc un mod` ele dodinateur. Le plus utilis e est celui des machines de Turing (Alan Turing, 1912-1954). Une machine de Turing est la donn ee de 1. un alphabet ni 2. une bande innie dans les deux sens form ee de cases. Dans chaque case peut etre inscrit au plus un symbole de . Les cases vides sont marqu ees par un symbole sp ecial . On pose = . la bande mod elise la m emoire de lordinateur. A chaque instant seul un nombre ni de cases de la bande contient un symbole de . 3. une t ete de lecture/ ecriture qui se d eplace dune case ` a lautre. 4. un ensemble ni d etats Q, lun dentre eux etant appel e l etat initial. 5. un programme ou fonction de transition, compos e dun tableau, index e par Q et . Pour chaque couple (q, s) Q le programme poss` ede au plus une instruction qui sera ex ecut ee quand la machine sera dans l etat q et que la t ete de lecture lira le symbole s. Cette instruction est cod ee (q , s , d) avec q Q, s d {gauche,droite}. Son ex ecution consiste ` a ecrire le symbole s a ` la place de s ` a d eplacer la t ete de lecture dans la direction d et ` a placer la machine dans l etat q . Pour faire fonctionner la machine de Turing on inscrit une suite nie de symboles sur la bande. On place la machine dans l etat initial et on positionne la t ete de lecture sur la premi` ere case ` a gauche contenant un symbole de . Ensuite la machine ex ecute le programme et sarr ete quand elle ne poss` ede pas dinstructions correspondant au symbole lu et l etat o` u elle se trouve.

82

CHAPITRE 11. RAPPELS MATHEMATIQUES

Exemples 13. Testeur de parit e. Cette machine teste la parit e du nombre de 1 dans un nombre n ecrit en base 2. Elle sarr ete dans l etat qi si n a un nombre impair de 1 et elle sarr ete dans l etat qp si n poss` ede un nombre pair de 1. = {0, 1}, Q = {q0 , q1 , qp , qi }, etat initial q0 , fonction de transition 0 1

q0 (q0 , , droite) (q1 , , droite) (qp , , droite) q1 (q1 , , droite) (q1 , , droite) (qi , , droite) Il y a aussi des machines de Turing non d eterministes qui peuvent avoir plusieurs instructions possibles pour un couple de (Q, ). La machine choisit au hasard quelle instruction ex ecuter.

11.2.1

D ecidabilit e.

On introduit les d enitions suivantes D enition 11.2.1. Soit un alphabet et lensemble des mots sur . Un langage sur est une partie de D enition 11.2.2. Soit M une machine de Turing sur lalphabet et qy un etat de M . On dit que M accepte la donn ee x (par l etat qy ) si M sarr ete dans l etat qy lorsque la donn ee est x. Lensemble des mots accept es par M sappelle le langage reconnu par M que lon note Lqy (M ) = L(M ) Le compl ementaire de L(M ) dans est lensemble des mots pour lesquels soit M ne sarr ete pas soit M sarr ete dans un etat = qy . D enition 11.2.3. Un probl` eme de d ecision D appartient ` a la classe P sil existe une machine de Turing d eterministe qui le r esoud en un temps polyomial en fonction de la taille des donn ees (i.e. du nombre de symboles de apparaissant dans la donn ee). Si = {0, 1} alors le probl` eme de d ecision appartient ` a la classe P des probl` emes polynomiaux en temps si x D Ctemps (x) = O(polyn ome en log2 (x))

11.2. THEORIE DE LA COMPLEXITE

83

Un probl` eme de d ecision D appartient ` a la classe NP des probl` emes non polynomiaux en temps sil existe une machine de Turing non-d eterministe qui le r esoud en un temps polynomial Conjecture 1. P=NP. Autrement dit il existe au moins un probl` eme pour lequel on peut montrer quil nexiste pas de machine de Turing d eterministe pour le r esoudre en temps polynomial et qui peut etre r esolu en temps polynomial par une machine de Turing non-d eterministe.

11.2.2

Complexit e algorithmique.

Si on veut ex ecuter un algorithme sur une donn ee x deux co uts sont ` a envisager. le co ut en temps Ctemps (x), cest ` a dire le nombre dop erations effectu ees pour obtenir le r esultat nal ou plus formellement le nombre de d eplacements de la t ete de lecture/ ecriture avant arr et de la machine de Turing mod elisant lordinateur. le co ut en espace , Cespace (x) est la taille de la m emoire utilis ee, plus formellement le nombre de case de la bande ecrite au moins une fois. On distingue essentiellement deux notions de complexit e algorithmique la complexit e polynomiale et la complexit e non polynomiale (sous entendu en fonction de la taille des donn ees). Quel est le co ut acceptable pour un probl` eme donn e. Il ny a ni r eponse claire ni r eponse absolue. En 2000 on estimait que 240 op erations el ementaires est accessible ` a un particulier sil est patient. 256 op erations el ementaires est accessible avec de gros moyens. 280 op erations el ementaires est hors de port ee de quiconque. Soit un algorithme dont le nombre dop erations elementaires en fonction de la taille n de lentr ee est d ecrit par la fonction f . On dispose dun ordinateur faisant 109 op erations el ementaires par secondes. Le temps pris par lalgorithme suivant les instances de f est:

84

CHAPITRE 11. RAPPELS MATHEMATIQUES

log2 (n)

log3 2 (n)

n log2 (n)

n2

2n

n = 100

6, 6 109 s

4, 4 107 s

7, 5 s

6, 7 107 s

105 s

4 1013 ans

n = 105

1, 7 108 s

5, 2 106 s

104 s

1, 7 103 s

10 s

1030086 ans

n = 1010 s

3, 3 108

3, 5 105 s

10 s

330 s

3 si` ecles

10310

ans

n = 1020

6, 6 108 s

2, 3 104 s

30 si` ecles

105 ans

1023 ans

!!!

11.2.3

Algorithmes polynomiaux en fonction de la taille des donn ees.

On d ecompose tout algorithme arithm etique en op erations el ementaires . Lop eration el ementaire est laddition de 3 chires en base 2 et le report de la retenue retenue + chire 1 + chire 2 = r esultat + retenue D enition 11.2.4. On dit quun algorithme est polynomial en fonction de la taille des donn ees sil peut etre d ecompos e en un nombre dop erations el ementaires major e par une fonction polynomiale du nombre de chires des donn ees. Exemples 14. Montrons que laddition de deux nombres de tailles k est une fonction polynomiale de k 1 1 1 1 1 1 1 1 0 0 + 0 0 1 1 1 1
retenue 0 ligne 1 0 ligne 2

1 0 0 1 0 1 1 0 r esultat On suppose que le plus grand des entiers a k chires. D ecomposons la somme en op erations el ementaires 1. Regarder dans la colonne i (1 i k + 1) les chires des lignes lignes 1, 2 et retenue 2. Sil y a 0 dans les lignes 1, 2 et retenue mettre 0 dans la ligne r esultat et aller ` a la colonne i + 1

11.2. THEORIE DE LA COMPLEXITE

85

3. Sil y a un 0 dans deux des lignes 1 et 2 et retenue on reporte 1 dans la ligne r esultat et on passe ` a la colonne i + 1 4. Sil y a un 1 dans deux des lignes 1 et 2 et retenue on reporte 0 dans la ligne r esultat on met 1 dans la ligne retenue ` a la colonne i + 1 et on passe ` a la colonne i + 1 5. Sil y a un 1 dans les 3 lignes 1 et 2 et retenue on reporte 1 dans la ligne r esultat on met 1 dans la ligne retenue ` a la colonne i + 1 et on passe ` a la colonne i + 1 On admet en premi` ere approximation que le temps n ecessaire pour faire k op erations el ementaires est proportionnel ` a k avec une constante d ependant de lordinateur et de limplantation de lalgorithme. Exemples dalgorithmes polynomiaux en fonction de la taille des entr ees: Laddition de deux entiers n m de longueur k est polynomial en fonction de la taille des entr ees car (en premi` ere approximation) il faut C k = O(k ) = O(log2 (m)) op erations Ajouter deux entiers de 100 chires en base 10 avec un ordinateur faisant 109 op erations par secondes n ecessite 300 109 sec 3sec. La multiplication de deux entiers n m de taille k et 2 k = O log2 erations 2 (m) op Multiplier deux entiers de 100 chires en base 10 n ecessite 90000 9 10 sec 10 sec. Calcul du PGCD de deux entiers, n m de taille k O(k 3 ) = O log3 erations 2 (n) op Trouver le PGCD de deux entiers de 100 chires en base 10 n ecessite 27000000 109 0, 027 sec. Calculer bm mod n n ecessite O log3 erations. 2 (n) op D ecider si un nombre entier n de taille k est premier ou non n ecessite
O k 6+ = O log6+ erations 2 (n) op d ef

n ecessite

n ecessite

86

CHAPITRE 11. RAPPELS MATHEMATIQUES Tester si un entier de 100 chires en base 10 est premier n ecessite avec lalgorithme polynomial 1026 sec 109 ann ees. Il y a des algorithmes pour tester la primalit e dun entier non polyn omiaux et/ou non d eterministes qui sont plus ecaces pour des nombres pas trop grands.

le dernier exemple montre que si le polyn ome est de degr e trop elev e ( 3, un algorithme polynomial peut avoir un co ut prohibitif. Exemples dalgorithmes non polynomiaux en fonction de la taille des entr ees Calcul de n! = 1 2 . . . (n 1) n, si lon calcule brutalement il faut environ 2 2 C n2 log2 erations 2 n = O (n log2 n) op Calculer 10100 ! n ecessite 10190 sec 10180 ann ees!!! Recherche dun diviseur dun entier n, les meilleurs algorithmes n ecessitent 0 eC log2 n log2 log2 n op erations, C 2 Trouver un diviseur dun nombre de 100 chiffres en base 10 n ecessite e30 109 105 sec 1, 1jours. Un tel algorithme est dit sousexponentiel.

11.3

Rappels darithm etique.

Ainsi quon la vu dans la description des cryptosyst` emes ` a cl e publique RSA et El Gamal, leur principe est bas e sur de larithm etique el ementaire.

11.3.1

La division euclidienne.

Les entiers naturels N = {1, 2, 3 . . . } sont munis de deux op erations internes laddition, not ee +, et la multiplication, not ee ou ou m eme sans symbole, et dune relation dordre total, not ee , compatible avec laddition et la multiplication cest ` a dire a, b N, a b = c N; a + c b + c a, b N, a b = c N; a c b c On d enit sur N la division euclidienne

11.3. RAPPELS DARITHMETIQUE

87

D enition 11.3.1. Si a et b sont deux entiers (b = 0) il existe un unique couple dentiers q et r tel que a=bq+r et ou bien ou bien r=0 1r b1

on dit que b est un diviseur de a sil existe q N tel que a = bq , on note a | b pour dire a divise b. Tout entier a poss` ede au moins deux diviseurs triviaux 1 et lui-m eme car on a toujours a = 1 a, a = a 1 Mais il peut en avoir dautres par exemple 6 = 2 3, 28 = 4 7 = 2 2 7 = 2 14 donc 1, 2, 3 et 6 sont des diviseurs de 6 et 1, 2, 4, 7, 14 et 28 sont des diviseurs de 28. La division euclidienne implique que Z, les entiers relatifs, est un anneau euclidien, i.e. quil est muni de deux lois de composition interne laddition et la multiplication qui poss edent certaines propri et es et dune division euclidienne, cf. [19], 1. La loi + est commutative (pour tout (a, b) Z2 on a a + b = b + a), associative ( pour tous (a, b, c) Z3 on a (a + b) + c = a + (b + c), il y a un el ement neutre, 0, tel que pour tout a Z on a a + 0 = 0 + a = a, tout el ement a Z poss` ede un oppos e b = a tel que a + b = b + a = 0. 2. La loi est commutative (a b = b a), associative ((a b) c = a (b c)), il y a un el ement neutre, 1, (a 1 = 1 a = a), la multiplication est distributive par rapport ` a laddition ((a + b) c = (a c) + (b c) Dans les entiers naturels on distingue 1 qui est une unit e , cest ` a dire que 1 poss` ede un inverse pour la multiplication (il existe b N tel que 1 b = b 1 = 1) qui est 1. les nombres premiers qui nont pas dautres diviseurs que les diviseurs triviaux i. e. 1 et lui m eme (e.g. 2,3,5,7,...,37,....). Le th eor` eme suivant qui d ecoule de lexistence de la division euclideienne est appel e le th eor` eme fondamental de larithm etique

88

CHAPITRE 11. RAPPELS MATHEMATIQUES

Th eor` eme 11.3.2. Tout nombre entier di erent de 1 poss` ede une unique d ecomposition en facteurs premiers ` a lordre pr` es des facteurs, certains facteurs peuvent etre r ep et es. D emonstration: Pour la preuve voir [19] Autrement dit si a N, a 2, alors il existe des nombres premiers p1 , p2 ,..., pna non n ecessairement distincts tels que a = p1 p2 pn , pi premier pour 1 i n

lentier n d epend de a. Lunicit e` a lordre pr` es des facteurs impose que si on a une egalit e a = q1 q2 qm , qj premier pour 1 j m

alors n ecessairement n = m et il existe une permutation des entiers de 1 a na telle que ` p1 = q(1) , p2 = q(2) , . . . , pn = q(n). On peut ecrire la d ecomposition en facteurs premiers de a N en regroupant tous les nombres premiers egaux, alors
1 2 a = p avec p1 < p2 < < p , 1 p2 . . . p

pi premier pour 1 i

Lunicit e` a lordre pr` es des facteurs impose que si on a une egalit e


1 2 k avec q1 < q2 < < q , a = q1 q2 . . . q k

qj premier pour 1 j k

alors = k et i = i , pour 1 i Exemples 15. 10780 = 22 5 72 , 4200 = 23 3 52 7 11

11.3.2

Plus Grand Commun Diviseur ou PGCD.

Le plus grand commun diviseur abr eg e en PGCD en fran cais et GCD (Greatest Common Divisor )en anglais est d eni de la mani` ere suivante D enition 11.3.3. Le plus grand commun diviseur de deux nombres entiers a et b est le plus grand des entiers qui divisent ` a la fois a et b, on le note PGCD(a, b) ou a b ou encore (a, b). Lensemble d N d divise a et d divise b est non vide, car 1 divise toujours a et b, et il est born e par le plus grand des deux entiers a et b, donc le PGCD existe et de plus il est toujours sup erieur ou egal ` a 1.

11.3. RAPPELS DARITHMETIQUE

89

Proposition 11.3.4. Le plus grand commun diviseur de a et de b, entiers naturels, sobtient de la mani` ere suivante. Si
1 2 r r 1 2 a = p 1 p2 . . . pr , b = p1 p2 . . . pr , avec i , i 0

sont leur d ecomposition en facteurs premiers, alors le PGCD de a et de b est: inf { , } inf { , } r ,r a b = p1 1 1 p2 2 2 . . . pinf r D emonstration: Pour la preuve voir [19] Pour calculer le PGCD ni la d enition 11.3.3 ni la proposition 11.3.4 ne sont ecaces car elles n ecessitent lune comme lautre de trouver des diviseurs de a et de b. Or les meilleurs algorithmes connus pour trouver un diviseur non trivial de a ou pour ecomposer a en facteurs premiers ce qui revient d C log2 (a) log2 log2 (a) au m eme sont en O(e . Ces algorithmes ne sont donc pas polynomiaux en temps en fonction de la taille des donn ees, leur co ut est prohibitif pour des grands nombres entiers (500 chires en base 10 par exemple) m eme avec des ordinateurs tr` es puissants. Exemples 16. Le PGCD de 4200 = 23 3 52 7 et de 10780 = 22 5 72 11 est PGCD(4200, 10780) = 4200 10780 = 22 5 7 = 140 Par contre lalgorithme de la division euclidienne fournit gr ace au th eor` eme de B ezout un algorithme tr` es ecace, polynomial en temps en fonction de la taille des donn ees, pour calculer le PGCD de deux entiers naturels.

11.3.3

Algorithme du plus grand commun diviseur ou algorithme du PGCD.

Consid erons le probl` eme suivant: Soit a b deux entiers de taille k au plus. Trouver le PGCD a b de a et de b et evaluer le nombre dop erations el ementaires n ecessaires. Proposition 11.3.5. On ecrit les divisions euclidiennes successives a = bq0 + r1 r 1 = q 2 r2 + r 3 . . . rj 1 = qj rj + rj +1 b = q 1 r 1 + r2 ... r j 2 = q j 1 r j 1 + rj rj = qj +1 rj +1

(11.1)

90

CHAPITRE 11. RAPPELS MATHEMATIQUES

avec 0 r1 < b, 0 r2 < r1 , 0 r3 < r2 ,..., 0 rj < rj +1 . On arr ete lalgorithme d` es quun reste est nul et alors a b = rj +1 D emonstration: En eet la derni` ere identit e de division enclidienne de (11.1) montre que rj +1 divise rj , lavant derni` ere identit e de division enclidienne de (11.1) montre que rj +1 divise rj et rj 1 . Puis par r ecurrence on montre que rj +1 divise a et b. Donc rj +1 est un diviseur commun de a et de b, est-ce le plus grand? Consid erons un diviseur commun de a et de b not e d. Par d enition d divise a et b donc dapr` es la premi` ere des identit es de division enclidienne de (11.1) on a | r1 , alors la deuxi` eme des identit es de division enclidienne de (11.1) implique que d | r2 puis par r ecurrence on montre que d | rj +1 . On a donc montr e que tout diviseur d commun de a et de b est un diviseur de rj +1 et comme rj +1 est un diviseur de a e de b cest le plus grand, autrement dit rj +1 = a b. Cet algorithme n ecessite O log3 erations el ementaires. 2 (n) op Exemples 17. Trouver le PGDCD de 4200 et 10780: 10780 = 2 4200 + 2380; 4200 = 2380 + 1820; 2380 = 1 1820 + 560, 1820 = 3 560 + 140, 560 = 4 140 PGCD(10780, 4200) = 140 Lalgorithme de la division euclidienne donne aussi une version eective du th eor` eme de B ezout, autrement dit une version eective du calcul du g en erateur de lid eal a, b engendr e par a et b. Th eor` eme 11.3.6 (Th eor` eme de B ezout). Soit a et b deux entiers naturels de PGCD: a b = d. Alors il existe deux entiers relatifs u, v tels que d = au + bv u et v sont appel es les coecients de B ezout. D emonstration: on reprend lalgorithme du PGCD ` a partir de la n. On ecrit avec les notations pr ec edentes d = rj +1 = rj 1 qj rj = rj 1 uj 1 (1) rj vj (qj )

11.3. RAPPELS DARITHMETIQUE = rj 1 q j rj 2 q j 1 r j 1 = rj 1 1 + q j q j 1 q j r j 2 = uj 2 (qj )rj 2 + rj 1 vj 1 (qj 1 , qj ) = rj 3 q j 2 rj 2 1 + q j q j 1 q j rj 2 = rj 3 1 + q j q j 1 rj 2 q j 2 1 + q j q j 1 + q j d = rj 3 uj 3 (qj , qj 1 ) rj 2 vj 2 (qj 2 , qj 1 , qj ) . . . = (1)j +1 au0 (q1 , . . . , qj ) + (1)j bv0 (q0 , . . . , qj ) On a une relation de r ecurrence facile sur uj et vj . uj +1 = uj 1 qj +1 uj vj +1 = vj 1 qj +1 vj Exemples 18. Relation de B ezout entre 10780 et 4200: 140 = 1820 3 560 = 1820 3 (2380 1820) = 4 1820 3 2380 = 4 (4200 2380) 3 2380 = 4 4200 7 2380 = 4 4200 7 (10780 2 4200) = 18 4200 7 10780 = 75600 75460

91

Remarque 11.3.1. Le couple (u, v )) tel que au + bv = d = a b dont lexistence est garantie par le th eor` eme de B ezout nest pas unique car si (u0 , v0 ) est un tel couple et si (x1 , y1 ) est une solution en nombres entiers relatifs de l equation ax1 + by1 = 0 alors on a encore a(u + x1 ) + b(v + y1 ) = d Par contre on a unicit e au signe pr` es si on impose 1 |u| b, Algorithme dEuclide. On donne une version de type programme de lalgorithme dEuclide. Entr ee 2 entiers positifs a et b non tous deux nuls 1 |v | a

92 Sortie a b

CHAPITRE 11. RAPPELS MATHEMATIQUES

Tant que b = 0 faire a b := b (a mod b) si b = 0 retourner a et n Algorithme dEuclide etendu. On donne une version r ecursive de type programme de lalgorithme dEuclide etendu qui donne les coecients de B ezout pour le PGCD de deux entiers. 1. Entr ee 2 entiers positifs a et b non tous nuls 2. Sortie 3 entiers u, v , d tels que au + bv = a b = d (a) Variables enti` eres u1 , v1 , u2 , v2 , u3 , v3 , q , r (b) Si a = 0 retourner (0, 1, b) et n (c) sinon Au1 + Bv1 = a et Au2 + Bv2 = b o` u A et B sont les valeurs initiales de a et b (d) Faire (u1 , v1 ) := (1, 0) (e) Tant que b = 0 faire (q, r) := quotient et reste de la division euclidienne de a par b (u3 , v3 ) := (u1 qu2 , v1 qv2 ) (u1 v1 , a) := (u2 , v2 , b) (u2 , v2 , b) := (u3 , v3 , r) 3. si b = 0 retourner (u1 , v1 , a). (u2 , v2 ) := (0, 1)

11.3.4

Les Congruences.

Les cryptosyst` emes RSA et El Gamal reposent sur la th eorie des congruences ou arithm etique modulaire . D enition 11.3.7. Soit a, b et m trois entiers. On dit que a est congru ` a b modulo m et on ecrit a b mod m si la di erence a b est divisible par m

11.3. RAPPELS DARITHMETIQUE Une autre mani` ere de dire la m eme chose

93

Corollaire 11.3.8. Soit m un entier non nul, alors a et b sont congrus modulo m si et seulement si les restes de la division euclidienne de a par m et de b par m sont les m emes D emonstration: Cest imm ediat. Exemples 19. Prenons m = 2 alors deux entiers a et b sont congrus modulo 2 sil sont soit tous les deux pairs soit tous les deux impairs. Prenons m = 5 alors 5 est congru ` a 0 modulo 5 (car 5 0 = 5 est divisible par 5) ou ` a 700 modulo 5 (car 5 (700) = 705 est divisible par 5), 3 est congru ` a 2 modulo 5 (car 3 (2) = 5 est divisible par 5) ou ` a 38 modulo 5 (car 3 38 = 35 est divisible par 5) On montre facilement que Proposition 11.3.9. La relation de congruence est une relation d equivalence sur les entiers. cest ` a dire que a a mod m (reexivit e) a b mod m = b a mod m (sym etrie) a b mod m et b c mod m = a c mod m (transitivit e) D emonstration: Cest evident. Proposition 11.3.10. Laddition et la multiplication sont compatibles ` a la relation de conguence sur les entiers; autrement dit: a (mod m) + b a (mod m) b (mod m) (mod m) (mod m) (mod m) = a+b = ab (mod m) (mod m)

D emonstration: Pour la preuve cf. [] Exemples 20. Si m = 2 alors la proposition signie simplement que la somme de deux nombres pairs est paire, que la somme de deux nombres impairs est paire, que la somme dun nombre pair et dun nombre impair est impaire et que le produit de deux nombres pairs est pair, celui de deux

94

CHAPITRE 11. RAPPELS MATHEMATIQUES

nombres impairs est impair, celui dun nombre pair et dun nombre impair est pair. Si m = 5 on constate que 5 + 3 700 2 0 + 38 3 mod 5, 5 3 0 3 5 38 mod 5

On xe m et on d ecide de ne pas distinguer deux el ements congrus modulo m. Lensemble des el ements de Z qui sont congrus modulo m ` a un entier x e sappellera une classe de congruence modulo m. Un el ement dune classe de congruence sappelle un repr esentant de la classe de congruence . Parmi les r epr esentant dune classe de congruence, il y en a toujours un, unique, compris entre 0 et m 1. On notera Z/mZ lensemble des classes de congruence de Z modulo m. Dapr` es la proposition 11.3.10 on peut munir Z/mZ des deux lois + et puisque que le r esultat modulo m de ces deux op erations ne d epend pas des repr esentants choisis dans une classe de congruences. Corollaire 11.3.11. Tout el ement de Z/mZ poss` ede un oppos e pour laddition. Les el ements de Z/mZ qui ont un inverse multiplicatif sont ceux dont les repr esentants dans Z sont premiers ` a m. D emonstration: Facile par B ezout Th eor` eme 11.3.12. Si p est premier Z/pZ est un corps ni ` ap el ements, cest ` a dire que tout el ement di erent de la classe de z ero poss` ede un inverse multiplicatif. On le note Fp D emonstration: facile dapr` es le corollaire pr ec edent. On peut montrer que pour chaque entier r 1 il existe un seul corps ni ` a q = pr el ements ` a isomorphisme de corps pr` es, not e Fpr = Fq . Ils sobtiennent en consid erant les quotients Fq Fp [X ]/P (x)Fp [X ], P (X ) Fp [X ], irr eductible, de degr er

cf. la section 11.6. Le th eor` eme suivant est du ` a C.F. Gauss Th eor` eme 11.3.13. Si p est premier, le groupe multiplicatif Z/pZ

= { el ements inversibles de Z/pZ, }

est cyclique, i.e. il existe g premier ` a p tel que {1, . . . , p 1} {g n , 0 n p 2}

11.3. RAPPELS DARITHMETIQUE

95

Un g en erateur g du groupe cyclique Z/pZ sappelle une racine primitive modulo p. De m eme si q = pr avec p premier le groupe multiplicatif, F el ements q , des inversibles de Fq est cyclique. D emonstration: Pour la preuve cf. [19] Le th eor` eme suivant joue un r ole extr` emement important en arithm etique modulaire et en particulier pour le d ecodage du cryptosyst` eme RSA, ainsi que pour la mise en oeuvre du cryptosyst` eme El Gamal Th eor` eme 11.3.14 (petit th eor` eme de Fermat). Soit p un nombre premier. Tout entier a v erie la congruence ap a (mod p), et si a p = 1 on a p 1 aussi a 1 (mod p). Exemples 21. p = 7, a = 3 alors 36 (mod 7) = 32+4 = 32 (mod 7) (mod 7) (32 )2 (mod 7) (mod 7)

= 24

(mod 7) = 1

Remarquer la mani` ere de calculer une puissance: ecrire lexposant en base 2 et proc eder par el evations au carr e successives. D emonstration: Les el ements inversibles de N modulo p plus petits que p sont 1, 2,...,(p 1). Consid erons a premier ` a p donc inversible modulo p et consid erons lensemble {a, 2a, 3a, . . . , (p 1)a} mod p cest une permutation de lensemble {1, 2, . . . , (p 1)} car a est inversible modulo p. Donc: a 2a 3a . . . (p 1)a 1 2 3 . . . (p 1) (ap1 1) (p 1)! 0 mod p mod p

Comme (p 1)! est premier ` a p donc inversible modulo p on a ap1 1 mod p

96

CHAPITRE 11. RAPPELS MATHEMATIQUES

Le th eor` eme suivant est appel e: Th eor` eme des restes chinois Th eor` eme 11.3.15. Soient m1 , m2 ,...mr des entiers naturels deux ` a deux premiers entre eux (i. e. mi mj = 1 si i = j ) et soient a1 , a2 ,...ar des entiers relatifs. Le syst` eme de congruences x a2 mod m2 x a1 mod m1 , . . . . (11.2) . . . . . x ar mod mr a toujours une solution et deux solutions quelconques sont congrues modulo M = m1 m2 . . . mr Exemples 22. Prenons r = 2, m1 = 15, m2 = 14, a1 = 6, a2 = 9. On veut donc r esoudre simultan ement (11.3) x6 mod 15 et x 9 mod 14

La premi` ere equation impose que x est de la forme x = 6 + 15k avec k Z et la deuxi` eme impose que x est de la forme x = 9 + 14 Z et par conns equent on doit avoir 6 + 15k = 9 + 14 15k 14 = 3 Comme 1415 = 1 le th eor` eme de B ezout indique quil existe (u, v ) = (1, 1) tel que 15u + 14v = 1 et donc en prenant k = = 3 on a une solution x = 51 du syst` eme de congruences (11.3) D emonstration: Unicit e (mod M ) de la solution au syst` eme de congruences. Si x1 et x2 sont deux solutions alors x = x1 x2 0 (mod mi ) pour 1 i r et donc x 0 (mod M ).
M Soit Mi = m , clairement Mi mi = 1 donc il existe un entier Ni tel que i Mi Ni 1 (mod mi ) et de plus mi | Mj si i = j . Alors r

x=
i=1

ai Mi Ni = x ai

mod mi ,

1ir

Ce th eor` eme permet de remplacer un syst` eme de congruences modulo les mi par une congruence unique modulo M = m1 r .

11.3. RAPPELS DARITHMETIQUE

97

Corollaire 11.3.16. Avec les notations du th eor` eme 11.3.15, le syst` eme de congruences (11.2) x a2 mod m2 x a1 mod m1 , . . . . . . . . . x ar mod mr equivaut ` a la congruence unique y x mod M D emonstration: Cest evident. Remarque 11.3.2. Ce corollaire exprime que lon a
r

Z/mi Z
i=1

Z/M Z

o` u lisomorphisme est un isomorphisme danneau. D enition 11.3.17. Si m est un entier positif on note (m) le nombre dentiers b < m et premiers ` a m, ou de mani` ere equivalente (m) est le nombre dentiers b < m inversibles modulo m La fonction est appel ee lindicatrice dEuler .
r 1 2 Proposition 11.3.18. Si m = p ecomposition de m en 1 p2 . . . pr est la d facteurs premiers distincts alors

(11.4)

1 1 2 1 r 1 (m) = p (p1 1)p (p2 1) . . . p (pr 1) r 1 2

D emonstration: Il est clair que (1) = 1, que si p est premier (p) = p 1 et que (p ) = (p 1)p1 . Par le th eor` eme des restes chinois si m est premier ` a n alors (mn) = (m) (n) Th eor` eme 11.3.19 (Th eor` eme dEuler). Soit m > 1 un entier et soit a un entier premier ` a m, alors on a: a(m) 1 (mod m) D emonstration: M eme preuve que pour le petit th eor` eme de Fermat

98

CHAPITRE 11. RAPPELS MATHEMATIQUES

En particulier si p et q sont premiers, (11.5) et (11.6) a(p1)(q1) 1 mod pq (pq ) = (p 1)(q 1)

Il est facile de montrer ` a partir du th eor` eme dEuler le corollaire important suivant qui est un cas particulier dun th eor` eme de Lagrange, [19], Corollaire 11.3.20. Soit m N et soit a N tel que a m = 1 alors le plus petit entier e 1 tel que ae 1 (mod m) est un diviseur de (m). D emonstration: Supposons que e ne soit pas un diviseur de (m) et ecrivons lidentit e de la division euclidienne de (m) par e (m) = e q + r avec 0 < r e 1 on a r = 0 car e ne divise par (m). Alors ar = avarphi(m)eq = a(m) aeq = a(m) (ae )q 1 Or comme 1 r e 1 ceci contredit la d enition de e. R esidus quadratiques modulo p. On va etudier les r esidus quadratiques modulo un nombre premier p cest a dire les carr ` es modulo un nombre premier p. Cette etude joue un r ole important dans les tests de primalit e probabilistes ou non. D enition 11.3.21 (Symbole de Legendre). On pose si p est premier impair a p et est un carr e (mod p) +1 si a est premier ` a = 1 si a est premier ` a p et nest pas un carr e (mod p) p 0 si a nest pas premier ` ap Le symbole a p est appel e le symbole de Legendre. mod m

Cest un caract` ere du groupe multiplicatif (Z/pZ) ` a valeur dans {1} {0} de p eriode p autrement dit: a p b p = ab p

11.3. RAPPELS DARITHMETIQUE

99

a p a p
p1 2

a+p p
p1 2

Th eor` eme 11.3.22 (Euler). Si p est premier impair et a premier ` a p alors a mod p, 1 p = (1) , 2 p = (1)
p2 1 8

D emonstration: Pour la d emonstration voir [19]. Th eor` eme 11.3.23 (Loi de r eciprocit e quadratique ). Soit p et q des premiers impairs alors p1 q 1 q p = (1) 2 2 p q D emonstration: Pour la d emonstration voir [19]. Ce th eor` eme (un des plus c el` ebres de larithm etique) est du ` a C. F. Gauss, il se g en eralise au symbole de Jacobi ci-dessous. Sa preuve est d elicate. D enition 11.3.24 (Symbole de Jacobi). On pose si m =
pi | m
i p i est

impair et n Z n pi | m = m 1 0 n pi
i

si m n = 1 si m = 1 si m n = 1

Le symbole de Jacobi poss` ede les propri et es suivantes. Si m est un entier impair n2 n1 (11.7) = n1 n2 mod m = m m +1 si m 1 (mod 8) 2 (11.8) = m 1 si m 3 (mod 8) n1 n2 n1 n2 (11.9) = m m m Il v erie aussi une loi de r eciprocit e quadratique : Si m et n sont entiers impairs: m si m n 3 (mod 4) n n (11.10) = m + m sinon n

100

CHAPITRE 11. RAPPELS MATHEMATIQUES

11.4

Tests de primalit e.

Pour tester si n est premier on pourrait essayer de le diviser par tous les entiers < n, cest la m ethode du crible dEratosthenes . Cest impraticable d` es que n est grand car n nest pas major e uniform ement par un polyn ome en log n. Le temps de calcul devient vite prohibitif. On a vu en eet quune division de n par un entier inf erieur demande O(log3 n) op erations el ementaires donc cette m ethode n ecessitera
n

O
i=1

log3 n = O( n log3 n) op erations

Ce nest donc pas un algorithme polynomial en temps. Parmi les tests de primalit e certains parmi les plus utilis es sont bas es sur le petit th eor` eme de Fermat, ou sur les propri et es du symbole de Legendre et sur la th eorie des r esidus quadratiques. Il existe, depuis le r esultat dAgrawal-Kayal-Saxena en 2002, [1], des tests de primalit e, bas es sur le petit th eor` eme de Fermat, qui sont polynomiaux en temps (actuellement en O log12 (n) et m eme O log6 (n) ). Mais pour linstant ils sont moins performants que des tests probabilistes comme ceux d ecrits ci-dessous. Pour tester si n est premier on proc` ede souvent en pratique de la mani` ere suivante dans les logiciels de calcul formel. 1. V erier que n nest pas divisible par des petits facteurs premiers. 2. Puis pour des a choisis au hasard et tels que 1 a n et a n = 1 calculer an1 mod n. 3. Si an1 1 mod n pour au moins un a alors n nest pas premier. 4. Sinon on ne peut pas conclure (cf. nombres de Carmicha el, par exemple 561). On dit que n est pseudo premier. Pour avoir un r esultat s ur on peut utiliser le test de Lucas Th eor` eme 11.4.1 (Lucas). Si a est premier ` a n et si pour tout diviseur premier p de n 1 on a a
n1 p

1 mod n alors n est premier

D emonstration: La preuve de ce r esultat est imm ediate.

11.4. TESTS DE PRIMALITE

101

On peut aussi utiliser les propri et es des symboles de Legendre et de Jacobi. Pour tester si p est premier on utilise les remarques suivantes 1. On choisit b premier ` a n avec 1 b n 1 et on calcule b 2. Si p est premier on doit avoir b (th eor` eme 11.3.22 page 99. 3. Si p nest pas premier alors on a b 50% des b premiers ` a n. On aboutit ainsi au test de primalit e de Solovay-Strassen 1. Tirer un entier al eatoire a, 1 a n 1 2. Si 3. Si a n a a
n1 2 n1 2 p1 2 p1 2 p 1 2

(mod p).

b p b p

(mod p) pour tout b

(mod p) pour au moins

(mod n) n est probablement premier (mod n) n est d ecomposable

n1 a a 2 (mod n) choisir un autre a et recommencer. n

La loi de r eciprocit e quadratique rend ce test probabiliste tr` es ecace. Elle evite en eet pour calculer le symbole de Jacobi davoir ` a factoriser a et n. Exemples 23. Testons la primalit e de 547. On choisit a = 5. On calcule dune part 5 547 dautre part 5
5471 2

547 5

2 5

= (1)

52 1 8

= 1

mod 547 51+2

4 +28

mod 547 5 113 395 mod 547

mod 547

Donc 547 a une chance d etre premier. Pour se conforter on recommence avec 7 au lieu de 5, etc. Actuellement on est capable de prouver la primalit e dun nombre sans sym etrie particuli` ere de 2000 ` a 3000 chires en base 10 en un mois de CPU sur une station de travail. On prouve aussi la primalit e de nombres tests p comme les nombres de Mersenne (2 1) ayant plusieurs millions de chires.

102

CHAPITRE 11. RAPPELS MATHEMATIQUES

Pour construire de grands nombres premiers on couple les r esultats pr ec edents avec des th eor` emes sur la r epartition des nombres premiers. On sait par exemple que le nombre de nombres premiers inf erieurs ` a x, x (x) log . On en d e duit quil y a toujours un nombre premier entre n et x 2n (en fait on sait plus). On prend un nombre n au hasard et on teste sil est premier, sil ne lest pas on passe ` a n + 1, etc.

11.5

M ethode de factorisation.

Principe dun algorithme tr` es utilis e pour factoriser de grand nombres entiers, le crible quadratique . Il est fond e sur la proposition suivante Proposition 11.5.1 (Fermat). Soit n un entier positif impair. Il y a une bijection entre les d ecompositions de n sous la forme n = ab avec a b 0 entiers et les repr esentations de n sous la forme n = t2 s2 , o` u s et t sont des entiers positifs ou nuls. La bijection est donn ee par les equations t= a+b , 2 s= ab , 2 a = t + s, b=ts

Exemples 24. Soit ` a factoriser n = 23360947609 n = 23360947609 = E ( n) = 152843 On pose t = 152843. On teste sil existe i pas trop grand tel que (t + i)2 n = (152843 + i)2 23360947609 est un carr e. On trouve que pour i = 2 on a 1528452 23360947609 = 8042 p = 152845 + 804 = 152649 q = 152845 804 = 152041 que p et q sont premiers. et donc n = pq avec . On v erie ais ement

Cette m ethode ne marche pas ` a coup s ur, on la ran ee de diverses mani` eres mais la factorisation dun nombre reste encore un probl` eme dicile. Dans la proposition pr ec edente on utilise le fait que lon a t2 s2 mod n et t s mod n

11.5. METHODE DE FACTORISATION

103

Ces deux relations impliquent que lon trouve alors un diviseur non trivial de n en calculant PGCD(t + s, n) et PGCD(t s, n). En eet n | t2 s2 et n | t + s, n | t s, donc a = PGCD(t + s, n) est un diviseur non trivial de n et b = n a divise a = PGCD(t s, n). Exemples 25. On veut factoriser 4633. On remarque que 1182 252 PGCD(118 + 25, 4633) = 41, On constate que 4633 = 41 113. Pour mettre cette remarque en oeuvre on cherche une famille nie de nombres premiers B = {p1 , p2 , . . . , ph }, o` u p1 = 1 et des entiers bi tels que le plus petit repr esentant de (b2 mod n ) not e {b 2 esentant compris i i } (i.e le repr j,i h n n 2 ecrive {bi } = j =1 pj avec pour tout j , i j,i 0 entre 2 et + 2 1) s (mod 2). On pose alors j = et {b} =
i

mod 4633, PGCD(118 25, 4633) = 113

1 2

j,i
i

bi

mod n, et c =
pB

p j

Si b c mod n on a gagn e et on a un diviseur de n par la remarque pr ec edente. Sinon il faut recommencer avec un autre choix pour B ou pour les bi . La factorisation des entiers reste un probl` eme dicile. En 1994 il a fallu le travail combin e de 600 personnes pendant 8 mois pour factoriser un nombre de 129 chires propos e 17 ans plus t ot et pour cela il fallu d evelopper dans lintervalle de nouvelles m ethodes de factorisation. En 1999 il a fallu 8 mois de travail pour factoriser un nombre de 155 chires. Il a fallu en plus de laugmentation de puissance des ordinateurs d evelopper et perfectionner de nouvelles m ethodes de factorisation. En 2005 on a factoris e des nombres de 200 chires en base 10 en utilisant le crible quadratique et 80 ordinateurs travaillant en parall` ele pendant plusieurs mois. Pour des g en eralisations des codes RSA ainsi que pour des proc ed es de factorisation et des tests de primalit e, on utilise larithm etique sur les courbes elliptiques qui est une sorte de g en eralisation de larithm etique modulaire .

104

CHAPITRE 11. RAPPELS MATHEMATIQUES

11.6

Rappels dalg` ebre.

Ainsi quon la vu ` a la section 7.2 page 38 la description dAES n ecessite celle des extensions de corps nis comme quotient danneaux de polyn omes.

11.6.1

Anneau des polyn omes sur un corps

Soit K un corps, par exemple Q, R, C ou un corps ni comme Z/2Z, Z/pZ avec p premier. D enition 11.6.1. Lanneau des polyn omes ` a coecients dans K, not e K[X ], est lensemble des suites nies d el ements de K, P = P (X ) = (a0 , a1 , . . . , an ) appel ees polyn omes. Deux polyn omes P (X ) = (a0 , a1 , . . . , an ) K[X ], Q(X ) = (b0 , b1 , . . . , bm ) K[X ]

(avec m n) sont egaux si ai = bi pour 0 i n et bj = 0 pour n + 1 j m, en particulier P (X ) = (a0 , a1 , . . . , an ) = (a0 , a1 , . . . , an , 0, 0, . . . , 0)


n+h el ements

Consid erons les polyn omes P (X ) = (a0 , a1 , . . . , an ) K[X ], On d enit la somme P (X ) + Q(X ) par P (X ) + Q(X ) = R(X ) = (c0 , c1 . . . , cn ) = (a0 + b0 ), (a1 + b1 ), . . . , (an + bn ) et le produit P (X ) Q(X ) = P Q = P Q par P (X ) Q(X ) = (d0 , d1 . . . , dm+n ) = (a0 b0 ), (a0 b1 + a1 b0 ), . . . . . . , (aj b0 + aj 1 b1 + + aj k bk + + a0 bj ) + + (an bm )
avec a =0 si >n, b =0 si m>

Q(X ) = (b0 , b1 , . . . , bm ) K[X ]

Notations 11.6.1. On adopte les notations classiques suivantes Le polyn ome (0, 0, . . . , 0) sera not e 0 et on a P (X ) + 0 = 0 + P (X ) = P (X ) et 0 P (X ) = P (X ) 0 = 0. Le polyn ome (1, 0, 0 . . . , 0) sera not e 1 et on a 1 P (X ) = P (X ) 1 = P (X ).

` 11.6. RAPPELS DALGEBRE

105

Le polyn ome P (X ) = (0, 1, 0, . . . , 0) sera not e X et appel e lind etermin ee ou la variable . Le polyn ome P (X ) = (0, 1, 0, . . . , 0) (0, 1, 0, . . . , 0) sera not e X n,
n facteurs

Si P (X ) = 0 alors il existe un indice n tel que si P (X ) = (a0 , a1 , . . . , am ) on ait a = 0 pour n + 1. Lentier n sera appel e le degr e du polyn ome P et sera not e deg(P ). Le degr e du polyn ome 0 nest pas d eni, on lui donne parfois par convention le degr e . Avec ces notations on ecrira le polyn ome P (X ) = (a0 , a1 , . . . , an ) de degr e n sous la forme P (X ) = a0 + a1 X + a2 X 2 + + an X n , le terme i ai X , 0 i n sera appel e le terme de degr e i de P (X ). On remarque que lon a aussi P (X ) = a0 + a1 X + + an X n + 0xn+1 + + 0xm Un polyn ome non nul, P (X ), sera dit unitaire si le coecent de son terme de plus haut degr e est 1. Muni de ces deux op erations K[X ] est un anneau commutatif unitaire, cf. [20], muni dune division euclidienne d enie de la mani` ere suivante D enition 11.6.2 (Division euclidienne). Si A(X ) et B (X ) sont deux polyn omes de K[X ] (B = 0) il existe un unique couple de polyn omes Q(X ) et R(X ) tel que A(X ) = B (X )Q(X ) + R(X ) et ou bien ou bien R=0 0 deg(R) deg(B ) 1

On dit que B (X ) est un diviseur de A(X ) sil existe Q(X ) K[X ] tel que A(X ) = B (X )Q(X ), on note B (X ) | A(X ). On dit que deux polyn omes non nuls A(X ) et B (X ) sont associ es sil existe a K tel que A(X ) = a B (X ). La notion de divisibilt e fournit une relation dordre partielle sur lanneau des polyn omes. Tout polyn ome A(X ) = a0 + a1 X + + an X n a au moins comme diviseurs les el ements non-nuls de K et lui-m eme car si a = 0 K alors a1 existe et on a A(X ) = a (a0 a1 ) + (a1 a1 )X + + (an a1 )X n , A(X ) = 1 A(X )

106

CHAPITRE 11. RAPPELS MATHEMATIQUES

Mais il peut en avoir dautres par exemple: X 2 1 = (X 1)(X + 1) X 2 1 a donc comme diviseurs les constantes non nulles (=K ), les polyn omes X 1 et X +1 ` a une constante multiplicative non nulle pr` es et lui-m eme a une constante multiplicative non nulle pr` ` es. Un polyn ome, P (X ), est appel e une unit e de K[X ] sil est r eduit ` a un el ement de K = K \ {0}, autrement dit si P 1 existe dans K[X ] D enition 11.6.3. Un polyn ome P (X ) K[X ] est appel e un polyn ome premier ou si ses seuls diviseurs sont lui-m eme et les elements de K Exemples 26. Dans Q[X ] le polyn ome X 2 + 1 est irr eductible, par contre dans F2 [X ] il ne lest pas car sur F2 on a X 2 + 1 = (X + 1)2 . Proposition 11.6.4. Tout polyn ome non nul A(X ) K[X ] poss` ede une d ecomposition en un produit de polyn omes premiers A(X ) = a P1 (X )P2 (X ) . . . Pm (X ) o` u a K , Pj (X ) premier pour 1 j m Cette d ecomposition est unique ` a lunit e a pr` es et ` a lordre pr` es des facteurs Pj . Si lon regroupe tous les polyn omes Pj associ es la d ecomposition en produit de polyn omes premiers prend la forme suivante A(X ) = a P1 (X )1 P2 (X )2 . . . P (X ) , i N,

o` u a K , Pj (X ) premier pour 1 j , Pi et Pj ne sont pas associ es pour i = j sous cette forme la d ecomposition est unique ` a lunit e a pr` es et ` a lordre des facteurs si on choisit les Pj unitaires et les i 1 (cest ` a dire quon sinterdit des exposant nuls). D emonstration: La preuve repose sur lalgorithme de division euclideienne, cf. [20]. On d enit alors comme dans le cas de Z la notion de Plus Grand Commun Diviseur (PGCD) de deux polyn omes. Les degr es des diviseurs unitaires communs ` a A et B forment un ensemble major e par le maximum des degr es de A et de B .

` 11.6. RAPPELS DALGEBRE

107

D enition 11.6.5. Le PGCD de deux polyn omes A(X ) et B (X ) de K[X ] est le polyn ome unitaire de plus grand degr e D(X ) qui divise ` a la fois A(X ) et B (X ). On note P GCD(A, B ) = A B Proposition 11.6.6. Soient A(X ) et B (X ) des polyn omes non nuls. On peut toujours supposer, quitte ` a modier les unit es a et b et ` a utiliser des exposants, que leurs d ecomposition en produit de facteurs premiers unitaires est
r A(X ) = a P1 (X )1 P2 (X )2 . . . Pr ,

B (X ) = b P1 (X )1 P2 (X )2 . . . Pr (X )r , avec i , i 0 alors le PGCD de A et de B est: A(X ) B (X ) = P1 (X )inf {1 ,1 } P2 (X )inf {2 ,2 } . . . Pr (X )inf r ,r D emonstration: Pour la d emonstration voir [20]. Ni la d enition ni la proposition 11.6.6 ne fournissent dalgorithmes tr` es eecaces pour calculer le PGCD de deux polyn omes, A(X ) et B (X ). Par contre lalgorithme de la division euclidienne en fournit un tr` es ecace. Proposition 11.6.7. Le PGCD des polyn omes A et B est donn e par lalgorithme suivant. On ecrit les divisions euclidiennes successives A(X ) = B (X )Q(X )0 + R1 (X ) B (X ) = Q1 (X )R1 (X ) + R2 (X ) R1 (X ) = Q2 (X )R2 (X ) + R3 (X ) . . (11.11) . Rj 2 (X ) = Qj 1 (X )Rj 1 (X ) + Rj (X ) Rj 1 (X ) = Qj (X )Rj (X ) + Rj +1 (X ) R (X ) = q (X )r (X ) j j +1 j +1 avec (0 deg(R1 ) < deg(B ) ou R1 = 0), (0 deg(R2 ) < deg(R1 ) ou R2 = 0), 0 deg(R3 ) < deg(R2 ),..., 0 deg(Rj ) < deg(Rj +1 ). On arr ete lalgorithme d` es quun reste est nul et alors A(X ) B (X ) = Rj +1 (X )

108

CHAPITRE 11. RAPPELS MATHEMATIQUES

D emonstration: La derni` ere identit e de division enclidienne de (11.11) montre que Rj +1 divise Rj , lavant derni` ere identit e de division enclidienne de (11.11) montre que Rj +1 divise Rj et Rj 1 . Puis par r ecurrence on montre que Rj +1 divise A et B . Donc Rj +1 est un diviseur commun de A et de B , est-ce le plus grand? Consid erons un diviseur commun de A et de B not e D. Par d enition D divise A et B donc dapr` es la premi` ere des identit es de division enclidienne de (11.11) on a D | R1 , alors la deuxi` eme des identit es de division euclidienne de (11.11) implique que D | R2 puis par r ecurrence on montre que D | Rj +1 . On a donc montr e que tout diviseur D commun de A et de B est un diviseur de Rj +1 et comme Rj +1 est un diviseur de A et de B cest le plus grand, autrement dit Rj +1 = A B . Larithm etique de K[X ] est donc tout ` a fait parall` ele ` a celle de Z. Les deux sont des anneaux munis dune division euclidienne. On d enit sur K[X ] une notion de factorisation en facteurs premiers, On peut d enir le PGCD de deux polyn omes, Il y a sur K[X ] une relation de Bezout, un algorithme dEuclide etendu pour calculer le PGCD. etc.. On a le th eor` eme de B ezout comme dans le cas des entiers Th eor` eme 11.6.8 (Th eor` eme de B ezout). Soient A(X ), B (X ) K[X ], alors il existe des polyn omes U (X ), V (X ) K[X ] tels que (11.12) A(X )U (X ) + B (X )V (X ) = A(X ) B (X ) = D(X )

D emonstration: La preuve est la m eme que sur Z. On reprend lalgorithme du PGCD (11.11) ` a partir de la n. On ecrit avec les notations pr ec edentes D = Rj +1 = Rj 1 Qj Rj = Rj 1 Uj 1 (1) Rj Vj (Qj ) = Rj 1 Qj Rj 2 Qj 1 Rj 1 = Rj 1 1 + Qj Qj 1 Qj Rj 2 = Uj 2 (Qj )Rj 2 + Rj 1 Vj 1 (Qj 1 , Qj ) = Rj 3 Qj 2 Rj 2 1 + Qj Qj 1 Qj Rj 2

` 11.6. RAPPELS DALGEBRE = Rj 3 1 + Qj Qj 1 Rj 2 Qj 2 1 + Qj Qj 1 + Qj d = Rj 3 Uj 3 (Qj , Qj 1 ) Rj 2 Vj 2 (Qj 2 , Qj 1 , Qj ) . . . = (1)j +1 aU0 (Q1 , . . . , Qj ) + (1)j bV0 (Q0 , . . . , Qj ) On a une relation de r ecurrence facile sur Uj et Vj . Uj +1 = Uj 1 Qj +1 Uj Vj +1 = Vj 1 Qj +1 Vj

109

On d enit alors les congruences entre polyn omes comme dans le cas des entiers D enition 11.6.9. Si P (X ) K[X ] et si A(X ), B (X ) appartiennent ` a K[X ] on dit que A et B sont congrus modulo P sil existe Q K[X ] tel que A B = P Q. On ecrira A B mod P . On v erie ais ement que cest une relation d equivalence sur lanneau des polyn omes qui est compatible aux op erations sur les polyn omes. Proposition 11.6.10. Laddition et la multiplication sont compatibles ` a la relation de congruence sur les poly omes; autrement dit si P (X ) est un polyn ome x e et si A(X ), B (X ) K[X ] alors A(X ) (mod P (X )) + B (X ) A(X ) + B (X ) A(X ) (mod P (X )) B (X ) (mod P (X )) (mod P (X )) (mod P (X )) (mod P (X )) = (mod P (X )) =

= A(X ) B (X ) D emonstration: Pour la preuve cf. [19]

(mod P (X ))

Proposition 11.6.11. Lanneau des polyn omes modulo la relation d equivalence not e K[X ]/P (X )K[X ] ou K[X ]/P (X ) est un anneau commutatif unitaire et cest un corps si P est irr eductible

110

CHAPITRE 11. RAPPELS MATHEMATIQUES

D emonstration: Pour la premi` ere partie cf. [20]. Si P est irr eductible alors par d enition si A(X ) 0 (mod P (X )) on a A(X ) B (X ) = 1. Donc dapr` es le th eor` eme de Bezout, il existe U (X ), V (X ) K[X ] tels que A(X )U (X ) + P (X )V (X ) = 1 et donc A(X )U (X ) 1 mod P (X ) Donc si P (X ) est irr eductible tout element non nul de K[X ]/P (X ) poss` ede un inverse multiplicatif, autrement dit cest un corps. Proposition 11.6.12. Un syst` eme complet de repr esentants de K[X ]/P (X )K[X ] est lensemble des restes de la division euclidienne des polyn omes de K[X ] par P (X ). D emonstration: Cest imm ediat. Si K est un corps ni, Fp , et si P est un polyn ome irr eductible sur Fp alors Fp [X ]/P (X ) est un corps ni qui contient Fp . Sur tout corps ni il y a des polyn omes irr eductibles de degr e n pour tout n, [20]. Exemples 27. Sur F2 le polyn ome P = X 2 + X + 1 est irr eductible car il nest divisible par aucun polyn ome de degr e 1. En eet les seuls polyn omes de degr e 1 de F2 [X ] sont X et X + 1 = X 1 et il est clair que dans F2 [X ] les equations X 2 + X + 1 = X (X + b), nont pas de solution. Donc F2 [X ]/X 2 + X + 1 est un corps not e F2 el ements 2 dont on va donner les
2 F2 2 = F2 [X ]/(X + X + 1)F2 [X ] = 0, 1, X, X + 1

X 2 + X + 1 = (X + 1)(X + b)

Rappelons que dans F2 on a 0 + 1 = 1 + 1 = 0, 0 + 1 = 1 + 0 = 1, 0 0 = 0 1 = 0 0 = 0 et 1 1 = 1 et donc que dans F2 , 1 = 1 et 1 + 1 = 2 = 0.

` 11.6. RAPPELS DALGEBRE Laddition sur F2 ee par la table suivante 2 est donn + 0 1 X 0 0 1 X 1 1 0 X +1 X X X X +1 0 1 X +1 X +1 X 1 0

111

X +1 X +1 Cette table est evidente.

La multiplication sur F2 ee par la table suivante 2 est donn 0 1 X X +1 0 0 0 0 0 1 0 1 X X +1 X 0 X X +1 1 X +1 0 X +1 1 X

Les seules choses ` a montrer sont X X = X 2 X + 1 mod X 2 + X + 1 X X + 1 = X2 + X 1 mod X 2 + X + 1 mod X 2 + X + 1 (X + 1) (X + 1) = (X + 1)2 X + 1 ce qui est vrai car X 2 (X + 1) = X 2 + X + 1 0 mod X 2 + X + 1 X 2 + X 1 = X 2 + X + 1 0 mod X 2 + X + 1 (X + 1)2 (X + 1) = X 2 + X + 1 0 mod X 2 + X + 1 Donc dans F2 2 linverse multiplicatif de X + 1 est X . Le th eor` eme des restes chinois se g en eralise sans dicult e ` a K[X ] avec la m eme preuve. Corollaire 11.6.13. Si p est un nombre premier et si P (x) est un polyn ome irr eductible de degr e f de Fp [X ] alors Fp [X ]/P (X )Fp [X ] est le corps ni Fq a q = pf ` el ements. En particulier si p = 2 et P (X ) = X 8 + X 4 + X 3 + X + 1 alors F2 [X ]/P (X )F2 [X ] est le corps ni ` a 28 = 256 el ements.

112

CHAPITRE 11. RAPPELS MATHEMATIQUES

D emonstration: Il sut de remarquer que Fp [X ]/P (X )Fp [X ] est un Fp espace vectoriel dont une base est constitu ee des classes de 1, X ,..., X i ,..., f 1 X , et donc le cardinal de Fp [X ]/P (X )Fp [X ] est pf = q . On a vu que F a q1 el ements. On q est un groupe multiplicatif cyclique ` peut donc consid erer des cryptosyst` emes El Gamal utilisant le groupe F q, par exemple Exemples 28. Consid erons p = 3, on montre facilement que le polyn ome P (X ) = X 3 X + 1 est un polyn ome irr eductible de F3 [X ]. En eet sinon on aurait n ecessairement une d ecomposition X 3 X + 1 = (X + a)(X 2 + bX + c), avec a, b, c F3 Z/3Z

avec un facteur de degr e 1 au moins. Autrement dit le polyn ome P (X ) aurait au moins une racine dans F3 , or on v erie ais ement avec le petit th eor` eme de Fermat que P (0) = P (1) = P (2) = 1 Donc F3 [X ]/(X 3 + X + 1)F3 [X ] nest autre que le corps F33 ` a 27 el ements. On a vu que son groupe multiplicatif F en e33 est cyclique. Trouvons un g rateur g sous forme polynomiale. Montrons que que la classe de X modulo X 3 X + 1 engendre F 33 . i Xi i Xi i Xi i Xi i Xi i Xi i Xi 2X 2 2X 2 0 1 4 X 2 + 2X 8 2X 2 X2 +2 +2 12 16 2X + 1 20 +X +1 24 + 2X + 2 1 X 5 2X 2 + X + 2 9 X +1 13 2 17 2X 2 X2 2X 2 +X +1 +2 X2 21 25 2 X2 6 X2 + X + 1 10 X2 +X X2 14 2X 18 + 2X + 1 22 2X + 2 26 1 2X 2 3 X +2 7 X 2 + 2X + 2 11 +X +2 15 2X 2 19 + 2X + 2 23 2X 2 +X

11.7. COURBES ELLIPTIQUES

113

Il sut pour cela de donner le tableau (ci-dessus) des puissances successives de X (mod X 3 + X + 1). On prend comme syst` eme de repr esentant de F3 , {0, 1, 2} (en fait dapr` es le th eor` eme de Lagrange il sut de v erier que 13 3 X = 1 (mod X X + 1)).

11.7

Courbes elliptiques.

Les courbes elliptiques d enies sur un corps K sont des courbes d ecrites par lensemble des solutions de certaines equations polynomiales ` a deux inconnues f (x, y ) K[X, Y ]. Pour plus de pr ecisions on pourra consulter [23] ou [24]. D enition 11.7.1. Soit R le corps des r eels et soit a, b R tels que 4a3 + 2 27q = 0. Une courbe elliptique non singuli` ere d enie sur R est lensemble E des points P de R2 dont les coordonn ees (x, y ) sont des solutions de l equation y 2 = x3 + ax + b plus un point sp ecial O appel e le point ` a linni. La condition 4a3 + 27q 2 = 0 assure que la courbe est sans point double. Si 4a3 + 27q 2 = 0 on a aaire ` a une courbe singuli` ere . Exemples 29. La courbe y 2 = x3 4x Si E est une courbe elliptique non-singuli` ere on d enit sur les points de E une addition not ee + qui fera de lensemble des points de E un groupe ab elien. P E , par d enition P + O = O + P = P . Si P, Q E avec P = (x1 , y1 ), Q = (x2 , y2 ) on consid` ere les 3 cas 1. x1 = x2 2. x1 = x2 et y1 = y2 3. x1 = x2 et y1 = y2 Dans le cas 1, on note L la droite passant par P et Q. Elle coupe E en 3 points dont deux, P et Q, sont d ej` a connus, on note R = (x , y ) le troisi` eme point dintersection. On prend le sym etrique de R par rapport ` a laxe des abscisses. On obtient

114

CHAPITRE 11. RAPPELS MATHEMATIQUES un point R = (x , y ) = (x, y ) qui est encore sur E . On pose par d enition P +Q=R Par un calcul sans myst` ere on trouve l equation de L y = x + = y2 y1 y2 y1 x + y1 x1 x2 x1 x2 x1

on obtient alors les coordonn ees de R x = 2 x1 x2 = ( y2 y1 2 x1 x2 x2 x1 y2 y1 y = (x1 x2 ) y1 = ( (x1 x2 ) y1 x2 x1

Dans le cas 2, on d enit si P = (x, y ) E , P = (x, y ) (x, y ) + (x, y ) = O Le cas 3 se ram` ene au cas 2 en consid erant que la droite L est la tangente en P ` a E . On trouve que l equation de L est y = x + = 3x2 3x2 1+a 1+a x + y1 x1 2y1 2y1

ensuite le calcul de R est identique. On montre que la loi ainsi d enie est 1. stable sur E : si P et Q appartiennent ` a E, P + Q E 2. associative: P , Q et R appartiennent ` a E alors (P + Q = +R = P + (Q + R) 3. commutative: P + Q = Q + P 4. poss` ede un el ement neutre, O: P + O = O + P = P 5. Chaque point de E admet un oppos e pour cette addition: P E Q E tel que P + Q = O Cette loi fait donc des points de E d enis sur K un groupe ab elien. Tout ceci est r esum e par les gures suivantes:

11.7. COURBES ELLIPTIQUES

115

2 P 3 2 Q 1 1 2 x 3 4

P+Q

courbe elliptique sur R, y 2 = x3 4x

116

CHAPITRE 11. RAPPELS MATHEMATIQUES

6 y R 4

3 2 1 2

2 x

2*R

courbe elliptique sur R y 2 = x3 + 17

11.7. COURBES ELLIPTIQUES

117

11.7.1

Courbes Elliptiques sur un corps ni

Le fait que le corps de base soit R ne joue pas grand r ole dans les calculs pr ec edents (sauf pour pouvoir dessiner les courbes). Si maintenant on a un corps ni Fq o` u q = pf avec p un nombre premier on peut refaire la th eorie en supposant que lon cherche des solutions dans F2 q (on peut prendre Fp = Z/pZ). D enition 11.7.2. Soit Fq un corps ni avec p 5 et soit a, b Fq tels que 4a3 + 27q 2 = 0. Une courbe elliptique non singuli` ere d enie sur Fq 2 est lensemble E des points P de Fq dont les coordonn ees (x, y ) sont des solutions de l equation y 2 = x3 + ax + b plus un point sp ecial O appel e point ` a linni. Exemples 30. Calculons par exemple les points de la courbe elliptique y 2 = x3 + x + 6 dans F11 x 0 1 2 3 4 5 6 7 8 9 10 x3 + x + 6 mod 11 6 8 5 3 8 4 8 4 9 7 4 r esidu quadratique? non non oui oui non oui non oui oui non oui y

4,7 5,6 2,9 2,9 3,8 2,9

Cette courbe sur F11 admet 13 points y compris celui ` a linni. On a le th eor` eme important Th eor` eme 11.7.3 (Hasse). Soit p un nombre premier sup erieur ` a 3 et soit f q = p . Soit E une courbe elliptique d enie sur le corps ni Fq . On note #E le nombre de points de E d enis sur Fq . On a q + 1 2 q #E q + 1 + 2 q

118

CHAPITRE 11. RAPPELS MATHEMATIQUES

Le calcul de #E est dicile mais il existe un algorithme performant pour le faire lalgorithme de Schoof. Pour pouvoir utiliser le groupe des points dune courbe elliptique sur un corps ni, E , il faut ensuite trouver un sous-groupe cyclique aussi gros que possible an de pouvoir transposer le sch ema de codage El-Gamal. Il y a des algorithmes ecaces pour cela. Avec des sous-groupes cycliques de E ` a 2160 el ements on a une tr` es bonne s ecurit e si lon prend quelques pr ecautions pour eliminer des courbes elliptiques ind esirables pour lesquelles le probl` eme du logarithme discret est facile. Lavantage des cryptosyst` emes bas es sur les courbes elliptiques est, entre autre, la possibilit e davoir des cl es courtes pour une bonne s ecurit e.

11.7. COURBES ELLIPTIQUES Sites internet

119

cryp1 http://cryptosec.lautre.net/index.php3; donne un resum e et des r ef erences sur divers aspects de la cryptographie hist1 http://histoirecrypto.ifrance.com/histoirecrypto/ ; site historique prim1 http://www.utm.edu/research/primes/ ; donne des renseignements sur les nombres premiers (records, tests de primalit e,...) cryp2 http://www.securite.org/db/crypto/ ; donne un resum e et des r ef erences sur divers aspects de la cryptographie aes1 http://www.securiteinfo.com/crypto/aes.shtml: donne une description succincte dAES et de sa comparaison avec triple DES aes2 http://www.cryptageaes.com/: pr esente des produits commerciaux utilisant AES aes3 http://www.bibmath.net/crypto/moderne/aes.php3: donne une description succincte dAES

Bibliographie
[1] Manindra Agrawal, Neeraj Kayal & Nitin Saxena, PRIMES is in P, Annals of Mathematics 160, n 2, (2004), 781-793. [2] Fran cois Arnault, Th eorie des nombres et Cryptographie, cours DEA Universit e de Limoges, 2000. [3] Christophe Bidan, Cryptographie et Cryptanalyse, Cours,
http://www.supelec-rennes.fr/ren/perso/cbidan/cours/crypto.pdf

[4] I.F Blake, G. Seroussi, N. P. Smart, Elliptic curves in cryptography, London Mathematical Society Lecture Note Series, 265 Cambridge University Press 1999. [5] Johannes A. Buchmann, Introduction to cryptography, Springer, Undergraduate Texts in Mathematics, 2000. [6] Joan Daemen & Vincent Rijmen, The design of Rijndael Springer Verlag, Berlin Heidelberg New-York, 2002. [7] W. Diffie, M.E. Helman, New Directions in Cryptography, IEEE Transactions on Information Theory, 22 , 644-654, 1976. [8] Gilles Dubertet, Initiation ` a la Cryptographie, editions Vuibert. [9] Robert Harris, Enigma, editions Pocket. [10] K. Ireland, M. Rosen, A Classical Introduction to Modern Number Theory, Springer-Verlag, GTM, 1990. [11] Neal Koblitz, A Course in Number Theory and Cryptography, 2nd edition, Springer, Graduate Texts in Mathematics n 114, , 1994. [12] Neal Koblitz, Introduction to Elliptic Curves and Modular Forms, Springer-Verlag, GTM 97, 1987. 120

BIBLIOGRAPHIE

121

[13] A. J. Menezes, P. C. van Oorschot, and S. A. Vanstone, Handbook of Applied cryptographie, Discrete Mathematics and its applications, CRC Press, 1997. [14] Jean-Louis Pons, Introduction ` a la Cryptographie, cours ENSAM Aix en Provence, 2003. [15] La Recherche [16] Pour la Science [17] Guy Robin, Algorithmique et cryptographie, editions Ellipses. [18] Claude E. Shannon, Communication Theory of secrecy systems, Bell Systems Technical Journal, 28 (1949), 656-715. [19] Bruce Schneier, Cryptographie Appliqu ee, editions Thomson Publishing. [20] Lionel Schwartz, Math ematiques pour la Licence, Alg` ebre, Dunod, Paris, 1998. [21] Simon Singh, Histoire des codes secret, JC Latt` es, 1999. [22] Jacques Stern La Science du Secret, Odile Jacob, Paris, 1998. [23] Douglas Stinson, Cryptographie, th eorie et pratique, editions Vuibert 2e edition, 2003. [24] Lawrence C. Washington, Elliptic Curves, Number Theory and Cryptography, Discrete Mathematics and its applications, Chapman & Hall/CRC, 2003. [25] Benne de Weger, Cryptographic Systems, cours Technische Universiteit Eindhoven 2005; http://www.win.tue.nl/ bdeweger/ [26] V. V. Yaschenko, Cryptography: An Introduction, Moscow Center for Continuous Mathematics Education, Editor AMS, 2002. mor, Cours de cryptographie, [27] Gilles Ze editions Cassini, 2002.

Index
(a, b), . . . . . . . . . . . . . . . . . . . . . . . .p. Nr , . . . . . . . . . . . . . . . . . . . . . . . . . . p. C , . . . . . . . . . . . . . . . . . . . . . . . . . . . p. K, . . . . . . . . . . . . . . . . . . . . . . . . . . . p. P , . . . . . . . . . . . . . . . . . . . . . . . . . . . p. a b, . . . . . . . . . . . . . . . . . . . . . . . . p. Advanced Encrytion Standard, . . . . . p. AES, . . . . . . . . . . . . . . . . . . . . . . . . p. algorithme de codage, . . . . . . . p. algorithme de diversication de clef, . .p. analyse de fr equence, . . . . . . . . p. arbitre, . . . . . . . . . . . . . . . . . . . . . . p. arithm etique modulaire, . . . . . p. asynchrone, . . . . . . . . . . . . . . . . . .p. attaque ` a texte chir e choisi, . . . . . . . . p. attaque ` a texte chir e connu, . . . . . . . .p. attaque ` a texte clair choisi, . . . . . . . . . . p. attaque ` a texte clair connu, . . . . . . . . . p. attaques des anniversaires, . . . p. authentication, 8 authentique, . . . . . . . . . . . . . . . . . p. 88 40 24 24 24 88 cl e secr` ete, . . . . . . . . . . . . . . . . . . p. 11 cl e secr` ete de d echiffrement, . . . . p. 48 classe de congruence modulo m, . . . . . . . p. 94 clef d etage, . . . . . . . . . . . . . . . . . p. 34 clefs parasites, . . . . . . . . . . . . . . . p. 80 co ut en espace, . . . . . . . . . . . . . . p. 83 co ut en temps, . . . . . . . . . . . . . . p. 83 code dauthentication, . . . . . . p. 63 code de Vig en` ere, . . . . . . . . . . . . p. 14 codes ` a masques jetables, . . . . p. 18 Codes ` a r epertoire, . . . . . . . . . . p. 9 codes de C esar, . . . . . . . . . . . . . . p. 12 codes de substitution, . . . . . . . p. 12 codes de Vernam, . . . . . . . . . . . . p. 18 codes monoalphab etiques, . . . p. 14 collisions faibles diciles, . . . . p. 65 collisions fortes diciles, . . . . . p. 65 complexit e calculatoire, . . . . . . p. 74 complexit e polynomiale, . . . . . p. 83 complexit e non polynomiale, . . . . p. 83 condentialit e parfaite, . . p. 23, . . p. 79 confusion et diusion, . . . . . . . p. 34 congrus modulo P , . . . . . . . . . . p. 109 courbe elliptique non singuli` ere, . . . . . . p. 113 courbe singuli` ere, . . . . . . . . . . . . p. 113 crible dEratosthenes, . . . . . . . . p. 100 crible quadratique, . . . . . . . . . . p. 102

34 34 24 40 13 68 92 17 22 22 22 22 65 7

certicat, . . . . . . . . . . . . . . . . . . . . p. 60 cl e publique de chirement, . . . . . . p. 48

122

INDEX cryptanalyse, . . . . . . . . . . . . . . . . p. 6 indicatrice dEuler, . . . . . . . . . . p. cryptographie, . . . . . . . . . . . . . . . p. 6 infrastructure des cryptologie, . . . . . . . . . . . . . . . . . . p. 6 syst` emes a ` clef secr` ete, . . . . p. cryptosyst` eme RSA, . . . . . . . . . p. 27 infrastructures des syst` emes ` a clef publique, . . . p. Data Encrytion Standard, . . . p. 34 Int egrit e des donn ees, . . . . . . . .p. degr e du polyn ome, . . . . . . . . . .p. 105 DES, . . . . . . . . . . . . . . . . . . . . . . . . p. 34 Kerberos, . . . . . . . . . . . . . . . . . . . . p. digital right management, . . . p. 31 es, . . . . . . . . . . . . . . p. diviseur, . . . . . . p. 87, . . . . . . p. 105 les mots cod diviseurs triviaux, . . . . . . . . . . . p. 87 les mots en clair, . . . . . . . . . . . . p. division euclidienne, . . . . . . . . . p. 86 LFBR, . . . . . . . . . . . . . . . . . . . . . . p. DRM, . . . . . . . . . . . . . . . . . . . . . . . p. 31 linear feedback register, . . . . . .p. logarithme discret, . . . . . . . . . . .p. empreinte num erique, . . . . . . . . p. 63 engagement, . . . . . . . . . . . . . . . . . p. 73 m ethode de la grille, . . . . . . . . . p. entropie, . . . . . . . . . . . . . . . . . . . . .p. 80 machines de Turing, . . . . . . . . . p. espace des clefs, . . . . . . . . . . . . . p. 24 mascarade, . . . . . . . . . . . . . . . . . . p. exposant de mod` ele X.509, . . . . . . . . . . . . . . . p. la cl e publique, . . . . . . p. 48 module du cryptosyst` eme, . . . p. exposant de la cl e secr` ete, . . . . . . . .p. 48 National Bureau of Standards, . . . . . . .p. factorisation des entiers, . . . . . p. 27 nombres premiers, . . . . . . . . . . . p. fonction ` a sens unique, . . . . . . p. 27 non-r epudiation, . . . . . . . . . . . . . p. fonction d etage, . . . . . . . . . . . . . p. 34 non-r epudiation fonction de combinaison, . . . . .p. 20 de transmission, . . . p. fonction de compression, . . . . . p. 64 non-r epudiation fonction de d ecodage, . . . . . . . . p. 24 dorigine, . . . . . . . . p. fonction de ltrage, . . . . . . . . . . p. 20 non-r epudiation fonction de hachage, . . . . . . . . . p. 63 de r eception, . . . . p. fonction de hachage NP, . . . . . . . . . . . . . . . . . . . . . . . . . p. a sens unique, . . . . . . . p. 65 ` fonction de hachage op erations el ementaires, . . . . . p. it er ee, . . . . . . . . p. 64 P, . . . . . . . . . . . . . . . . . . . . . . . . . . . p. gestion des par blocs, . . . . . . . . . . . . . . . . . . . p. droits num eriques, . . .p. 31 permutation initiale, . . . . . . . . . p. hash function, . . . . . . . . . . . . . . . p. 63 PGCD, . . . . . . . . . . . . . . . . . . . . . . p. PGP, . . . . . . . . . . . . . . . . . . . . . . . . p. ind etermin ee, . . . . . . . . . . . . . . . . p. 105 PKI, . . . . . . . . . . . . . . . . . . . . . . . . p.

123 97 44 60 8 45 24 24 18 18 55 10 81 7 61 48

34 87 8 8 8 8 83 84 82 14 35 88 26 60

124 plus grand commun diviseur, . . . . . . . . . . . . p. 88 point ` a linni, . . . . . . . . . . . . . . p. 113 polyalphab etique, . . . . . . . . . . . . p. 14 polyn ome irr eductible, 106, . . p. 106 polyn ome premier, . . . . . . . . . . .p. 106 polyn ome unitaire, . . . . . . . . . . p. 105 polyn omes associ es, . . . . . . . . . . p. 105 porte d erob ee, . . . . . . . . . . . . . . . p. 47 preuve sans apport de connaissance, . . . p. 32 proc ed e de chiffrement, . . . . . . p. 24 probabibilit e mutuelle, . . . . . . . p. 78 probabilit e conditionnelle, . . . p. 78 probl` emes non polynomiaux en temps, . . . . . . . . . . . p. 83 probl` emes polynomiaux en temps, . . . . . . . . . . . p. 82 produit de polyn omes premiers, . . . . . p. 106 protocole interactif, . . . . . . . . . . p. 75 protocoles didentication, . . . p. 32 Public Key Infrastructure, . . . . . . . p. 60 r eciprocit e quadratique, . . . . . p. r esidus quadratiques, . . . . . . . . p. r` egle de chirement, . . . . . . . . . p. r` egle de d echirement, . . . . . . . p. racine primitive modulo p, . . . p. redondance, . . . . . . . . . . . . . . . . . p. registres ` a d ecalages, . . . . . . . . p. repr esentant de la classe de congruence, . . . . . . p. Rivest-Shamir et Adleman, . . p. S-bo tes, . . . . . . . . . . . . . . . . . . . . . p. s ecurit e calculatoire, . . . . . . . . . p. s ecurit e inconditionnelle, . . . . .p. s ecurit e prouv ee, . . . . . . . . . . . . p. 99 98 24 24 95 80 18

INDEX sch ema de Feistel, . . . . . . . . . . . p. scytale, . . . . . . . . . . . . . . . . . . . . . . p. Secure Hash Algorithm, . . . . . p. SHA-1, 66 signature, . . . . . . . . . . . . . . . . . . . p. sous-exponentiel, . . . . . . . . . . . . p. suites pseudo-al eatoires, . . . . . p. suites r ecurrentes lin eaires sur un corps ni, . p. symbole de Jacobi, . . . . . . . . . . p. symbole de Legendre, . . . . . . . . p. Symmetric Keys Management, . . . . . . . p. synchrone, . . . . . . . . . . . . . . . . . . . p. syst` eme cryptographique produit, . . . . p. syst` eme de chirement it er e, . . . . . . p. syst` eme de gestion des clefs, . . . . . . . . . . . . p. 34 10 66 8 29 19 18 99 98 45 17 34 40 45

tatouge, . . . . . . . . . . . . . . . . . . . . . p. 31 terme de degr e i, . . . . . . . . . . . . p. 105 test de Lucas, . . . . . . . . . . . . . . . p. 100 test de primalit e de Solovay-Strassen, . . . . . . p. 101 th eorie de linformation, . . . . . p. 23 th eorie de la complexit e, . . . . . p. 23 Tiers de Conance, . . . . . . . . . . p. 60 tiers de conance, . . . . . . . . . . . p. 68 transfert inconscient, . . . . . . . . p. 75 Trusted Third Party, . . . . . . . . p. 60 TTP, . . . . . . . . . . . . . . . . . . . . . . . . p. 60

94 27 unit e, . . . . . . . . . . . . . . . . . . . . . . . p. 87 unit e de K[X ], . . . . . . . . . . . . . . . p. 106 36 23 variable, . . . . . . . . . . . . . . . . . . . . . p. 105 23 23 watermarking, . . . . . . . . . . . . . . . p. 31

INDEX XOR, . . . . . . . . . . . . . . . . . . . . . . . p. 20 zero-knowledge proof, . . . . . . . .p. 32

125

Vous aimerez peut-être aussi