Sécurité et systèmes embarqués

Documents pareils
Cryptographie et fonctions à sens unique

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Quelques tests de primalité

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Panorama de la cryptographie des courbes elliptiques

Factorisation d entiers (première partie)

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

La cryptographie du futur

Calculateur quantique: factorisation des entiers

Fonction de hachage et signatures électroniques

INF 4420: Sécurité Informatique Cryptographie II

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Tests de primalité et cryptographie

Sécurité de l'information

Chapitre VI - Méthodes de factorisation

Cours 14. Crypto. 2004, Marc-André Léger

Travail d intérêt personnel encadré : La cryptographie

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Introduction à l étude des Corps Finis

Résolution d équations non linéaires

ÉPREUVE COMMUNE DE TIPE Partie D

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Gestion des Clés Publiques (PKI)

Cryptologie à clé publique

Architectures PKI. Sébastien VARRETTE

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Des codes secrets dans la carte bleue. François Dubois 1

1 Définition et premières propriétés des congruences

D31: Protocoles Cryptographiques

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

Cryptographie à clé publique : Constructions et preuves de sécurité

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

Royal Military Academy Brussels, BELGIUM Secure Information Storage in the Cloud

Triangle de Pascal dans Z/pZ avec p premier

De la sécurité physique des crypto-systèmes embarqués

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

LES SECURITES DE LA CARTE BANCAIRE

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

FONDEMENTS DES MATHÉMATIQUES

Cryptographie appliquée

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

- un jeu de K cartes représentées par des nombres C 1, C 2 à C K avec K entier strictement

Travaux dirigés d introduction aux Probabilités

Probabilités sur un univers fini

Correction du baccalauréat ES/L Métropole 20 juin 2014

Limites finies en un point

La sécurité dans les grilles

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

La cryptographie dans le système bancaire

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Signatures électroniques dans les applications INTERNET

108y= 1 où x et y sont des entiers

Gestion des certificats digitaux et méthodes alternatives de chiffrement

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

De la sphère de Poincaré aux bits quantiques :! le contrôle de la polarisation de la lumière!

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Les indices à surplus constant

Le protocole sécurisé SSL

Principes de cryptographie pour les RSSI

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Cours d arithmétique Première partie

réseau Tableaux de bord de la sécurité 2 e édition Cédric Llorens Laurent Levier Denis Valois Avec la contribution de Olivier Salvatori

Le partage de clés cryptographiques : Théorie et Pratique

Accélérateurs logiciels et matériels pour l algèbre linéaire creuse sur les corps finis

Amphi 3: Espaces complets - Applications linéaires continues

Authentification de messages et mots de passe

Géométrie des nombres et cryptanalyse de NTRU

Simulation de variables aléatoires

Cryptographie Quantique

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

TECHNIQUES DE CRYPTOGRAPHIE

Logique. Plan du chapitre

Corrigé des TD 1 à 5

Signature électronique. Romain Kolb 31/10/2008

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Loi binomiale Lois normales

L ordinateur quantique

Cryptographie Homomorphe

TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION

Programmation linéaire

Les fonctions de hachage, un domaine à la mode

MEMOIRE DE MAGISTER EN ELECTRONIQUE. OPTION : Télédétection. Application des techniques de cryptage pour la transmission sécurisée d images MSG

1 Recherche en table par balayage

Développement décimal d un réel

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Probabilités sur un univers fini

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Continuité en un point

Transcription:

Sécurité et systèmes embarqués Pablo Rauzy pablo rauzy @ univ-paris8 fr pablo.rauzy.name/teaching/sese UFR MITSIC / M1 informatique Séance 2 La cryptographie asymétrique Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 1 / 36

La cryptographie asymétrique Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 2 / 36

Introduction La cryptographie asymétrique (aussi appelée à clef publique et privée) est une technique de chiffrement relativement récente. L idée est de pouvoir communiquer de manière sûre sans dépendre de la communication d une clef secrète. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 3 / 36

Introduction La paire de clef Le principe est d avoir deux clefs, de telle sorte que un message chiffré avec la première clef ne peut être déchiffré qu avec la seconde, un message chiffré avec la seconde clef ne peut être déchiffré qu avec la première. Par convention, l une de ces clefs est appelée la clef privée et l autre la clef publique. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 4 / 36

Introduction Double fonctionnalité Un tel système permet de faire deux choses majeures. 1. Assurer la confidentialité du message : 2. Assurer l authenticité de l émetteur : Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 5 / 36

Introduction Double fonctionnalité Un tel système permet de faire deux choses majeures. 1. Assurer la confidentialité du message : L émetteur chiffre un message avec la clef publique du destinataire. Seul le destinataire peut le déchiffrer avec sa clef privée. 2. Assurer l authenticité de l émetteur : L émetteur chiffre un message avec sa clef privée. Le destinataire peut déchiffrer ce message avec la clef publique de l émetteur. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 5 / 36

Historique Le concept de cryptographie asymétrique a été présenté publiquement pour la première fois par Whitfield Diffie et Martin Hellman à la National Computer Conference en 1976. En 1974, Ralph Merkle a travaillé sur des puzzles qui constituent la première construction à clef asymétrique, mais ses travaux ne sont publié qu en 1978. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 6 / 36

Historique Mise en œuvre En fait, dans l article de 1976, Diffie et Hellman n ont pas donné d exemple de cryptosystème asymétrique (ils n en avaient pas trouvé). C est en 1978, que Ronald Rivest, Adi Shamir, et Leonard Adleman présentent RSA. Le système Merkle-Hellman est généralement considéré comme la première réalisation pratique d un système de chiffrement à clef publique, mais il a été cassé par Shamir en 1982. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 7 / 36

Historique GCHQ En parallèle des recherches publiques, la GCHQ auraient mené des recherches secrètes ayant abouties dès le début des années 1970 aux concepts et outils de la cryptographie asymétrique. En 1970, James Ellis invente le concept. En 1973, Clifford Cocks invente l algorithme de RSA. En 1974, Malcolm Williamson invente un protocole d échange de clef très proche de celui de Diffie et Hellman. Ces découvertes n ont été rendues publiques par le GCHQ qu en 1997. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 8 / 36

Fonctionnement général Le but est de pouvoir communiquer de manière sécurisée sur un canal non sécurisé. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 9 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. 2. L émetteur chiffre tous ces messages avec des petites clefs de telle sorte qu il soit possible de les déchiffrer en attaquant par force brute. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. 2. L émetteur chiffre tous ces messages avec des petites clefs de telle sorte qu il soit possible de les déchiffrer en attaquant par force brute. 3. L émetteur envoie tous les chiffrés au destinataire. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. 2. L émetteur chiffre tous ces messages avec des petites clefs de telle sorte qu il soit possible de les déchiffrer en attaquant par force brute. 3. L émetteur envoie tous les chiffrés au destinataire. 4. Le destinataire en choisi un au hasard, et le casse par force brute. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. 2. L émetteur chiffre tous ces messages avec des petites clefs de telle sorte qu il soit possible de les déchiffrer en attaquant par force brute. 3. L émetteur envoie tous les chiffrés au destinataire. 4. Le destinataire en choisi un au hasard, et le casse par force brute. 5. Le destinataire envoie l identifiant id qu il a trouvé à l émetteur, et garde la clef key. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. 2. L émetteur chiffre tous ces messages avec des petites clefs de telle sorte qu il soit possible de les déchiffrer en attaquant par force brute. 3. L émetteur envoie tous les chiffrés au destinataire. 4. Le destinataire en choisi un au hasard, et le casse par force brute. 5. Le destinataire envoie l identifiant id qu il a trouvé à l émetteur, et garde la clef key. 6. L émetteur retrouve la clef key qui va avec l identifiant id qu il reçoit. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Les puzzles de Merkle La première idée de mise en œuvre d un tel système sont les puzzles de Merkle. Le principe est le suivant : 1. L émetteur crée plein de messages de la forme (id, key) avec id un identifiant unique et key une clef aléatoire pour un cryptosystème symétrique. 2. L émetteur chiffre tous ces messages avec des petites clefs de telle sorte qu il soit possible de les déchiffrer en attaquant par force brute. 3. L émetteur envoie tous les chiffrés au destinataire. 4. Le destinataire en choisi un au hasard, et le casse par force brute. 5. Le destinataire envoie l identifiant id qu il a trouvé à l émetteur, et garde la clef key. 6. L émetteur retrouve la clef key qui va avec l identifiant id qu il reçoit. 7. Les deux peuvent maintenant communiquer en chiffrant leur message de manière symétrique. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 10 / 36

Fonctionnement général Formalisation On veut un système dans lequel on a une fonction F telle que : on soit capable de générer des paires (pk, sk) avec c = F(pk, m) soit facile à calculer, m = F(sk, c) soit facile à calculer, mais qu il soit très difficile de retrouver m si on a pas sk, Cela implique qu il soit très difficile de retrouver sk à partir de pk. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 11 / 36

Fonctionnement général Fonction à brèche secrète Une fonction à sens unique est une fonction qu il est facile de calculer, mais qu il est très difficile d inverser. Une fonction à brèche secrète est une fonction à sens unique pour laquelle il existe un secret qui permet de facilité l inversion de la fonction. En fait, la fonction F dont on souhaite disposer est une fonction à brèche secrète. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 12 / 36

Fonctionnement général / Fonction à brèche secrète Problème ouvert On a aucune idée de si de telles fonctions existent effectivement. C est une question ouverte d informatique et de mathématiques. Leur existence impliquerait de répondre non à la question bien connue P? = NP. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 13 / 36

Fonctionnement général Candidats Dans l état actuel des connaissances, on a cependant plusieurs candidats qui pourraient être des fonctions à sens unique. C est à dire qu on connaît certaines fonctions qui sont calculables en temps polynomial dans un sens, et pour lesquels on ne connaît pas d algorithme pour calculer la fonction inverse en temps polynomial. Exemples : la multiplication (et la factorisation en nombre premier), l exponentiation modulaire (et le logarithme discret), la multiplication scalaire sur courbe elliptique (et la division). Voyons un cryptosystème pour chacune de ces fonctions candidates à sens unique. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 14 / 36

RSA RSA est un algorithme de cryptographie asymétrique qui est très utilisé. Il a été breveté mais ce brevet a expiré le 21 septembre 2000. Il peut être utilisé pour chiffrer ou pour signer des messages. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 15 / 36

RSA Fonctionnement RSA utilise la congruence sur les entiers et le petit théorème de Fermat pour construire une fonction à sens unique et à brèche secrète. Tous les calculs se font modulo n, où n est le produit de deux nombres premiers. La sécurité repose sur la difficulté de factoriser n. Le chiffrement comme le déchiffrement consistent à élever le message à une certaine puissance (qui dépendra de la paire de clefs) modulo n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 16 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. 3. Calculer ϕ(n) = (p 1)(q 1), la valeur de l indicatrice d Euler pour n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. 3. Calculer ϕ(n) = (p 1)(q 1), la valeur de l indicatrice d Euler pour n. 4. Choisir un entier e premier avec ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de chiffrement. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. 3. Calculer ϕ(n) = (p 1)(q 1), la valeur de l indicatrice d Euler pour n. 4. Choisir un entier e premier avec ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de chiffrement. 5. Calculer l entier d inverse de e modulo ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de déchiffrement. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. 3. Calculer ϕ(n) = (p 1)(q 1), la valeur de l indicatrice d Euler pour n. 4. Choisir un entier e premier avec ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de chiffrement. 5. Calculer l entier d inverse de e modulo ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de déchiffrement. On est sûr que d existe par le théorème de Bachet-Bézout, qui dit qu il existe d et k tels que ed + kϕ(n) = 1 ed 1 mod ϕ(n). Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. 3. Calculer ϕ(n) = (p 1)(q 1), la valeur de l indicatrice d Euler pour n. 4. Choisir un entier e premier avec ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de chiffrement. 5. Calculer l entier d inverse de e modulo ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de déchiffrement. On est sûr que d existe par le théorème de Bachet-Bézout, qui dit qu il existe d et k tels que ed + kϕ(n) = 1 ed 1 mod ϕ(n). On sait calculer d efficacement avec l algorithme d Euclide étendu. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Génération des clefs 1. Choisir aléatoirement p et q deux grands nombres premiers distincts. 2. Calculer n = pq, qu on appelle le module de chiffrement. 3. Calculer ϕ(n) = (p 1)(q 1), la valeur de l indicatrice d Euler pour n. 4. Choisir un entier e premier avec ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de chiffrement. 5. Calculer l entier d inverse de e modulo ϕ(n) et strictement inférieur à ϕ(n), qu on appelle l exposant de déchiffrement. On est sûr que d existe par le théorème de Bachet-Bézout, qui dit qu il existe d et k tels que ed + kϕ(n) = 1 ed 1 mod ϕ(n). On sait calculer d efficacement avec l algorithme d Euclide étendu. 6. La clef publique est le couple (e, n) et la clef privée est le couple (d, n). Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 17 / 36

RSA Chiffrement Le message m doit être strictement inférieur à n. On calcule le chiffré c = m e mod n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 18 / 36

RSA Déchiffrement Le chiffré c est strictement inférieur à n. On calcule le message m = c d mod n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 19 / 36

RSA Signature Pour assurer l authenticité d un message, son émetteur peut utiliser RSA pour le signer. Pour cela il lui suffit de chiffrer un condensé (un hash) du message avec sa clef privée : s = H (m) d mod n. Le message signé est alors (m, s). Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 20 / 36

RSA Vérification de signature Pour vérifier la signature, il suffit de comparer H (m) avec le résultat du déchiffrement de la signature à l aide de la clef publique : v = s e mod n. Cela assure non seulement l authenticité du message (on est assuré de l identité de son émetteur), mais aussi son intégrité. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 21 / 36

RSA Vérification de signature Pour vérifier la signature, il suffit de comparer H (m) avec le résultat du déchiffrement de la signature à l aide de la clef publique : v = s e mod n. Cela assure non seulement l authenticité du message (on est assuré de l identité de son émetteur), mais aussi son intégrité. En effet, si le message est corrompu, son condensé est différent. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 21 / 36

RSA Exercices Générer une paire de clef, chiffrer et déchiffrer un message avec p = 11 et q = 7. Comment faire pour communiquer en s assurant à la fois de la confidentialité, de l intégrité, et de l authenticité? Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 22 / 36

RSA Justification (1/2) Rappel du petit théorème de Fermat : si p est un nombre premier et si a est un entier non divisible par p, alors a p 1 1 est un multiple de p. C est à dire : a p 1 1 mod p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 23 / 36

RSA Justification (1/2) Rappel du petit théorème de Fermat : si p est un nombre premier et si a est un entier non divisible par p, alors a p 1 1 est un multiple de p. C est à dire : a p 1 1 mod p. Comme n est le produit de deux nombres premiers : soit m est premier avec n, soit il est multiple de p et pas de q, soit il est multiple de q et pas de p, soit il est multiple de n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 23 / 36

RSA Justification (1/2) Rappel du petit théorème de Fermat : si p est un nombre premier et si a est un entier non divisible par p, alors a p 1 1 est un multiple de p. C est à dire : a p 1 1 mod p. Comme n est le produit de deux nombres premiers : soit m est premier avec n, soit il est multiple de p et pas de q, soit il est multiple de q et pas de p, soit il est multiple de n. Le dernier cas est trivial car m 0 mod n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 23 / 36

RSA Justification (1/2) Rappel du petit théorème de Fermat : si p est un nombre premier et si a est un entier non divisible par p, alors a p 1 1 est un multiple de p. C est à dire : a p 1 1 mod p. Comme n est le produit de deux nombres premiers : soit m est premier avec n, soit il est multiple de p et pas de q, soit il est multiple de q et pas de p, soit il est multiple de n. Le dernier cas est trivial car m 0 mod n. Dans le premier cas, on peut simplement utiliser le théorème d Euler, qui généralise le petit théorème de Fermat à tout entier n premier avec a : a ϕ(n) 1 mod n. Ce qui implique directement : a b a b mod ϕ(n) mod n. On a donc c d m ed m ed mod ϕ(n) m mod n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 23 / 36

RSA Justification (1/2) Rappel du petit théorème de Fermat : si p est un nombre premier et si a est un entier non divisible par p, alors a p 1 1 est un multiple de p. C est à dire : a p 1 1 mod p. Comme n est le produit de deux nombres premiers : soit m est premier avec n, soit il est multiple de p et pas de q, soit il est multiple de q et pas de p, soit il est multiple de n. Le dernier cas est trivial car m 0 mod n. Dans le premier cas, on peut simplement utiliser le théorème d Euler, qui généralise le petit théorème de Fermat à tout entier n premier avec a : a ϕ(n) 1 mod n. Ce qui implique directement : a b a b mod ϕ(n) mod n. On a donc c d m ed m ed mod ϕ(n) m mod n. Les deux cas restant sont symétriques. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 23 / 36

RSA Justification (2/2) Supposons que m soit multiple de q et pas de p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 24 / 36

RSA Justification (2/2) Supposons que m soit multiple de q et pas de p. On a par le petit théorème de Fermat que m p 1 1 mod p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 24 / 36

RSA Justification (2/2) Supposons que m soit multiple de q et pas de p. On a par le petit théorème de Fermat que m p 1 1 mod p. On a que c d m ed mod n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 24 / 36

RSA Justification (2/2) Supposons que m soit multiple de q et pas de p. On a par le petit théorème de Fermat que m p 1 1 mod p. On a que c d m ed mod n. Par construction de la paire de clef, on a que ed 1 mod ϕ(n), c est à dire k, ed = 1 + k(p 1)(q 1). Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 24 / 36

RSA Justification (2/2) Supposons que m soit multiple de q et pas de p. On a par le petit théorème de Fermat que m p 1 1 mod p. On a que c d m ed mod n. Par construction de la paire de clef, on a que ed 1 mod ϕ(n), c est à dire k, ed = 1 + k(p 1)(q 1). On a donc c d m 1+k(p 1)(q 1) m (m p 1 ) k(q 1) m mod p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 24 / 36

RSA Justification (2/2) Supposons que m soit multiple de q et pas de p. On a par le petit théorème de Fermat que m p 1 1 mod p. On a que c d m ed mod n. Par construction de la paire de clef, on a que ed 1 mod ϕ(n), c est à dire k, ed = 1 + k(p 1)(q 1). On a donc c d m 1+k(p 1)(q 1) m (m p 1 ) k(q 1) m mod p. Et comme on a m 0 mod q, on a bien c d m mod n. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 24 / 36

RSA Asymétrie Pour chiffrer le message, il suffit de connaître e et n. Pour le déchiffrer, il faut d et n. Pour calculer d à partir de e et n (ce que voudrait faire un attaquant), il faut trouver l inverse modulaire de e modulo ϕ(n) = (p 1)(q 1). On ne sait pas faire cela sans connaître p et q. La sécurité de RSA repose sur la difficulté de la factorisation en nombres premiers. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 25 / 36

RSA Sécurité Factoriser est difficile, mais la structure du problème le rend quand même plus rapide à résoudre que de devoir essayer toutes les clefs d une longueur donnée comme avec la cryptographie symétrique. Les tailles de clefs sont donc beaucoup plus importantes. De nos jours, le module de chiffrement doit faire au moins 2048 bits, et 4096 sont recommandés. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 26 / 36

RSA Cryptographie hybride Chiffrer tout un message avec RSA serait long en terme de calcul. Ce qui est fait le plus souvent est de se servir de la cryptographie asymétrique pour échanger une clef de session générée aléatoirement pour être utilisée symétriquement. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 27 / 36

Échange de clef de Diffie-Hellman DH est une méthode de cryptographie asymétrique permettant à deux personnes de se mettre d accord sur une clef secrète au travers d un canal de communication non sécurisé. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 28 / 36

Échange de clef de Diffie-Hellman Fonctionnement Les calculs se font dans un corps premier (Z/pZ). DH utilise la commutativité et l associativité de la multiplication dans le corps pour permettre aux deux participant e s de construire secret commun en échangeant seulement des éléments publics. La sécurité repose sur la difficulté d inverser une exponentiation modulaire, c est à dire de calculer un logarithme discret. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 29 / 36

Échange de clef de Diffie-Hellman Protocole à 2 participant e s 1. Alice choisi un corps premier Z/pZ, et g un générateur de ce corps. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 30 / 36

Échange de clef de Diffie-Hellman Protocole à 2 participant e s 1. Alice choisi un corps premier Z/pZ, et g un générateur de ce corps. 2. Alice choisi aléatoirement un entier a, et calcul A = g a mod p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 30 / 36

Échange de clef de Diffie-Hellman Protocole à 2 participant e s 1. Alice choisi un corps premier Z/pZ, et g un générateur de ce corps. 2. Alice choisi aléatoirement un entier a, et calcul A = g a mod p. 3. Alice envoie (p, g, A) à Bob. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 30 / 36

Échange de clef de Diffie-Hellman Protocole à 2 participant e s 1. Alice choisi un corps premier Z/pZ, et g un générateur de ce corps. 2. Alice choisi aléatoirement un entier a, et calcul A = g a mod p. 3. Alice envoie (p, g, A) à Bob. 4. Bob choisi aléatoirement un entier b, et calcul B = g b mod p et K = A b = (g a ) b = g ab mod p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 30 / 36

Échange de clef de Diffie-Hellman Protocole à 2 participant e s 1. Alice choisi un corps premier Z/pZ, et g un générateur de ce corps. 2. Alice choisi aléatoirement un entier a, et calcul A = g a mod p. 3. Alice envoie (p, g, A) à Bob. 4. Bob choisi aléatoirement un entier b, et calcul B = g b mod p et K = A b = (g a ) b = g ab mod p. 5. Bob envoie B à Alice. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 30 / 36

Échange de clef de Diffie-Hellman Protocole à 2 participant e s 1. Alice choisi un corps premier Z/pZ, et g un générateur de ce corps. 2. Alice choisi aléatoirement un entier a, et calcul A = g a mod p. 3. Alice envoie (p, g, A) à Bob. 4. Bob choisi aléatoirement un entier b, et calcul B = g b mod p et K = A b = (g a ) b = g ab mod p. 5. Bob envoie B à Alice. 6. Alice calcul K = B a = (g b ) a = g ab mod p. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 30 / 36

Échange de clef de Diffie-Hellman Exercice Jouer le protocole pour p = 23 et g = 3. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 31 / 36

Échange de clef de Diffie-Hellman Asymétrie Les calculs d exponentiations modulaires sont peu coûteux (linéaire en la taille de l exposant). En revanche, un attaquant doit forcément retrouver a ou b pour calculer K, ce qui suppose a priori de calculer un logarithme discret. C est sur la difficulté de ce problème que repose la sécurité de DH. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 32 / 36

Échange de clef de Diffie-Hellman Sécurité Comme avec RSA, la taille des clefs est importante. Par rapport aux méthodes de calcul de logarithme discret connues, il est conseiller d utiliser des nombres a et b du double de la taille de clef symétrique du niveau de sécurité voulu (par exemple, 256 bits pour une sécurité 128 bits symétrique). Pour le module p, il doit être grand (comparable aux recommandations pour le module de RSA). Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 33 / 36

Échange de clef de Diffie-Hellman Extension à n participant e s? Proposez une version du protocole avec 3 participant e s, par exemple où Carole se joindrait à Bob et Alice. Est-il possible de l étendre à n participant e s? Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 34 / 36

Courbes elliptiques Les courbes elliptiques sont une famille d objet mathématiques munis d une structure de groupe additif, qui permet aussi de les utiliser en cryptographie en faisant reposer la sécurité sur la transposition à ces structures du problème du logarithme discret. L échange de clef de Diffie-Hellman est possible sur les courbes elliptiques (ECDH). Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 35 / 36

Chiffrement homomorphe Comment faire si on a besoin de déléguer un calcul (par exemple dans le cloud), mais qu on veut garder confidentielles les données sur lequel il porte? La solution est le chiffrement homomorphe. Un cryptosystème est dit homomorphe si il possède certaines caractéristiques algébriques qui le font commuter avec une opération mathématique. Soit F : K K une fonction de chiffrement, et soit une opération sur K. On dit que le cryptosystème (F, F 1 ) commute avec si F(x) F(y) = F(x y). On parle de cryptosystème partiellement homomorphe quand il commute avec un ensemble restreint d opérations. Pablo Rauzy (Paris 8 / LIASD) Sécurité et systèmes embarqués Séance 2 36 / 36