1 / 37

Tutorial cryptologie

. Plan du tutorial. IntroductionLes outils : algorithmes sym

romney
Télécharger la présentation

Tutorial cryptologie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    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 : Confusion Les 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 commerciale Le 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

More Related