La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

LES TECHNIQUES DE CRYPTOGRAPHIE G. Florin S. Natkin Novembre 2008.

Présentations similaires


Présentation au sujet: "LES TECHNIQUES DE CRYPTOGRAPHIE G. Florin S. Natkin Novembre 2008."— Transcription de la présentation:

1 LES TECHNIQUES DE CRYPTOGRAPHIE G. Florin S. Natkin Novembre 2008

2 Cryptographie cours CNAM2 Généralités

3 Cryptographie cours CNAM3 Définition

4 Cryptographie cours CNAM4 Chiffrement

5 Cryptographie cours CNAM5 Déchiffrement

6 Cryptographie cours CNAM6 Crypto-systèmes

7 Cryptographie cours CNAM7 Crypto-systèmes symétriques

8 Mars 2006Cryptographie cours CNAM8 Crypto-systèmes asymétriques (a clefs publiques)

9 Mars 2006Cryptographie cours CNAM9 Asymétrie de l ’usage des clefs

10 Mars 2006Cryptographie cours CNAM10 L ’algorithme d ’Estelle (Cryptanalyste) Etape 1) Recherche des crypto -systèmes possibles Hypothèses Estelle veut décrypter C= E k (M). Estelle ne connaît ni D, ni E ni k, ni K. Elle peut connaître des informations sur sa syntaxe et la sémantique de M. Etape 1) Recherche des crypto systèmes possibles CR={cr=(D,E)}

11 Mars 2006Cryptographie cours CNAM11 L ’algorithme d ’Estelle Etape 2) Réduction de l ’espace des clefs Pour tout cr déterminer le plus petit ensemble CLE_REDUIT  CLE(cr) contenant la clef utilisée. Si card (CLE_REDUIT={(k,K)})=1, M= D K (C). Fin A priori, tous les couples (k,K) sont équiprobable sur CLE(cr) Estelle doit acquérir une connaissance soit déterministe (clefs impossibles) ou probabiliste (clefs improbables)qui facilite ses essais (réduit l ’entropie) Exemples Estelle possède M’ et C’ chiffrée avec le même cryptosystème et les mêmes clefs déduction de propriétés des clefs: attaque à texte en clair. Estelle peut chiffrer des messages M avec E k (sans connaître k) attaque à texte en clair choisi. Estelle connaît des propriétés de l ’algorithme de génération de (k,K).

12 Mars 2006Cryptographie cours CNAM12 L ’algorithme d ’Estelle Etape 3) Analyse syntaxique

13 Mars 2006Cryptographie cours CNAM13 L ’algorithme d ’Estelle Etape 3) Analyse syntaxique 2

14 Mars 2006Cryptographie cours CNAM14 L ’algorithme d ’Estelle Etape 4) Recherche Exhaustive

15 Mars 2006Cryptographie cours CNAM15 L ’algorithme d ’Estelle Etape 5) Analyse sémantique Trouver une règle sémantique SEM (le message porte sur la cocaïne ou les fausses factures) telle que : card ({X MESSAGES_POSSIBLES tel que SEM(X)})=1 Si une telle règle existe M=X, Fin Sinon Estelle a échouée

16 Mars 2006Cryptographie cours CNAM16 Point de vue du cryptographe Etape 1 Opération autrefois difficile, devenue simple: standard de cryptographie, systèmes commercialisés. la sécurité d ’un crypto-système ne repose plus que sur le secret des clefs (sauf dans le domaine militaire).

17 Mars 2006Cryptographie cours CNAM17 Point de vue du cryptographe Etape 2 Choisir un crypto système cr dont l’espace des clefs est très grand. Choix des clefs est le plus imprédictible possible (éviter les mots d’un dictionnaire, nombres pseudo aléatoires à grain de génération difficile à deviner) Limiter l ’usage des clefs Choisir un bon crypto asymétrique tel que le calcul de K à partir de k, ou même de la réduction des K possibles connaissant k est un problème reconnu scientifiquement comme très difficile. Si par un hasard extraordinaire, Estelle arrive à résoudre ce problème, elle devient célèbre, riche et par conséquent heureuse en amour. Elle n’a donc plus aucune raison d’embêter Bob et Alice.

18 Mars 2006Cryptographie cours CNAM18 Point de vue du cryptographe Etape 3

19 Mars 2006Cryptographie cours CNAM19 Masque classique

20 Mars 2006Cryptographie cours CNAM20 Point de vue du cryptographe Etape 4 le masque jetable

21 Mars 2006Cryptographie cours CNAM21 Point de vue du cryptographe Etape 4 le masque jetable 2

22 Mars 2006Cryptographie cours CNAM22 Point de vue du cryptographe Etape 4 le masque jetable 3

23 Mars 2006Cryptographie cours CNAM23 Conclusion Le problème de cryptanalyse est souvent posé en terme de complexité de la recherche exhaustive Pourtant le problème du test d’arrêt est souvent beaucoup plus complexe: la découverte de la syntaxe et à fortiori du sens d’un message par un ordinateur relève de la reconnaissance des formes Une technique de cryptographie élémentaire rend un système d’espionnage systématique (Echelon) inefficace

24 Mars 2006Cryptographie cours CNAM24 Crypto-systèmes symétriques

25 Mars 2006Cryptographie cours CNAM25 Chiffrement par substitution

26 Mars 2006Cryptographie cours CNAM26 Chiffre de Vigenère E CL (x n )=(x n +CL (n mod 4)) mod 26 0123 clef CL21145

27 Mars 2006Cryptographie cours CNAM27 Autres chiffres par substitution

28 Mars 2006Cryptographie cours CNAM28 Les chiffres par transposition

29 Mars 2006Cryptographie cours CNAM29 Transposition matricielle

30 Mars 2006Cryptographie cours CNAM30 Chiffre symétrique moderne Prrincipes de confusion et de diffusion Combinaison complexe d ’opérations de transposition et de substitution portant sur des chaînes de bits longues Opérateurs booléens ou arithmétiques selon l ’implantation visée Suite itérative d ’une fonction dépendant du calcul à l ’étage précédent, d ’une clef dérivée calculée en fonction de l ’itération et de la clef initiale (principe des système cryptographiques produits de Shannon et du chiffrement en chaîne)

31 Mars 2006Cryptographie cours CNAM31 Systèmes cryptographiques produits et chiffrement en chaîne k E k1 (p 1,C 1 ) E k0 (p 0,M) E kn (p n,C n ) M C1C1 E ki (p i,C i ) CiCi CnCn C DiversificationDiversification k0 k1 ki kn

32 Mars 2006Cryptographie cours CNAM32 Réseaux de Feistel Soit F(i,B) une fonction de chiffrement qui utilise les mêmes clefs et paramètres que E mais porte sur des blocs B de longueur égale à la moitié de M. E est donné par :  On permute les deux blocs ce qui donne (R,L),  C=E(M)=(LC, RC) avec LC=R et RC=L  F ki (i,R). E est son propre inverse.  la première permutation donne (RC,LC)=(RC,R),  l'ajout de la fonction donne (RC  F ki (i,R),R)= (L  F ki (i,R)  F ki (i,R),R)=(L,R)

33 Mars 2006Cryptographie cours CNAM33 Modes de chiffrement M=O 0,O 1,..., O n,O n+1,..., O 2n,…. Par blocs (ECB: Electronic CodeBook) C=E (O 0,O 1,..., O n ),E (O n+1,..., O 2n )…. En chaîne (CBC: Cipher Block Chaining) C=E (S 0 =(I 0,I 1,..., I n )  (O 0,O 1,..., O n )), E (S 1 = S 0  (O n+1,..., O 2n )),…. Fournit un meilleur brouillage et un contrôle d ’intégrité

34 Mars 2006Cryptographie cours CNAM34 Cryptanalyse différentielle Nouvelles techniques d ’attaque à texte chiffré choisi: A  K E(A  K) ABAB E(A  B  K) A A  B  K B  K E(B  K) B Analyse pour tout A des sorties  (A)={E(B  K)  E(A  B  K)}

35 Mars 2006Cryptographie cours CNAM35 Le DES: historique

36 Mars 2006Cryptographie cours CNAM36 Le DES: Principes (1)

37 Mars 2006Cryptographie cours CNAM37 Le DES: P-box

38 Mars 2006Cryptographie cours CNAM38 Le DES: S_Box

39 Mars 2006Cryptographie cours CNAM39 Le DES architecture générale (1)

40 Mars 2006Cryptographie cours CNAM40 Le DES architecture générale (2) Réseau de Feistel: Chaque ronde est son propre inverse

41 Mars 2006Cryptographie cours CNAM41 Le DES architecture générale (3)

42 Mars 2006Cryptographie cours CNAM42 DES: Diversification des clefs

43 Mars 2006Cryptographie cours CNAM43 DES: Controverse

44 Mars 2006Cryptographie cours CNAM44 Triple DES

45 Mars 2006Cryptographie cours CNAM45 IDEA: Principes (1)

46 Mars 2006Cryptographie cours CNAM46 IDEA: Schéma

47 Mars 2006Cryptographie cours CNAM47 IDEA:Conclusions

48 AES Advanced Encryption Standard’ ou Rijndael Mars 2006Cryptographie cours CNAM48

49 Historique Besoin d’un chiffre en remplacement du DES. Ouverture d’un concours (septembre 1997) par le NIST (National Institute of Standards and Technology américain): un algorithme public, non-classifié, sans droits d’utilisation. un chiffre symétrique sur des blocs d.au moins 128 bits et une taille de clé de 128, 192 et 256 bits. de sécurité au sens des méthodes de cryptanalyse connues. performant pour toutes les implantations (des petits processeurs carte à puce aux circuits spécialisés). 15 candidats -> pré sélection mars 1999 -> cinq finalistes: MARS ; RC6 ; Rijndael (1996) ; Serpent ; TwoFish Résultats définitifs (2000): le NIST choisit Rijndael : Construit selon les noms Vincent Rijmen & Joan Daemen Mars 2006Cryptographie cours CNAM49

50 Un algorithme de chiffrement par blocs A) Blocs : 128 bits ou 192 bits ou 256 bits. B) Clés de 128 bits ou 192 bits ou 256 bits. C) Chiffre itéré : de 10 à 14 rondes identiques. D) Chaque ronde utilise une clé de ronde : générée à partir de la clé principale. E) AES n’est pas un réseau de Feistel F) Le déchiffrement utilise une méthode différente du chiffrement. Mars 2006Cryptographie cours CNAM50

51 Le corps GF(2 8 ) Un octet (b0,b1,b2,b3,b4,b5,b6,b7) Polynôme de degré ≤ 7 b(x) = b0 + b1 x + b2 x 2 + b3 x 3 + b4 x 4 + b5 x 5 + b6 x 6 + b7 x 7 Addition ⊕ des polynômes Multiplication c(x) = a(x).b(x) mod (m(x)) avec m(x)= 1 + x + x 3 + x 4 + x 8 On montre que GF(2 8 ) est un corps : tout octet à un inverse. Les inverses peuvent être tabulées Mars 2006Cryptographie cours CNAM51

52 l’anneau F2 8 [x] Un mot de 32 bits 4 octets (O0,O1,O2,O3) Polynôme de degré ≤ 3 à coefficient dans GF(2 8 ) A(x) = O0 + O1 x + O2 x 2 + O3 x 3 Addition ⊕ des polynômes Produit de B(x) par un polynôme A(x) C(x) = A(x) B(x) mod (M(x)) Avec M(x)= 1 ⊕ x 4 Mars 2006Cryptographie cours CNAM52

53 L’état et les clefs Soit k la longueur de la clef en bits Un bloc à une itération (l’état) est représenté par une matrice d’octets de 4 lignes et Nb colonnes, Nb= Taille du bloc/32 La clef est représentée de la même façon par une matrice d’octets (4, Nk), Nk= k/32 Mars 2006Cryptographie cours CNAM53

54 Structure de l’algorithme Rijndael(State,CipherKey) { # Génération des clés de ronde KeyExpansion(CipherKey,ExpandedKey) ; # Ou exclusif avec la première clé de ronde AddRoundKey(State,ExpandedKey); # Réalisation de Nr – 1 rondes identiques For( i=1 ; i<Nr ; i++ ) Round(State,ExpandedKey + Nb*i) ; # Ronde finale un peu différente FinalRound(State,ExpandedKey + Nb*Nr) ; } Mars 2006Cryptographie cours CNAM54

55 Structure des rondes Ronde standard : Quatre transformations successives Round(State,RoundKey) { ByteSub(State); # Substitution octet par octet ShiftRow(State); # Transposition des lignes MixColumn(State); # Mélange sur les colonnes AddRoundKey(State,RoundKey);} # Ou exclusif avec la clé 2) Ronde finale : Supprime mixcolumn pour le déchiffrage FinalRound(State,RoundKey) { ByteSub(State) ; # Substitution ShiftRow(State) ; # Transposition AddRoundKey(State,RoundKey);} # Ou exclusif Mars 2006Cryptographie cours CNAM55

56 Substitution des octets ‘ByteSub’ A) On prend l’inverse multiplicatif de X dans GF(28) Z=1/X B) On applique à l’octet résultat la substitution monoalphabétique affine Y = K1.Z ⊕ K2 (matrice K1 et vecteur K2) Objectif : définir une transformation non linéaire facile à tabuler Y = K1. 1/X ⊕ K2 Mars 2006Cryptographie cours CNAM56

57 Transposition des lignes ‘ShiftRow’ Chaque ligne de l’état est décalée circulairement (décalage par octets). Tableau des décalages pour chaque ligne selon la taille de l’état en nombre de colonnes (pas de décalage pour la première ligne, un pour la seconde.). Objectif : Définir une transposition qui garantit la diffusion dans les lignes (sur plusieurs rondes) Mars 2006Cryptographie cours CNAM57

58 ‘ShiftRow’ exemple Exemple de décalage pour le tableau 4,6 (192 bits) Mars 2006Cryptographie cours CNAM58

59 Opération MixColumn Chaque colonne considérée comme un polynôme sur F28 [x] est multipliée par le polynôme c(x) fixe (modulo x4 ⊕ 1): c(x) = ’03’ x3 ⊕ ’01’ x2 ⊕ ’01’ x ⊕ ’02’ En pratique : multiplication par la matrice circulante Déchiffrement: multiplication par l’inverse du polynôme c(x):c-1(x) =.0B. x3 ⊕.0D. x2 ⊕.09. x ⊕.0E. Objectif : Définir une transformation qui garantit une bonne diffusion entre colonnes (sur plusieurs rondes). Mars 2006Cryptographie cours CNAM59

60 Opération Add Round Key Ou exclusif entre la valeur de l’état et la valeur de la clé de ronde (comme en DES). Déchiffrement: réalisation du ou exclusif inverse Objectif : Faire que chaque ronde dépende de la clé secrète Mars 2006Cryptographie cours CNAM60

61 Calcul des clefs de ronde Clé maîtresse : tableau d.octets key (4 *Nk ). Tableau des clés de ronde: tableau de mots de 32 bits W[Nb*(Nr+1). On génère Nr+1 (nombre de rondes plus une clé) qui font Nb mots de 32 bits. Temp : variable auxiliaire 32 bits. SubByte : substitution par octets, RotByte : décalage par octet (un octet), Rcon une constante. Au fur et à mesure on prend les clefs nécessaire à la ronde Mars 2006Cryptographie cours CNAM61

62 Calcul des clefs de ronde (2) Code pour l’expansion de la clé maîtresse si Nk ≤ 6 KeyExpansion(byte Key[4*Nk], word W[Nb*(Nr+1)]) { for(i = 0; i < Nk; i++) W[i] = (Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]); for(i = Nk; i < Nb * (Nr + 1); i++) { temp = W[i - 1]; if (i mod Nk == 0) temp = ByteSub(RotOneByteLeft(temp)) ⊕ Rcon[i,Nk]; W[i] = W[i - Nk] ⊕ temp; } } Mars 2006Cryptographie cours CNAM62

63 Nombre de rondes Mars 2006Cryptographie cours CNAM63

64 Conclusion sur AES 1) Sécurité : actuellement pas de méthode de cryptanalyse pour AES connue. 2) Performances : structure symétrique et parallèle du chiffre. Bien adapté aux processeurs actuels (Pentium, processeurs RISC). Adapté aux processeurs des cartes à puces. Adapté à la réalisation en circuit intégré. Utilisable dans de nombreux protocoles de sécurité : WIFI, IPSEC Mars 2006Cryptographie cours CNAM64

65 Mars 2006Cryptographie cours CNAM65 Les chiffres asymétriques

66 Mars 2006Cryptographie cours CNAM66 RSA: Chiffrement et déchiffrement

67 Mars 2006Cryptographie cours CNAM67 RSA :Détermination des clefs

68 Mars 2006Cryptographie cours CNAM68 RSA: Inversibilité

69 Mars 2006Cryptographie cours CNAM69 Exemple (B. Schneier)

70 Mars 2006Cryptographie cours CNAM70 RSA: Calcul des nombres premiers: Algorithmes probabilistes de Miller Rabin Tirer aléatoirement un nombre p impair; Soit m impair tel que p=2 k m+1, Soit a un nombre aléatoire tel que 1  a  p-1; b:=a m mod m; Si b  1 mod p alors test:=faux fsi Sinon i:=1;test:=vrai; tant que i  k-1 et test:=faux Si b  -1 mod p alors test:=faux fsi Sinon b:=b 2 mod p fsi ftq si test=vrai réponds p est premier sinon réponds p est décomposable fsi Prob (p décomposable et réponds premier)  1/4

71 Mars 2006Cryptographie cours CNAM71 RSA calcul des puissances modulo n Calcul de z= M e mod n On note e(i) le ième bit dans la décomposition binaire de e z:=1; Pour i=t-1 à 0 faire z:=z 2 mod n; si e(i)=1 alors z:=z.M mod n fsi fpour

72 Mars 2006Cryptographie cours CNAM72 Exemple calcul de 1570 1019 mod 3220 La représentation binaire de 1019 est 1111111011 d'ou t=10

73 Mars 2006Cryptographie cours CNAM73 RSA: performances L ’algorithme précédent est en O(3t) multiplications. Multiplications sur 512 Bits= 64 multiplication en moyenne sur 32 bits. 192 multiplication pour l ’élévation à la puissance. Utiliser des longueurs de clés de plus en plus importantes Valeurs utilisées 512 bits, 640 bits, 1024 bits (considéré comme assez sûr pour plusieurs années) 2048 bits Utiliser des circuits intégrés de cryptage de plus en plus performants Actuellement une dizaine de circuits disponibles. Vitesse de cryptage de base pour 512 bits: de 10 à 100 Kb/s Évolution en cours de l'ordre de 1 Mb/s Remarque: Compte tenu de la complexité des traitements le DES est environ toujours 100 fois à 1000 fois plus rapide que le RSA.

74 Mars 2006Cryptographie cours CNAM74 RSA: faiblesses d ’implantation  Ne jamais utiliser une valeur de n trop petite,  Ne pas utiliser une clef secrète trop courte  N'utiliser que des clefs fortes, c'est à dire telles que p-1 et q-1 ont un grand facteur premier  Ne pas chiffrer des blocs trop courts (les compléter toujours a n-1 bits), de façon à détruire toute structure syntaxique  Ne pas utiliser un n commun à plusieurs clefs, si ces clefs peuvent être utilisées pour chiffrer un même message.  Si une clef secrète (d,n) est compromise, ne plus utiliser les autres clefs utilisant n comme modulo  Ne jamais chiffrer ou authentifier un message provenant d'un tiers sans le modifier (ajouter quelques octets aléatoires par exemple) La nécessité des clefs fortes est un point discuté.

75 Mars 2006Cryptographie cours CNAM75 RSA: Cryptanalyse On montre que le calcul d ’une des clefs à partir de l ’autre est équivalent au problème de la factorisation de n On n ’a pas encore montré que la cryptanalyse du RSA est équivalente au problème de la factorisation Complexité temporelle du meilleur algorithme séquentiel de factorisation (crypte algébrique) Actuellement un calcul en parallèle utilisant quelques milliers d'ordinateurs pendant quelques mois permet de factoriser des nombres d'une centaine de chiffres (400 bits) Utiliser des n=1024 ou 2048 bits selon protection cherchée est de moins ou plus de cinq ans. Prévoir un moyen pour augmenter cette valeur par sur chiffrement ou déchiffrement suivi d'un rechiffrement.

76 Mars 2006Cryptographie cours CNAM76 RSA cartes bancaires Limitation des calculs du fait de la puissance de calcul disponible. n sur 320 bits (de l'ordre de 95 chiffres) clé publique 3 pour tout le monde

77 Mars 2006Cryptographie cours CNAM77 RSA: Conclusions Solution assez générale. Utiliser le RSA brièvement au début d'un échange pour échanger des clés symétriques de session d'un algorithme efficace Efficacité en sécurité La méthode est officiellement sûre si l'on respecte certaines contraintes de longueur de clés et d'usage. Personne depuis 2500 ans n'a trouvé de solution rapide au problème de la factorisation...

78 Mars 2006Cryptographie cours CNAM78 Bases théoriques de la cryptographie asymétriques La cryptographie asymétrique n ’est jamais inconditionellement sûre (chiffre parfait): Estelle peut toujours faire une attaque exhaustive en utilisant la clef publique. Théorie de la complexité calulatoire de la cryptanalyse

79 Mars 2006Cryptographie cours CNAM79 Complexité algorithmique

80 Mars 2006Cryptographie cours CNAM80 Fonctions à sens unique C'est une fonction f(M) facile à calculer mais telle qu'il est extrêmement difficile de déduire M de f(M). Exemple: Calcul modulo n (dans un anneau fini) M 2 est facile à calculer modulo n (M e ). est difficile à calculer (log M).

81 Mars 2006Cryptographie cours CNAM81 Fonction à sens unique avec brèche secrète C'est une fonction f(M) facile à calculer telle qu'il est extrêmement difficile de déduire M sauf si l'on connaît un secret K. Deux exemples utilisés en pratique: Problème de la factorisation (RSA), n=pxq, p et q sont premier, e est défini comme dans le RSA et public f(M)= M e mod n, brèche connaissance de p ou q Problème du logarithme discret (El Gammal) p est premier, a est un élément primitif de Z p, b= a x mod p, k est quelconque, p, a, b sont publics, a k mod p est connu f(M)= M. b k mod p, brèche connaissance de x En effet 1/b k = 1/(a k ) x

82 Mars 2006Cryptographie cours CNAM82 Fonctions basées sur la théorie de la complexité Algorithme basé sur le sac à dos Cassé car la brèche montrait que le problème de l ’inversion de f était un cas polynomial d ’un problème NP complet. Echec sauf sur les algorithmes probabilistes (A apport nul de connaissances)

83 Mars 2006Cryptographie cours CNAM83 Fonction de hachage Une fonction de hachage h est une fonction qui à un message M de longueur quelconque fait correspondre un message H(M) (notée aussi {M} H ) de longueur constante. L’intérêt d’une fonction de hachage est que M peut être arbitrairement grand alors que {M} H a une longueur donnée. Terminologie: Résumé, fonction de contraction, digest, empreinte digitale, … Exemple: Hasch codes des systèmes de fichiers, codes détecteurs d ’erreurs

84 Mars 2006Cryptographie cours CNAM84 Fonction de hachage sécuritaire f(M) telle que f est une fonction de hachage par rapport à M f est à collision faible difficile: il est calculatoirement difficile de trouver M significatif tel que f(M)=K f est à collision forte difficile:il est calculatoirement difficile de trouver M et M’ tel que f(M)=f(M ’) Elle est avec clef si son calcul dépend d ’une information secrète la clef K

85 Mars 2006Cryptographie cours CNAM85 MD5: Principes (1) Une fonction de hachage à sens unique.qui génère une signature sur 128 bits. Le message est décomposé en blocs de 512 bits soient 16 sous-blocs Mj de 32 bits. Pour chaque bloc de 512 bits on réalise 4 séries de 16 applications successives des fonctions de base FF, GG, HH, II qui dépendent des sous-blocs Mj et de constantes a, b, c, d, Dans les formules précédentes  s désigne un décalage à gauche de s positions

86 Mars 2006Cryptographie cours CNAM86 MD5 Principes (2) Les fonctions F,G,H,I sont données par:

87 Mars 2006Cryptographie cours CNAM87 Usage de la cryptographie asymétrique: confidentialité Début De Bob à Alice, Ceci est un message secret, crypto-système symétrique: sym, clef de session:CS, Message:MCHIF, Fin Algorithme d’Alice Algorithme de Bob Récupérer la clef publique d’Alice a

88 Mars 2006Cryptographie cours CNAM88 Usage de la cryptographie asymétrique: authentification et signature Début De Bob à Alice, Ceci est un message signé, Message:M, Signature Sig Fin Algorithme d’Alice Récupérer la clef publique de Bob b Algorithme de Bob Si H=H’ signature OK Sinon erreur

89 Mars 2006Cryptographie cours CNAM89 Signature Une signature manuscrite idéale est réputée posséder les propriétés suivantes: - La signature ne peut-être imitée. Elle prouve que le signataire a délibérément signé le document. - La signature authentifie le signataire. Seul le signataire peut avoir signé. - La signature appartient à un seul document (elle n'est pas réutilisable). - Le document signé ne peut être partiellement ou totalement modifié -La signature peut être contrôlée. - La signature ne peut-être reniée.

90 Mars 2006Cryptographie cours CNAM90 Signature Numérique Base de la signature numérique:une fonctions de hachage H sécuritaire et d ’une fonction à sens unique f avec brèche. La signature est composée de f -1 ( {M} H ) Seul le signataire sait calculer f -1 Tout le monde peut calculer H et f et donc pour M donné vérifier la signature Si H est a collision faible, on ne pourra pas coller une signature sur un document à créer Si h est à collision forte difficile Estelle ne pourra pas fabriquer 2 documents, un que Bob peut signer,l ’autre pas, ayant le même hache donc la même signature

91 Mars 2006Cryptographie cours CNAM91 Signature El Gamal Clef publique d ’Alice: p premier, g<p, y=g x mod p Clef privée d ’Alice x<p Signature de M par Alice choisir k tel que k et p-1 soient premiers entre eux calculez a=g k mod p et b tel que M=(xa+kb) mod p-1 a,b sont la signature de M par Alice Vérification par Bob y a a b mod p=g M mod p

92 Mars 2006Cryptographie cours CNAM92 Exemple (Schneier) Clef publique, p=11, g=2 Clef privée x=8<11 Publique y=2 8 mod 11=3 Signature de M=5 Choix de k=9 aléatoire et premier avec 10=11-1 a=2 9 mod 11=6 Recherche de b tel que M=5=(8 x 6+9 x b) mod 10 soit b=3 (48+27=75  5 mod 10) contrôle 3 6 6 3 mod 11=2 5 mod 11=10

93 Mars 2006Cryptographie cours CNAM93 Validité de la signature Pour signer à la place d ’Alice il faut trouver x tel que y=g x mod p donc résoudre le problème du logarithme discret Pour signer M ’ de tel façon que signature(M)=signature (M ’) On doit avoir: y a a b mod p=g M ’ mod p donc résoudre le problème du logarithme discret

94 Mars 2006Cryptographie cours CNAM94 Validité du contrôle y a mod p=(g x ) a mod p = g xa mod p a b mod p= g kb mod p y a.a b mod p=g (xa+kb) mod p Or g M mod p =g (s(p-1)+xa+kb) mod p =g (s(p-1)+xa+kb) mod p =g (s(p-1)) mod p. g (xa+kb) mod p = g (xa+kb) mod p (théorème d ’Euler)

95 Mars 2006Cryptographie cours CNAM95 Génération de nombres pseudo aléatoires sécuritaires Problème important: Pour créer des nonces Pour générer des clefs Propriété attendue Quelque soit l ’observation du pirate il ne peut acquérir de l ’information sur le nombre qui va être généré

96 Mars 2006Cryptographie cours CNAM96 Formalisation Suite Pseudo aléatoire: Il s ’agit d ’une suite de nombres X 0,X 1,... X 0, S 0 grain 0<X i <N X n =f(X n-1,S n-1 ) S n =g(X n-1, S n-1 ) Tout test statistique fait accepter l ’hypothèse « X est une suite de nombres uniformément répartis dans 0,N » ou « Prob(X n /X 0, X 1, …X n-1 )=Prob(X n ) =1/N »

97 Mars 2006Cryptographie cours CNAM97 Suite Pseudo aléatoire sécuritaire Propriété pas suffisante pour la sécurité: Les X sont transmis, éventuellement en clair, les S restent cachés il faut qu ’un pirate qui a observé X 0,….,X n-1 ne puisse en déduire X n Deux solutions: 1) La suite est aléatoire (bruit thermique d ’une résistance) 2) Le grain est le plus aléatoire possible (fonction de la vitesse de frappe au clavier, d ’un nombre d ’interruption…) et la fonction de s donnée par a=f(b,s) doit être à sens unique

98 Mars 2006Cryptographie cours CNAM98 Exemple ANSI X9.17 Choisir une clef K pour le DES et X 0 imprévisibles et secrets, T n est la date courante S n =E k (E k (T n )+X n-1 ) X n =E k (E k (T n )+S n )

99 Mars 2006Cryptographie cours CNAM99 Bibliographie Jacque Stern- La science du secret Ed Odile Jacob 1998 Donald Stinson - Cryptographie, Théorie et pratique, Thomson Publishing International France Bruce Schneier, Cryptographie appliquée, Thomson Publishing, Paris 1995 - Bruno Martin, Codage, cryptologie et applications, Presses polytechniques et universitaires romandes 2004 - Stéphane Natkin, Les protocoles de sécurité de l’Internet, Dunod, 2002 - Niels Ferguson, Bruce Schneier, Cryptographie en pratique, Wiley 2003, Vuibert 2004, Paris 1995 - A Menezes, P Van Oorschot, S Vanstone, Handbook of applied cryptography, CRC Press Inc, 1997 - Très nombreux cours disponibles en ligne et pagesspécialisées sur des concepts, normes ou produitsExemple Cours "Cryptographie et Sécurité’’ http://cui.unige.ch/tcs/cours/crypto/ José Rolim, Frédéric Schutz


Télécharger ppt "LES TECHNIQUES DE CRYPTOGRAPHIE G. Florin S. Natkin Novembre 2008."

Présentations similaires


Annonces Google