370 likes | 768 Vues
. Plan du tutorial. IntroductionLes outils : algorithmes sym
E N D
1.
2. Plan du tutorial Introduction
Les outils : algorithmes symtriques
Algorithmes par bloc
Gnrateur de pseudo-ala
3. Les outils : algorithmes asymtriques
Le protocole Diffie-Hellman
Lexemple du RSA en mode chiffrement et signature
Les 2 familles de cryptosystmes hybrides
3. Assurer la confidentialit
La donne ne peut tre lue que par les personnes ayant le besoin den connatre
Assurer lintgrit
La donne na pas t modifie
Assurer lauthenticit
La donne provient bien dune certaine source
Assurer la non rpudiation
Signature lectronique avance
Nouveaux besoins lis au dveloppement de lInternet et des rseaux de tlcommunications :
Preuve sans divulgation
Partage de secret .../
4. Cryptographie symtrique Commentaires:
Les cls doivent rester secrtes
Les cls sont gnres alatoirement
Les cls doivent tre renouveles priodiquement
Aujourdhui, taille de cls minimum de lordre de 80 bits. 128 bits semble tre raisonnable.
Commentaires:
Les cls doivent rester secrtes
Les cls sont gnres alatoirement
Les cls doivent tre renouveles priodiquement
Aujourdhui, taille de cls minimum de lordre de 80 bits. 128 bits semble tre raisonnable.
5. Cryptographie symtrique Principe de conception lmentaire dun cryptosystme
Traitement itratif des messages (clairs ou chiffres) par bit ou par bloc de longueur fixe pour respecter les principes de diffusion et de confusion de Shannon , i.e :
ConfusionLes statistiques du cryptogramme doivent dpendrent des statistiques du clair dune faon suffisamment complique pour ne pas tre exploitable par le cryptanalyste
Diffusion : chaque symbole du clair et de la cl doit influencer chaque symbole du chiffre
2 catgories de cryptosystmes symtriques :
cryptosystmes par blocs : DES, AES
en continu (stream cipher) : gnrateur de pseudo-ala
6. One-time pad Systme cr par Vernam
M et C sont de mme longueur, K doit tre au moins aussi long que C
Cet algorithme est le seul thoriquement sr si :
la cl est un ala parfait
la cl est dtruite aprs utilisation
H(M |C)=H(M), i.e C napporte aucune information sur M
Exemple : le tlphone rouge
Inconvnient : gnration et transport de lala
7. Algorithmes symtriques Deux techniques fondamentales de conception :
substitution = permutation sur un alphabet indexe par une cl secrte, i.e :
S? (m1,.,mn)= ( ?(m1),.,?(mn) ) ou la cl ? est une permutation alatoire sur lensemble M des messages.
exemples:
le chiffrement par dcalage : M=Zn et ?(x)=x?b mod n o b est un lment de Zn .b est la cl : le nombre de cls possibles est gal n. ( Chiffrement der CESAR :n=26,b=3);
transposition = permutation des positions des lments dune suite finie
T(m1,.,mn)=m?(1),...., m?(n) avec ? permutation sur {1,,n}
Employes seules, ces deux techniques sont non-sres
une simple analyse de frquence linguistique permet de cryptanalyser un chiffrement par substitution ou par transposition
8. Principe gnral dun algorithme par bloc :
on dfinit une opration lmentaire qui comporte au moins une opration non linaire(exemple schma de Feistel du DES)
la ronde est itre n fois : propage la diffusion et la confusion sur tout le bloc de chiffre
longueur du message = longueur du bloc
Exemples :
Data Encryption Standard (DES), blocs : 64 bits / cl : 56 bits
International Data Encryption Algorithm (IDEA), blocs : 64 bits / cl : 128 bits
AES (nouveau standard): 128 bits / cls variables de 128 256 bits
9. Objectif : laborer une suite pseudo alatoire partir dun algorithme, une cl et un message en clair
Problme : lopration doit tre rversible : la transformation doit donc tre bijective
Apport de Feistel : mthode permettant de construire facilement une fonction bijective partir de nimporte quelle fonction boolenne non linaire.
Objectif : laborer une suite pseudo alatoire partir dun algorithme, une cl et un message en clair
Problme : lopration doit tre rversible : la transformation doit donc tre bijective
Apport de Feistel : mthode permettant de construire facilement une fonction bijective partir de nimporte quelle fonction boolenne non linaire.
10. Algorithmes par bloc
Le nouveau Standard AES Historique :
En 1998 : dcryptage du DES grce un processeur ddi valant la somme drisoire de 250 k
Le DES stant largement rpandu dans les communications bancaires
?ncessit de dfinir un nouveau standard
En 1998 : appel candidature du NIST pour trouver un successeur au DES
en octobre 2000 : choix de lalgorithme Rijndael qui a pris le nom dAES (Advanced Encryption Standard)
11. Cahier des charges du nouvel algorithme
Public mais galement utilisable dans le monde bancaire et militaire
Scurit suprieure au TDES et plus performant
Traitant des blocs de taille >128 bits avec des tailles de cl variables (128 256 bits)
Flexible pour une grande gamme dimplmentations
Critres dvaluation
Scurit compare des candidats
Rapidit de l'algorithme: mise la clef, changement de clef, chiffrement,
Taille du code, Ram exige, #portes logiques
Flexibilit: taille variable des clefs, des blocs
Efficacit des implmentations: 8 bits, 32 bits, rseaux ATM, voix, communications satellites,RNIS, TVHD,cartes puces
Le 12 septembre 1997, le NIST a lanc un appel contribution pour remplacer le DES sous le nom de Advanced Encryption Standard. Le cahier des charges du nouvel algorithme de chiffrement par bloc spcifiait notamment que :
LAES devait supporter des longueurs de cl gales 128,192 et 256 bits;
LAES devait tre libre de droit dans le monde entier.
La date de limite de dpts tait fixe au 15 Juin 1998. Des 21 cryptosystmes soumis, 15 remplissaient tous le critres ncessaires et furent accepts comme candidats AES. Le NIST a prsent les 15 candidats AES lors de la First Candidate Conference. A lissue de la Second Candidate Conference , cinq candidats furent choisis par le NIST comme finaliste : MARS,RC6,Rijndael, Serpent et Twofish.
Enfin, suite la Third Candidate Conference qui eu lieu en avril 2000, lalgorithme Rijndael fut dclar gagnant le 2 septembre 2000. La standardisation de lAES fut officialise par la publication FIPS 197 dans le Federal Register le 4 dcembre 2001.
Lalgorithme Rijndael a t invent par deux chercheurs belges : Joan Daemen et Vincent Rijmen.
Le 12 septembre 1997, le NIST a lanc un appel contribution pour remplacer le DES sous le nom de Advanced Encryption Standard. Le cahier des charges du nouvel algorithme de chiffrement par bloc spcifiait notamment que :
LAES devait supporter des longueurs de cl gales 128,192 et 256 bits;
LAES devait tre libre de droit dans le monde entier.
La date de limite de dpts tait fixe au 15 Juin 1998. Des 21 cryptosystmes soumis, 15 remplissaient tous le critres ncessaires et furent accepts comme candidats AES. Le NIST a prsent les 15 candidats AES lors de la First Candidate Conference. A lissue de la Second Candidate Conference , cinq candidats furent choisis par le NIST comme finaliste : MARS,RC6,Rijndael, Serpent et Twofish.
Enfin, suite la Third Candidate Conference qui eu lieu en avril 2000, lalgorithme Rijndael fut dclar gagnant le 2 septembre 2000. La standardisation de lAES fut officialise par la publication FIPS 197 dans le Federal Register le 4 dcembre 2001.
Lalgorithme Rijndael a t invent par deux chercheurs belges : Joan Daemen et Vincent Rijmen.
12. Algorithmes par blocs
Modes dopration Modes non chans ou nonFeedBack mode (ECB,CTR,)
Ces modes traitent les blocs de clairs de manire indpendante (ex: dchiffrement alatoire dans une Base de donne)
efficacit dimplmentation en logiciel et en Hard (paralllisation des calculs) : mode adapt pour la cryptographie haut dbit
Simplicit dimplmentation pour le mode CTR : le chiffrement et le dchiffrement ne dpend que de E
Pour le mode ECB, : lentropie du clair se retrouve dans le cryptogramme, donc sil lespace des messages est de taille rduite : possibilit de construire un carnet de codage
Problme des modes non feedback : pas de service dintgrit
Les modes chans ou FeedBack mode sont par nature des modes squentiels (ex: CBC, CFB, OFB, IACBC, IAPM, PCBC). Il offrent une scurit accrue et sont donc utiliss plus souvent que les modes non-chans. Ce gain de scurit implique ncessairement baisse des performances du composant cryptographique en terme de dbit. En effet, ces modes engendrent une dpendance trs forte entre les blocs de cryptogramme. Le calcul dun cryptogramme ne peut seffectuer que lorsquau moins le cryptogramme prcdent a t trait. Cette restriction a bien entendu un impact fort sur les spcifications de limplmentation matrielle dun quipement de scurit puisque aucun paralllisme sur les composants cryptographiques ne peut tre exploit nativement pendant le traitement dun mme flot de donnes. Toutes les techniques pour accrotre les dbits utilisant des principes de paralllisation, notamment le pipelining, ne peuvent tre utilises efficacement que sur des flots de donnes indpendants.Les modes chans ou FeedBack mode sont par nature des modes squentiels (ex: CBC, CFB, OFB, IACBC, IAPM, PCBC). Il offrent une scurit accrue et sont donc utiliss plus souvent que les modes non-chans. Ce gain de scurit implique ncessairement baisse des performances du composant cryptographique en terme de dbit. En effet, ces modes engendrent une dpendance trs forte entre les blocs de cryptogramme. Le calcul dun cryptogramme ne peut seffectuer que lorsquau moins le cryptogramme prcdent a t trait. Cette restriction a bien entendu un impact fort sur les spcifications de limplmentation matrielle dun quipement de scurit puisque aucun paralllisme sur les composants cryptographiques ne peut tre exploit nativement pendant le traitement dun mme flot de donnes. Toutes les techniques pour accrotre les dbits utilisant des principes de paralllisation, notamment le pipelining, ne peuvent tre utilises efficacement que sur des flots de donnes indpendants.
13. Algorithmes par blocs
Mode ECB et CTR Le mode dictionnaire est le mode le plus naturel. Les blocs sont chiffrs indpendamment les uns des autres. Cest le seul qui soit totalement paralllisable, il noffre donc pas de service dintgrit. Par ailleurs, cl fixe deux messages identiques donnent deux cryptogrammes identiques et la redondance du clair se retrouve dans le cryptogramme Le mode dictionnaire est le mode le plus naturel. Les blocs sont chiffrs indpendamment les uns des autres. Cest le seul qui soit totalement paralllisable, il noffre donc pas de service dintgrit. Par ailleurs, cl fixe deux messages identiques donnent deux cryptogrammes identiques et la redondance du clair se retrouve dans le cryptogramme
14. Algorithmes par bloc : mode chans Modes chans FeedBack mode.
Ces modes sont par nature des modes squentiels (ex: CBC, CFB, OFB, /). Le calcul dun cryptogramme ne peut seffectuer que lorsquau moins le cryptogramme prcdent a t trait;
scurit accrue et sont donc utiliss plus souvent que les modes non-chans,
Ce gain de scurit implique ncessairement baisse des performances.
Certains modes permettent dassurer conjointement un service de confidentialit et dintgrit (Ex: IACBC,) Possibilit de pr-traitements. Le fait que le procd de chiffrement soit indpendant de M permet deffectuer naturellement le pr-traitement de la suite .
Accs alatoire. Comme pour le mode dictionnaire (ECB), chaque bloc peut tre chiffr ou dchiffr de manire indpendante;
Messages de taille arbitraire. A linstar dautres modes doprations, le traitement de messages de taille arbitraire est trivial. Il ny a pas de perte de bit et donc pas besoin de bourrage.
Preuve de scurit. On peut montrer que les proprits dcrites ci dessus ninduisent pas de failles de scurit.
Le mode compteur prsente nanmoins les dsavantages suivants:
Pas de service dintgrit. Le mode compteur ne fournit pas nativement de service dintgrit de donnes. Comme pour les autres modes standardiss par le NIST, il est bien entendu toujours possible dadjoindre un MAC (Message Authentication Code ) au cryptogramme . Cette technique aura pour effet de diminuer sensiblement le dbit du composant cryptographique.
Pas de propagation derreur. Si une erreur apparat sur un bit dun bloc de cryptogramme, aprs dchiffrement, lerreur est localise sur le mme bit du bloc de clair correspondant.
Sensibilit aux erreurs dimplmentation et dutilisation. Il est fondamental de ne pas rutiliser la valeur du compteur, deux initialisations identiques donnant la mme suite de pseudo-ala.
Possibilit de pr-traitements. Le fait que le procd de chiffrement soit indpendant de M permet deffectuer naturellement le pr-traitement de la suite .
Accs alatoire. Comme pour le mode dictionnaire (ECB), chaque bloc peut tre chiffr ou dchiffr de manire indpendante;
Messages de taille arbitraire. A linstar dautres modes doprations, le traitement de messages de taille arbitraire est trivial. Il ny a pas de perte de bit et donc pas besoin de bourrage.
Preuve de scurit. On peut montrer que les proprits dcrites ci dessus ninduisent pas de failles de scurit.
Le mode compteur prsente nanmoins les dsavantages suivants:
Pas de service dintgrit. Le mode compteur ne fournit pas nativement de service dintgrit de donnes. Comme pour les autres modes standardiss par le NIST, il est bien entendu toujours possible dadjoindre un MAC (Message Authentication Code ) au cryptogramme . Cette technique aura pour effet de diminuer sensiblement le dbit du composant cryptographique.
Pas de propagation derreur. Si une erreur apparat sur un bit dun bloc de cryptogramme, aprs dchiffrement, lerreur est localise sur le mme bit du bloc de clair correspondant.
Sensibilit aux erreurs dimplmentation et dutilisation. Il est fondamental de ne pas rutiliser la valeur du compteur, deux initialisations identiques donnant la mme suite de pseudo-ala.
15. Algorithmes par bloc : mode CBC Proprits du mode CBC :
algorithme auto synchronisant par rapport aux erreurs de transmission : si une erreur apparat sur le bloc Ci mais pas sur Ci+1 alors le bloc Ci+2 est correctement dchiffr
Valeur initiale de lIV : publique mais alatoire et intgre
Attention le mode CBC ne doit pas tre utilis pour raliser un service dintgrit
Ce mode est pour linstant le seul mode chan standardis par le NIST.
A linstar des autres modes standardiss par le NIST, il ne peut pas utilis pour raliser un service dintgrit de donnes. (cf. planches suivantes).
Ce mode est pour linstant le seul mode chan standardis par le NIST.
A linstar des autres modes standardiss par le NIST, il ne peut pas utilis pour raliser un service dintgrit de donnes. (cf. planches suivantes).
16. Algorithmes par blocs
Les attaques Les attaques thoriques
Cryptanalyse linaire et diffrentielle (attaques clair choisies)
Objectif : casser les rondes et trouver la dernire sous-cl
Principe : une variation ?M sur un message M produit une variation ?C sur le chiffre C. Le cryptanalyste recherche des valeurs particulires de ?M qui engendrent un ?C connu avec une probabilit anormale.
Pour de bons algorithmes :
Recherches exhaustive de lattaquant
Attaques physiques non intrusives
Attaques SPA, DPA, Timing Attacks
Commentaires :
Commentaires :
17. Chiffrement en continu Le gnrateur continu est un GPA utilisant pour graine la cl K
le flux de sortie est additionn avec le message clair (xor)
Exemple de gnrateur continu : tout algorithme de chiffrement symtrique utilis en mode CFB
Permet de simuler le One Time PAD
Trs utilis dans le monde des communications satellites et tlphonique
18. Gnrateurs pseudo-alatoires un gnrateur binaire pseudo-alatoire (GPA) est :
une fonction facilement calculable
de lespace des graines (seed) G
vers lespace des suites semi-infinies S
telle que ? g ? G, le pseudo-ala s = GPA(g) a les caractristiques suivantes :
priode longue
pour tout k, les 2k k-uplets apparaissent de faon quiprobable
tant donn s(0)..s(i), la valeur s(i+1) est imprvisible (sans connatre g)
remarque : un pseudo-ala nest pas un ala (au sens de la complexit) !
Aucun algorithmes civils standards (RC4,RC5,A5/1)
Trs utilis dans le monde militaire
19. Mode autoclave (clair ou chiffre)
permet de faire de lintgrit
Ncessite une synchronisation parfaite
propagation des erreurs
20. Mode autoclave autosynchronisant
propagation des erreurs < d bits
se synchronise automatiquement aprs rception de d bits corrects de crypto (trs utile pour des lignes fort taux derreurs)
21. Objectif : obtenir un ala vrai au sens de thorie de la complexit. Lala pur est fondamental en cryptologie
Principe de conception
Utilisation dune source dala physique
Amplification du bruit dun composant actif
chantillonnage dune horloge synchrone par une horloge asynchrone
Et dun algorithme dterministe pour lisser les biais rsiduels
Attention : Il est trs facile dintroduire des trappes dans un gnrateur dala
Ex : principe de la rduction dentropie coupl avec un algorithme de chiffrement dont linitialisation est connue seule du concepteur
On ne doit jamais faire confiance un gnrateur dala dont on ne matrise pas les principes de conception
22. Fonctions de hachage Deux familles de fonctions de Hachage :
Fonction de hachage clef (Keyed Hash functions)
Exemple dutilisation : Intgrit des messages (MAC)
Fonction de Hachage sans clef
Exemples dutilisation :
dans une base de vrification de mot de passe, stockage seulement des hachs (ex: Mot de passe Unix)
Signatures lectroniques (Cf. cryptographie asymtrique)
Hachage : proprits dsires
Entres de taille arbitraire (Compression initiale de lentre)
Rsultat sur une taille fixe (160, 256, bits)
23. Fonctions de hachage Hachage proprits dsires
Non-inversible : sachant y, il est difficile de trouver x tel que H(x) = y
Sans collision : il est difficile de trouver x et x tels que H(x) = H(x). (Attaque des anniversaires)
Facilit de calcul : tant donn une entre x et la fonction h, H(x) est facile calculer, itration dune fonction lmentaire
Entres de taille arbitraire (Compression initiale de lentre)
Rsultat sur une taille fixe (160, 256, bits)
Nouveaux standards de Hachage (FIPS 180-2)
Exemple dutilisation :
Dans une base de vrification de mot de passe, stockage seulement des hachs, pour les signatures (asymtriques)
Exemple dutilisation :
Dans une base de vrification de mot de passe, stockage seulement des hachs, pour les signatures (asymtriques)
24. Cryptographie asymtrique : les besoins Problme de la distribution et de la gestion des clefs symtriques dans des grands systmes ouverts et mal hirarchiss
N nuds ? maillage de tunnels n x n ? n clefs grer
Mme type de problme que pour les tables de routage
Problme du squestre par un serveur de cl symtrique
Un point unique (le serveur de clefs) connat toutes les clefs de tout le monde ? confiance ?
Besoin de base : mis en accord publique sur un secret commun sans distribution de confiance pralable La naissance de la cryptographie clef publique
Le problme de la distribution de clef a tourment les cryptologues travers lhistoire. Par exemple, pendant la seconde guerre mondiale ltat major de larme allemande devait distribuer mensuellement tous les oprateurs de la machine de chiffrement Enigma la liste des clefs journalires. Le problme de logistique tait donc norme, en particulier pour les U-boats qui devaient dune faon ou dune autre obtenir un annuaire de clefs valides malgr lloignement frquent de leur base dorigine. Les nombreuses compromissions de clefs et les erreurs de manipulation des oprateurs ont dans la pratique facilites le dcryptement de la machine Enigma.
Ainsi, dans un systme de chiffrement traditionnel ou symtrique, lmetteur et le destinataire doivent possder un secret commun pour schanger des donnes de manire scurise. Ce secret commun doit tre distribu aux deux intervenants par un moyen de communication sr. Dans ce type de systme, la gestion des clefs des utilisateurs ne peut donc pas saffranchir dune autorit de confiance centralisant la gnration et la distribution des clefs. Pendant la seconde guerre mondiale, les cls secrtes taient par exemple gnres par les tats majors et distribues par enveloppe cachete par un officier habilit.
Dans ce contexte, la libralisation des changes scuriss sur un rseau public ne pouvait tre solutionne que par la rsolution du problme de mise en accord sur un secret commun suivant:
Deux personnes, disons Alice et Bob, dsirent communiquer de manire scurise sur un canal non sr ( par exemple le rseau Internet) en utilisant un algorithme clef secrte. Nanmoins, ils ne possdent pas de secret commun indispensable pour initialiser leur algorithme symtrique.
Comment peuvent tils alors, sans solliciter un tiers de confiance, se mettre daccord publiquement sur un secret commun?
La naissance de la cryptographie clef publique
Le problme de la distribution de clef a tourment les cryptologues travers lhistoire. Par exemple, pendant la seconde guerre mondiale ltat major de larme allemande devait distribuer mensuellement tous les oprateurs de la machine de chiffrement Enigma la liste des clefs journalires. Le problme de logistique tait donc norme, en particulier pour les U-boats qui devaient dune faon ou dune autre obtenir un annuaire de clefs valides malgr lloignement frquent de leur base dorigine. Les nombreuses compromissions de clefs et les erreurs de manipulation des oprateurs ont dans la pratique facilites le dcryptement de la machine Enigma.
Ainsi, dans un systme de chiffrement traditionnel ou symtrique, lmetteur et le destinataire doivent possder un secret commun pour schanger des donnes de manire scurise. Ce secret commun doit tre distribu aux deux intervenants par un moyen de communication sr. Dans ce type de systme, la gestion des clefs des utilisateurs ne peut donc pas saffranchir dune autorit de confiance centralisant la gnration et la distribution des clefs. Pendant la seconde guerre mondiale, les cls secrtes taient par exemple gnres par les tats majors et distribues par enveloppe cachete par un officier habilit.
Dans ce contexte, la libralisation des changes scuriss sur un rseau public ne pouvait tre solutionne que par la rsolution du problme de mise en accord sur un secret commun suivant:
Deux personnes, disons Alice et Bob, dsirent communiquer de manire scurise sur un canal non sr ( par exemple le rseau Internet) en utilisant un algorithme clef secrte. Nanmoins, ils ne possdent pas de secret commun indispensable pour initialiser leur algorithme symtrique.
Comment peuvent tils alors, sans solliciter un tiers de confiance, se mettre daccord publiquement sur un secret commun?
25. Malheureusement, il nest pas aussi facile dans la pratique de quantifier formellement la difficultdinverser une fonction f.
Pour trouver des candidats concrets, les premiers systmes cl publiques ont utilis larithmtique modulaire: cest en effet une branche des mathmatiques riche en fonctions sens unique. En arithmtique modulaire, les mathmaticiens considrent un ensemble fini de nombres entiers arrangs en cycle, de manire semblable aux nombres figurant sur une horloge. Cette discipline est en ralit assez simple, on lutilise inconsciemment tous les jours lorsquon donne lheure. Considrons par exemple une horloge avec 7 chiffres numrotes de 0 6. Pour effectuer laddition de 2+3, on se positionne sur le chiffre 2 et on tourne laiguille de3 chiffres pour atteindre le nombre 5. Pour effectuer laddition de 2+6, on se positionne sur le chiffre 2 et on tourne laiguille de6 chiffres pour atteindre le nombre 1. Ces rsultats peuvent sexprimer formellement de la manire suivante:
2+3?5 mod 7 et 2+6?1 mod 7
Les fonctions spcifies sur un ensemble modulaire (on parle en ralit de groupe, anneau ou corps) ont tendance se comporter de manire trs irrgulire, ce qui peut potentiellement en faire de bons candidats pour des fonctions sens unique. Cette irrgularit sobserve naturellement en comparant les valeurs de la fonction calcules en arithmtique modulaire ses valeurs calcules en arithmtique usuelle (cf. Tableau 1).
Malheureusement, il nest pas aussi facile dans la pratique de quantifier formellement la difficultdinverser une fonction f.
Pour trouver des candidats concrets, les premiers systmes cl publiques ont utilis larithmtique modulaire: cest en effet une branche des mathmatiques riche en fonctions sens unique. En arithmtique modulaire, les mathmaticiens considrent un ensemble fini de nombres entiers arrangs en cycle, de manire semblable aux nombres figurant sur une horloge. Cette discipline est en ralit assez simple, on lutilise inconsciemment tous les jours lorsquon donne lheure. Considrons par exemple une horloge avec 7 chiffres numrotes de 0 6. Pour effectuer laddition de 2+3, on se positionne sur le chiffre 2 et on tourne laiguille de3 chiffres pour atteindre le nombre 5. Pour effectuer laddition de 2+6, on se positionne sur le chiffre 2 et on tourne laiguille de6 chiffres pour atteindre le nombre 1. Ces rsultats peuvent sexprimer formellement de la manire suivante:
2+3?5 mod 7 et 2+6?1 mod 7
Les fonctions spcifies sur un ensemble modulaire (on parle en ralit de groupe, anneau ou corps) ont tendance se comporter de manire trs irrgulire, ce qui peut potentiellement en faire de bons candidats pour des fonctions sens unique. Cette irrgularit sobserve naturellement en comparant les valeurs de la fonction calcules en arithmtique modulaire ses valeurs calcules en arithmtique usuelle (cf. Tableau 1).
26. Exemple de fonction sens unique: lexponentielle modulaire Ces deux oprations confrent lensemble Zn une structure danneau; et en particulier (Zn ,+) a une structure de groupe. Ce nest pas toujours le cas de (Zn \{0}, ?): par exemple dans (Z10 \{0}, ?), 3 admet 7 pour inverse car 3?7=21?1 mod 21 mais linverse de 4 nexiste pas Ainsi, pour que (Zn \{0}, ?) soit un groupe, il faut ne conserver que les lments inversibles de Zn \{0}, cest dire les lments qui sont premiers avec n. On note cet ensemble Z*n. Lorsque n est un nombre premier, lensemble Z*n est gal Zn \{0} et lanneau (Zn, +, ?) devient un corps. Dans ce cas, le groupe Z*n est de plus cyclique. Cest dire quil existe un lment ? (cf. protocole de Diffie Hellman) dont les puissances successives engendrent tous les lments du groupe. On dit alors que le nombre ? est un gnrateur du groupe Z*n , i.e on a Z*n ={? i, 0= i< n-1}.
Dans un corps fini, il est possible, comme dans le corps des rels, de diviser par tous les lments non nuls. On peut donc y adapter tous les algorithmes (dfinis habituellement sur le corps des rels ) qui nutilisent comme seules oprations que les oprations lmentaires +, ?, , \ et le test dgalit. Cest un des intrts de ces structures: il est en effet bien plus facile dimplmenter, en logiciel ou en matriel, des calculs sur des entiers que sur des rels. Ces deux oprations confrent lensemble Zn une structure danneau; et en particulier (Zn ,+) a une structure de groupe. Ce nest pas toujours le cas de (Zn \{0}, ?): par exemple dans (Z10 \{0}, ?), 3 admet 7 pour inverse car 3?7=21?1 mod 21 mais linverse de 4 nexiste pas Ainsi, pour que (Zn \{0}, ?) soit un groupe, il faut ne conserver que les lments inversibles de Zn \{0}, cest dire les lments qui sont premiers avec n. On note cet ensemble Z*n. Lorsque n est un nombre premier, lensemble Z*n est gal Zn \{0} et lanneau (Zn, +, ?) devient un corps. Dans ce cas, le groupe Z*n est de plus cyclique. Cest dire quil existe un lment ? (cf. protocole de Diffie Hellman) dont les puissances successives engendrent tous les lments du groupe. On dit alors que le nombre ? est un gnrateur du groupe Z*n , i.e on a Z*n ={? i, 0= i< n-1}.
Dans un corps fini, il est possible, comme dans le corps des rels, de diviser par tous les lments non nuls. On peut donc y adapter tous les algorithmes (dfinis habituellement sur le corps des rels ) qui nutilisent comme seules oprations que les oprations lmentaires +, ?, , \ et le test dgalit. Cest un des intrts de ces structures: il est en effet bien plus facile dimplmenter, en logiciel ou en matriel, des calculs sur des entiers que sur des rels.
27. Mise en accord sur un secret commun
Le protocole de Diffie-Hellman
28. Casser le protocole de Diffie Hellman est quivalent au problme du logarithme discret
Le schma est peu sr pour 512 bits mais offre un haut niveau de scurit pour 1024 bits
p-1 doit contenir un gros facteur premier pour rsister aux algorithmes de calcul de calcul de logarithmes discrets
Une version scurise de DH : le protocole STS (Station To Station) assure une authentification mutuelle des entits et explicite du secret partag grce un mcanisme de chiffrement et signature.
29. Cryptosystme asymtrique
30. Remarques :
lasymtrique est calculatoirement moins efficace que le symtrique :
chiffrement de 100 1000 fois plus lents rsistance gale
cls ~10 fois plus longues rsistance gale
les cls publiques doivent tre authentifies
Premier cryptosystme cl publique : Le RSA
Conceptuellement assez loign de Diffie-Hellman
La scurit du RSA est calculatoire : sa robustesse repose sur la difficult de factoriser un nombre qui est le produit de 2 grands nombres premiers
Utilis dans plus de 400 millions de logiciels, il est devenu un standard de fait (Standardis dans les FIPS 140-2)
31. Le crypto systme RSA
32. Le crypto systme RSA La preuve que yd=xed=x modulo n utilise le Thorme de Fermat-Euler connu depuis le XVIII me sicle : Soit ? (n) le nombre dentiers >0 infrieurs n et premiers avec n, alors si a est premier avec n on a: a? (n) =1 modulo n .
La preuve du RSA est alors trs simple:
On suppose que x est premier avec n (dans les cas peu probables o ce nest pas le cas, on montre que la dmonstration reste vraie),
Alors yd=(xe)d=xed modulo n , mais comme ed=1 modulo ? (n) , la quantit ed-1 est un multiple de ?(n) , il existe donc un k tel que ed-1=k ?(n)
donc xed = x (x ?(n))k = x modulo n
33.
Aucune attaques dvastatrices pour le moment : surtout des prcautions de mise en oeuvre
Attaque de Wiener si d <n0,292 alors on retrouve d partir du calcul de pgcd(e,n), ce qui permet de factoriser n en temps polynomial
RSA 512 bits a t cass en 1999, RSA 1024 : scurit commercialeLe protocole est gnralisable tous les groupes o le problme du logarithme discret est difficile
exemple : le groupe des points dune courbe elliptique : taille des cls moindre pour une scurit quivalente : exemple un EC-RSA 192 bits est quivalent un RSA 1024 bits sur Zp
Attention : Il est ais dintroduire des portes drobes dans un gnrateur de cl RSA (Principe de Crpeau et Slakmon publi en 2002) : il est illusoire davoir une confiance aveugle dans un gnrateurs de cls dont on ne matrise ni la spcification ni la conception Scurit du RSA
34. Signature lectronique Fait : avec un cryptosystme symtrique, la mme cl est utilise par les deux correspondants : on ne peut pas signer
Lexemple de la signature RSA : Il suffit dinverser le rle de e de d (cf. planche suivante)
Tout le monde peut vrifier la signature
Seul, le signataire qui dispose de d a pu crer une signature valide vrifiable par e (fonction sens unique)
Il sagit donc dune signature et le signataire ne peut dnier avoir sign.
Les standards de signature sont donns dans la FIPS 186-2 (DSA,RSA, ECDSA) publi par le NIST
35. Signature RSA Les cls publiques (na, ea) et (nb, eb) doivent tre authentifies.
intrt de f : intgrit de la signature : si on remplace f(x)db par xdb alors un attaquant C recouvre le message x en calculant seb
36. La ralit pratique : la cryptographie clef publique est utilise pour la gestion des cls? 2 familles de cryptosystmes hybrides
Mise en accord sur un secret commun :
Les entits mettrice et destinatrice se mettent publiquement daccord sur un secret commun et lutilise ensuite pour chiffrer les donnes grce une algorithmie symtrique classique (ex. SSL)
Transport de clef :
la crypto clef publique est utilise pour scuriser le transport dune clef symtrique. Lentit mettrice cre un secret (ou lobtient), protge ce secret grce la cryptographie publique puis chiffre les donnes avec ce secret et enfin communique le tout lentit rceptrice. (ex PGP )
En symtrique :
une autorit centrale partage une cl symtrique avec chacun de ses clients, appele Cl de protection des Cls (KEK)
la KEK est distribue par un chemin de confiance
les cls de session (utilises entre les clients) sont distribues la demande en tant chiffres avec la KEK
exemple : serveurs de cls Kerberos
En asymtrique : une autorit de certification (AC) possde une cl prive et distribue la cl publique correspondante ses clients par un chemin de confiance
lAC certifie les cls publiques de ses clients
les clients schangent leurs certificats pour obtenir les cls publiques (pas dintervention de lAC ncessaire)
En symtrique :
une autorit centrale partage une cl symtrique avec chacun de ses clients, appele Cl de protection des Cls (KEK)
la KEK est distribue par un chemin de confiance
les cls de session (utilises entre les clients) sont distribues la demande en tant chiffres avec la KEK
exemple : serveurs de cls Kerberos
En asymtrique : une autorit de certification (AC) possde une cl prive et distribue la cl publique correspondante ses clients par un chemin de confiance
lAC certifie les cls publiques de ses clients
les clients schangent leurs certificats pour obtenir les cls publiques (pas dintervention de lAC ncessaire)
37. Transport scuris de cl symtrique en asymtrique