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

Cryptographie - 2. Plan Primalité RSA Cryptographie à courbes elliptiques Les modes dopération Les tailles de clé.

Présentations similaires


Présentation au sujet: "Cryptographie - 2. Plan Primalité RSA Cryptographie à courbes elliptiques Les modes dopération Les tailles de clé."— Transcription de la présentation:

1 Cryptographie - 2

2 Plan Primalité RSA Cryptographie à courbes elliptiques Les modes dopération Les tailles de clé

3 Primalité Rappel : un nombre est dit premier sil nest divisible que par lui-même ou par 1 De nombreux problèmes en cryptographie utilisent les nombres premiers et la factorisation des nombres en facteurs premiers (RSA, …) Il est donc important de pouvoir déterminer si un nombre est premier Méthode classique : crible dEratosthene (division par les nombres premiers)

4 Primalité – suite Avec 256 bits : => 77 chiffres décimaux Avec 512 bits : => 155 chiffres décimaux Avec 2048 bits : => 617 chiffres décimaux Plus grand nombre premier (2006): : chiffres décimaux

5 Test de primalité de Fermat Le petit théorème de Fermat affirme que si p est un nombre premier et et si a est premier avec p, alors a p est divisible par p. corollaire :pour tout a entier et p premier, alors a p - a est un multiple de p. Ceci peut être aussi écrit a p-1 1 (p) Le programme de chiffrage PGP utilise cette propriété pour examiner si les grands nombres aléatoires qu'il choisit sont premiers. Il examine les valeurs que nous appellerons x en utilisant quatre valeurs de a (appelées témoins) en employant la formule ci-dessus. Ces quatre valeurs sont 2, 3, 5 et 7, les quatre premiers nombres premiers. Si 1 2 x-1 3 x-1 5 x-1 7 x-1 (x) alors nous savons que le nombre x est probablement premier

6 RSA: Chiffrement et déchiffrement Chiffrement (publique) La clé publique est un couple d'entiers: K = (e, n) Le chiffrement se fait au moyen de l'élévation à la puissance e modulo n: E K (M) = M e mod n, Déchiffrement (secrète) La clé secrète est un couple d'entiers: k = (d, n) Le déchiffrement se fait au moyen de l'élévation à la puissance d modulo n: D k (M) = M d mod n

7 RSA - Détermination des clefs – 1 1.Détermination de n Trouver deux entiers premiers p et q très grands: Calculer n = p q p et q doivent rester secrets : La sécurité du système repose sur la difficulté de factoriser un grand entier n en deux entiers premiers p et q. n doit avoir un longueur supérieure à 512 bits. p et q doivent vérifier diverses autres conditions. 2.Détermination de e Calculer z = (p-1) (q-1) Choisir un entier e premier avec z. La clé publique est (e, n)

8 RSA - Détermination des clefs – 2 3. Détermination de d Choisir un entier d tel que : e d =1 mod z (d inverse de e dans l'arithmétique mod z) La clé privée est ( d, n )

9 RSA : Inversibilité -1 Fonction d'Euler Pour n entier, z = φ(n) est le nombre d'entiers premiers avec n. si n est premier, φ(n) = n-1 si n = p.q avec p et q premiers, φ(n) = (p-1)(q-1) Théorème d'Euler Si a et n sont premiers entre eux, a φ(n) mod n = 1

10 RSA : Inversibilité - 2 Pourquoi RSA marche D k (E K (M)) = ((M) e mod n) d mod n = (M e ) d mod n = M e.d mod n Mais on a choisi e.d = 1 mod z Donc, il existe un entier j tel que e.d = j z + 1 M e.d = M j.z M mod n = M mod n En effet, daprès le théorème dEuler : M j.z mod n = (M z ) j mod n = (1) j = 1

11 Exemple - (B. Schneier) 1) Soit deux entiers premiers p =47,q =71 n = p.q = ) z= (p-1)(q-1)= = 3220 Choisissons e = 79 (premier avec n) 3) Calcul de l'inverse de e modulo z Une solution possible : le théorème d'Euler e φ(n) = e e φ(n)-1 mod z = 1 mod z Donc d = e -1 = e φ(n)-1 mod z Numériquement (mod 3220) = 1019

12 Exemple - (B. Schneier)- Suite 4) Pour chiffrer M = Décomposons M en blocs dont la valeur est inférieure à n= 3337 => Des blocs de 3 chiffres M= Chiffrer 688: mod 3337 = 1570 E(M) = Déchiffrer 1570: mod 3337 = 688

13 Cryptographie à courbes elliptiques ECC (Elliptic Curve Cryptography) Les courbes elliptiques, peuvent être utilisées pour des opérations asymétriques comme des échanges de clés sur un canal non-sécurisé ou un chiffrement asymétrique, => cryptographie sur les courbes elliptiques. (N. Koblitz et V. Miller ). permet d'utiliser des clés plus courtes qu'avec les systèmes fondés sur le problème de la factorisation comme RSA. De plus l'ECC procure un niveau de sécurité équivalent ou supérieur aux autres méthodes.

14 Cryptographie à courbes elliptiques - 2 La résistance d'un système fondé sur les courbes elliptiques repose sur le problème du logarithme discret dans le groupe correspondant à la courbe elliptique. théorie complexe et relativement récente. de nombreux brevets sont déposés : incertitudes sur le développement. une clé (=taille du corps de base) de 200 bits pour les courbes elliptiques est plus sûre qu'une clé de 1024 bits pour le RSA. les calculs sur les courbes elliptiques ne sont peu compliqués à réaliser, => avantage pour les cartes à puces (puissance limitée) et où la taille de la clé influe beaucoup sur les performances.

15 Les modes dopération Cest le mode opératoire du traitement des blocs clairs et chiffrés en cryptographie symétrique par blocs. Il en existe plusieurs : Dictionnaire de codes (Electronic Code Book, ECB) Enchaînement des blocs (Cipher Block Chaining, CBC) Chiffrement à rétroaction (Cipher Feedback, CFB) Chiffrement à rétroaction de sortie (Output Feedback, OFB) Chiffrement basé sur un compteur (CounTeR, CTR) Chiffrement avec vol de texte (CipherText Stealing, CTS)

16 Dictionnaire de codes (Electronic Code Book, ECB) Le mode le plus simple. Le message à chiffrer est subdivisé en plusieurs blocs qui sont chiffrés séparément les uns après les autres. 2 blocs avec le même contenu seront chiffrés de la même manière, on peut donc tirer des informations à partir du texte chiffré en cherchant les séquences identiques. On obtient dès lors un « dictionnaire de codes » avec les correspondances entre le clair et le chiffré d'où le terme codebook. fortement déconseillé dans toute application cryptographique.

17 Enchaînement des blocs (Cipher Block Chaining, CBC) on applique sur chaque bloc un OU exclusif avec le chiffrage du bloc précédent avant quil soit lui-même chiffré. Utilisation dun vecteur dinitialisation

18 CBC

19 Chiffrement à rétroaction (Cipher Feedback, CFB) le flux de clé est obtenu en chiffrant le précédent bloc chiffré. CFB est un chiffrement par flot. il ne nécessite que la fonction de chiffrement, ce qui le rend moins cher à câbler ou programmer pour les algorithmes ayant une fonction de chiffrement différente de la fonction de déchiffrement (exemple: AES).

20 Chiffrement à rétroaction de sortie (Output Feedback, OFB) Dans ce mode, le flux de clé est obtenu en chiffrant le précédent flux de clé. mêmes avantages que CFB. possible de le précalculer en chiffrant successivement la clé. Il n'est donc sûr que si la fonction de chiffrement alliée à la clé forment une bonne suite aléatoire.

21 Chiffrement basé sur un compteur (CounTeR, CTR) le flux de clé est obtenu en chiffrant les valeurs successives dun compteur. Présente des avantages, car il permet le chiffrement par flot, est précalculable, permet un accès aléatoire aux données, est parallélisable et n'utilise que la fonction de chiffrement. Le compteur utilisé peut être une suite pseudo-aléatoire qu'il sera facile de retrouver à partir de la graine (vecteur d'initialisation).

22 Chiffrement avec vol de texte (CipherText Stealing, CTS) Dans le chiffrement par blocs (ECB, CBC, etc.), les deux derniers blocs sont partiellement combinés de façon à obtenir un message de même taille. Ici, exemple de CTS opérant sur un chiffrage en mode CBC Notons que les deux derniers blocs sont échangés et combinés en partie, ce qui nécessitera de les obtenir tous les deux pour en décrypter un. CTS n'est pas un mode de chiffrage par flot, mais permet d'éviter l'utilisation de bourrage dans les chiffrements par blocs, et donne une taille de message crypté égale à la taille du message clair. Il est très utilisé dans les protocoles ou formats ne supportant pas une taille quelconque

23 Taille clés Cryptographie symétrique : au moins 128 bits. Fonction hash : au moins 160 bits. Cryptographie asymétrique : Type RSA : au moins 768 bits. Courbes elliptiques : 180 bits.


Télécharger ppt "Cryptographie - 2. Plan Primalité RSA Cryptographie à courbes elliptiques Les modes dopération Les tailles de clé."

Présentations similaires


Annonces Google