Cryptographie - 2.

Slides:



Advertisements
Présentations similaires
Université du Sud Toulon-Var
Advertisements

Cryptographie Systèmes symétriques et asymétriques
Architecture de machines Codage des informations
État de l’art de la sécurité informatique
Gestion de portefeuille
Gestion de portefeuille
Systèmes d ’Information :
II. 2 Les protocoles simples Sommaire 1.Authentification 2.Signature électronique 3.Certification.
I. 3 Cryptages composés.
Dossier TICE Excel.
INF 4420: Sécurité Informatique
Introduction aux corps finis
Améliorer les performances du chiffrage à flot SYND
La Cryptographie et le Codage
Cryptographie Mener des Activités en classe
L'algorithme Blowfish.
CryptoGraphy
Fondements de la Cryptographie
Chapitre 6 : La sécurité par le chiffrement
INF4420: Sécurité Informatique
Fonction puissance Montage préparé par : André Ross
Le codage des nombres en informatique
Section 4 : Paiement, sécurité et certifications des sites marchands
? EPFL Playstations 3 Cryptologie Internet Sécurité Algorithme RSA
Les Algorithmes Cryptographiques Symétriques
EXEMPLE DE MESSAGE CRYPTE PUIS DECRYPTE avec la méthode RSA
Cryptographie Réalisé par TOUJENI Noura BEN SOUISSI Rania KARAOUD Imen
ARITHMETIQUE : NOMBRES PREMIERS, PGCD
Chiffrement de Lester Hill
Réalisé par: Jihen THOUIR Imen JENDOUBI Meriam BEN SALHA Marwa LAZHAR
Rappel... Caractérisation des matrices inversibles: Matrices bloc.
Les Nombres Premiers « Un nombre premier est un nombre qui ne se casse pas quand on le laisse tomber par terre. » Paul Erdös (1913 – 1996)
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Intégrité II Les systèmes à clé publique
Étude d ’approfondissement Le Paiement Électronique
Algorithmique (Introduction)
Institut Supérieur des Etudes Technologiques de Djerba Exposé du Traitement de Données Réalisé par: Khalifa Marwa Magroun Amira Jawadi Souad L2MDW.
Programmation dynamique
Programmation linéaire en nombres entiers : les méthodes de troncature
Un peu de maths (et d’info)
Pr BELKHIR Abdelkader Master RSD Sécurité des systèmes informatiques
Le chiffrement asymétrique
Le chiffrement symétrique
Processeurs configurables et cryptographie
Le protocole d’authentification
Les Algorithmes Cryptographiques Asymétriques
Multiprécision.
Programmation linéaire en nombres entiers
REPRESENTATION DE L’INFORMATION
Attaque du protocoles RSA Yoann Moulin ESISAR IR - P2004
STATISTIQUES – PROBABILITÉS
Pr BELKHIR Abdelkader USTHB
Introduction classique Moderne Future … chiffrement par substitution
Cryptographie.
Étude d ’approfondissement Le Paiement Électronique
Mathématiques Discrètes Chapitre 2 (section 3)
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Le cryptosystème RSA à clés publiques
Primalité et génération de nombres premiers
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
Générateurs Pseudo-aléatoires et stream cipher Les LFSRs
Réalisation d’un logiciel de Chiffrement RSA.
Chapitre 4 La représentation des nombres.
Services et Mécanismes de base de la Cryptographie
La sécurité informatique
Nous allons traiter de la signature électronique.
Introduction à la cryptographie cours 2: Chiffrement par flot
Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]
Transcription de la présentation:

Cryptographie - 2

Plan Primalité RSA Cryptographie à courbes elliptiques Les modes d’opération Les tailles de clé

Primalité Rappel : un nombre est dit premier s’il n’est 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 d’Eratosthene (division par les nombres premiers)

Primalité – suite Avec 256 bits : 2256 => 77 chiffres décimaux Plus grand nombre premier (2006): 232 582 657-1 : 9 808 358 chiffres décimaux

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 ap-1 - 1 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  2x-1  3x-1  5x-1  7x-1 (x) alors nous savons que le nombre x est probablement premier

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: EK (M) = Me 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: Dk (M) = Md mod n

RSA - Détermination des clefs – 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. Détermination de e Calculer z = (p-1) (q-1)‏ Choisir un entier e premier avec z. La clé publique est (e, n)‏

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 )‏

RSA : Inversibilité -1 Fonction d'Euler φ(n) = (p-1)(q-1)‏ 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

RSA : Inversibilité - 2 Pourquoi RSA marche Dk(EK (M)) = ((M)e mod n)d mod n = (Me) d mod n = Me.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 Me.d = Mj.z M mod n = M mod n En effet, d’après le théorème d’Euler : Mj.z mod n = (Mz)j mod n = (1)j = 1

Exemple - (B. Schneier)‏ 1) Soit deux entiers premiers p =47,q =71 n = p.q = 3337 2) z= (p-1)(q-1)= 46 . 70 = 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 7978 (mod 3220) = 1019

Exemple - (B. Schneier)- Suite 4) Pour chiffrer M = 6882326879666683 Décomposons M en blocs dont la valeur est inférieure à n= 3337 => Des blocs de 3 chiffres M= 688 232 687 966 668 3 Chiffrer 688: 68879 mod 3337 = 1570 E(M) = 1570 2756 2091 2276 2423 158 Déchiffrer 1570:15701019 mod 3337 = 688

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 - 1985). 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.

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.

Les modes d’opération C’est 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)

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.

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 qu’il soit lui-même chiffré. Utilisation d’un vecteur d’initialisation

CBC

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).

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.

Chiffrement basé sur un compteur (CounTeR, CTR) le flux de clé est obtenu en chiffrant les valeurs successives d’un 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).

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

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