INFO006 (ex INFO913) - Cryptologie et Sécurité Informatique



Documents pareils
Sécurité informatique

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

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

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

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

Fonction de hachage et signatures électroniques

INF 4420: Sécurité Informatique Cryptographie II

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Les fonctions de hachage, un domaine à la mode

Cryptographie et fonctions à sens unique

ÉPREUVE COMMUNE DE TIPE Partie D

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

Sécurité de l'information

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

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

La sécurité dans les grilles

Authentification de messages et mots de passe

Signatures électroniques dans les applications INTERNET

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Le protocole SSH (Secure Shell)

Quelques tests de primalité

Sécurité des réseaux IPSec

La sécurité des systèmes d information

Devoir Surveillé de Sécurité des Réseaux

La sécurité informatique d'un centre d imagerie médicale Les conseils de la CNIL. Dr Hervé LECLET. Santopta

Livre blanc. Sécuriser les échanges

Concilier mobilité et sécurité pour les postes nomades

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

Sécurité des réseaux Les attaques

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

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Petite introduction aux protocoles cryptographiques. Master d informatique M2

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

SÉCURITÉ RÉSEAUX/INTERNET, SYNTHÈSE

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

TP 2 : Chiffrement par blocs

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Notions de sécurités en informatique

Plan de l exposé. La sécurité informatique. Motivation & risques. Quelques chiffres. Introduction. Un premier exemple. Chiffres à clé secrète

Jean-Pierre Lovinfosse. En finir. avec les virus. Groupe Eyrolles,2004 ISBN

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

LES REGLES ELEMENTAIRES DE SECURITE LE POSTE DE TRAVAIL. CNRS RSSIC version du 11 mai 2012

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Groupe Eyrolles, 2006, ISBN : X

TECHNIQUES DE CRYPTOGRAPHIE

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

Modes opératoires pour le chiffrement symétrique

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.

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

RÈGLE N 1 : SAUVEGARDEZ VOS DONNÉES

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Cryptographie et Sécurité informatique

Chap. I : Introduction à la sécurité informatique

Charte d installation des réseaux sans-fils à l INSA de Lyon

Bibliographie. Gestion des risques

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Les conseils & les astuces de RSA Pour être tranquille sur Internet

ISEC. Codes malveillants

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

Recommandations pour la protection des données et le chiffrement

Gestion des Incidents SSI

Management de la sécurité des technologies de l information

Présenté par : Mlle A.DIB

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

Progressons vers l internet de demain

L identité numérique. Risques, protection

Fiches micro-informatique SECURITE LOGIQUE LOGIxx

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

Panorama de la cryptographie des courbes elliptiques

La citadelle électronique séminaire du 14 mars 2002

Cryptologie à clé publique

Signature électronique. Romain Kolb 31/10/2008

BANQUE NEUFLIZE OBC LES BONNES PRATIQUES INTERNET ET MESSAGERIE

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Réseaux Privés Virtuels

SOLUTIONS DE SECURITE DU DOCUMENT DES SOLUTIONS EPROUVEES POUR UNE SECURITE SANS FAILLE DE VOTRE SYSTEME MULTIFONCTIONS SHARP DOCUMENT SOLUTIONS

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

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Sécurité des réseaux sans fil

FORMATION PROFESSIONNELLE AU HACKING

L authentification de NTX Research au service des Banques

Les principes de la sécurité

Cryptographie Quantique

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

Principes de la sécurité informatique

ANSSI PROCEDURES DE REPORTING DES INCIDENTS AVEC LE CIRT RÔLES DES PARTIES PRENANTES 15/02/2014. SEMINAIRE DE Joly Hôtel

Les modules SI5 et PPE2

NETTOYER ET SECURISER SON PC

Sécurité des Systèmes d Information Une politique simple pour parler à la Direction Générale De la théorie à la pratique

Malveillances Téléphoniques

Vulnérabilités et sécurisation des applications Web

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Protocoles d authentification

RSA ADAPTIVE AUTHENTICATION

Sécurité. Tendance technologique

Transcription:

INFO006 (ex INFO913) - Cryptologie et Sécurité Informatique Master 2 ISC Jacques-Olivier Lachaud 1 1 Laboratoire de Mathématiques Université de Savoie janvier 2011 J.-O. Lachaud (LAMA) INFO006 1 / 183

Introduction INFO006 : Cryptologie et sécurité informatique Eléments abordés introduction à la sécurité informatique cryptologie : principes et mise en oeuvre Evaluation 1 contrôle continu : 2 TPs 2 exposé sur un thème précis Déroulement : Cours (8 1, 5h), TD (2 1, 5h), TP (3 3h) http ://www.lama.univ-savoie.fr, et rajouter /wiki, suivre INFO006 J.-O. Lachaud (LAMA) INFO006 2 / 183

Plan 1 Introduction à la sécurité et à la cryptologie Définitions et exemples Sécurité Criminalité informatique Apports de la cryptographie à la sécurité 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 3 / 183

Plan 1 Introduction à la sécurité et à la cryptologie Définitions et exemples Sécurité Criminalité informatique Apports de la cryptographie à la sécurité 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 4 / 183

Sécurité informatique Ensemble des moyens techniques, organisationnels, juridiques et humains nécessaires et mis en place pour conserver, rétablir, et garantir la sécurité de l information, du système d information et des systèmes et ressources informatiques. Notamment, on veut préserver l intégrité de l information la confidentialité de l information la disponiblité des systèmes Systèmes informatiques soumis à des menaces utilisateur du système personne malveillante programme malveillant sinistre (vol, incendie, dégât des eaux) J.-O. Lachaud (LAMA) INFO006 5 / 183

Cryptographie et cryptanalyse [Source Wikipedia] Definition (Cryptographie) La cryptographie est une des disciplines de la cryptologie s attachant à protéger des messages (assurant confidentialité, authenticité et intégrité) en s aidant souvent de secrets ou clés. Definition (Cryptanalyse) La cryptanalyse s oppose, en quelque sorte, à la cryptographie. En effet, si déchiffrer consiste à retrouver le clair au moyen d une clé, cryptanalyser c est tenter de se passer de cette dernière. Cryptographie : outil pour la sécurité informatique J.-O. Lachaud (LAMA) INFO006 6 / 183

Plan 1 Introduction à la sécurité et à la cryptologie Définitions et exemples Sécurité Criminalité informatique Apports de la cryptographie à la sécurité 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 7 / 183

Critères de sécurité Mise en place de solutions de sécurité pour satisfaire disponibilité : probabilité de bon fonctionnement, accessibilité, continuité de service intégrité : certification de la non-altération des données, traitements et services confidentialité : protection des données contre une divulgation non autorisée authentification : vérification de l identité de l utilisateur et de ses autorisations non-répudiation : imputabilité, traçabilité, auditabilité J.-O. Lachaud (LAMA) INFO006 8 / 183

Domaines d intervention de la sécurité sécurité physique environnement humain (politique de sécurité, éducation, charte) environnement matériel (incendie, dégâts des eaux, protection des salles, sauvegardes, alimentations électriques) sécurité de l exploitation hôte (système d exploitation à jour, authentification) sécurité logique données (accès aux fichiers, autorisations, chiffrements, sauvegarde) sécurité applicative applications (virus, chevaux de troie, espiogiciels, spam, restrictions et localisations des applications) sécurité des télécommunications réseau interne (protocoles sécurisés, dimensionnement) alentours (pare-feu, vpn, nomadisme) J.-O. Lachaud (LAMA) INFO006 9 / 183

Menaces informatiques menace : action susceptible de nuire vulnérabilité ou faille : niveau d exposition face à une menace dans un certain contexte contre-mesure ou parade : ensemble des actions mises en oeuvres en prévention d une menace attaque : exploitation d une faille (d un syst info) à des fins non connus de l exploitant du système et généralement préjudiciables en permanence sur Internet par machines infectées rarement pirates J.-O. Lachaud (LAMA) INFO006 10 / 183

Motivations des attaques intrusion dans le système vol d informations industrielles (brevets), personnelles (bancaires), commerciales (contrats), organisationnelles troubler le bon fonctionnement d un service (déni de service, defacing) utiliser le système comme rebond pour une autre attaque utiliser les ressources d un système (ex : bonne bande passante) J.-O. Lachaud (LAMA) INFO006 11 / 183

Plan 1 Introduction à la sécurité et à la cryptologie Définitions et exemples Sécurité Criminalité informatique Apports de la cryptographie à la sécurité 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 12 / 183

Crime informatique, cybercrime Crime informatique : délit où le système informatique est l objet du délit et/ou le moyen de le réaliser. Cybercrime : forme du crime informatique qui utilise Internet en 2007, la cybercriminalité pèse 7,1 milliards de dollars aux USA en 2009, assignement en justice pour 559 millions de dollars aux USA ( 2 en deux ans) Typologie : malveillance, erreur, accident Cibles : états, organisations, individus Vol d identité, Chantage, Fraude financière, détournements de fonds, vol de biens virtuels, atteinte à la dignité, dénonciation calomnieuses, espionnage, cyberterrorisme, désinformation, apologies de crimes, escroqueries, atteinte aux mineurs, atteinte à la vie privée, incitation à la haine raciale,... J.-O. Lachaud (LAMA) INFO006 13 / 183

Internet : un facteur aggravant dématérialisation des acteurs du délit, des objets du délit vulnérabilité : complexité des infrastructures informatique et réseaux automatisation, réalisation à grande échelle ubiquité, anonymat immatérialité : information numérique peut être détruite, modifiée, usurpée disponibilité d outils, paradis numériques dépendance des états/organisations à l informatique facteur de risque cyberterrorisme J.-O. Lachaud (LAMA) INFO006 14 / 183

Typologie des attaques accès physique : coupure électricité, vol de disque dur, écoute traffic réseau, récupération de matériels interception de communications : vol de session, usurpation d identité, détournement de messages polupostage ou spam (98 % des mails) dénis de services : faiblesse de protocoles TCP/IP, vulnérabilité de logiciels serveurs intrusions : maliciels (virus, vers, chevaux de Troie), balayage de ports, élévation de privilèges, débordements de tampon trappes : porte dérobée dans un logiciel ingénierie sociale : contact direct de l utilisateur attention aux attaques par rebond : l utilisateur complice peut voir sa responsabilité engagée. J.-O. Lachaud (LAMA) INFO006 15 / 183

Logiciels malveillants : Virus, Vers, troyens I Virus Tout programme capable d infecter un autre programme en le modifiant de façon à ce qu il puisse se reproduire Brain (premier sur PC en 1986), Netsky (2004, lit fichiers EML, HTML pour se propager par email), Sobig-F (2003, contient un serveur SMTP) Infecte : Programmes, documents, secteurs de boot Ver (Worm) Programme se propageant à travers le réseau Blaster (Août 2003, faiblesse RPC Windows), Welchia (qqs jours après, élimine Blaster) Troyen ou Cheval de Troie Programme à l apparence utile mais cachant du code pour créer une faille dans le système (backdoor) BackOrifice, GrayBird (soi-disant nettoyeur de Blaster) Porte dérobée (ou backdoor) Fonctionnalité inconnue de l utilisateur, qui donne un accès secret au logiciel/système Trusting Trust (1984), noyau Linux (2003) J.-O. Lachaud (LAMA) INFO006 16 / 183

Logiciels malveillants : Virus, Vers, troyens II Machine zombie ordinateur contrôlé à l insu de son utilisateur par un pirate informatique (suite à une infection par ver/cheval de troie). Sert de rebond. Botnet Réseau de machines zombies. Utile pour lancer des attaques de déni de service ou spams Bombes logiques Programme se déclencheant suite à un événement particulier (date, signal distant) CIH/Chernobyl (déclenchement 26 avril 1999, 26 avril 1986) Virus mutants réécriture de virus existants Virus polymorphes modifie son apparence, pour ne pas être reconnu Rétro-Virus attaque les signatures des antivirus Virus boot Virus s installant sur un secteur d amorçage (disquette, disque) J.-O. Lachaud (LAMA) INFO006 17 / 183

Logiciels malveillants : Virus, Vers, troyens III Virus d applications (ou de document/macros) Programme infectant un document contenant des macros, exécutable par une application : VBScript Concept (1995), Bubbleboy (1999, affichage du mail) Antivirus Logiciel de détection et d éradication de virus et vers Méthodes : dictionnaires, heuristiques, comportements suspects, émulation (bac-à-sable) scanneurs sur accès : examine les fichiers/programmes à chaque accès scanneurs à la demande : examine les disques/fichiers/programmes suite à une demande J.-O. Lachaud (LAMA) INFO006 18 / 183

Spywares : espiogiciels I Espiogiciel Programme collectant des données sur un utilisateur, les envoyant à une société en général pour du profilage souvent avec des freewares ou sharewares intégrés (PKZip, KaZaA, Real Player) ou externes souvent légaux (dans la licence) parades : ne pas installer de logiciels (!), antisypwares, firewall keylogger enregistreur de touches : enregistrement des touches à l insu de l utilisateur. dispositif d espionnage. Souvent un logiciel. J.-O. Lachaud (LAMA) INFO006 19 / 183

Spywares : espiogiciels II dongle version hardware (ex : KeyKatch) J.-O. Lachaud (LAMA) INFO006 20 / 183

Logiciels malveillants : Quelques statistiques I [Source Rapport Sophos 2005 sur la gestion des menaces à la sécurité] vandalisme ludique cède la place à la criminalité organisée 1 message sur 44 infecté par un virus (fin nov 2005, 1 sur 12, ver Sober-Z) Fin décembre 2005 : BD Virus Sophos a 114000 virus, vers et autres, 15900 nouveaux en 2005 Méthodes de propagation : connexion directe via le réseau 66,8 %, pièces jointes 15,1%, chat 9,2 %, poste à poste (P2P) 4,5%, navigation web 2,4% Windows est la cible (plus que) majoritaire Ordinateur équipé de Windows sans protection : risque de contamination 95% au bout d une heure (SOPHOS) http://www.sophos.com/security/top-10/ http://www.symantec.com/ J.-O. Lachaud (LAMA) INFO006 21 / 183

Quelques questions relatives à la sécurité I Quels sont vos droits et devoirs vis-à-vis du système informatique de l université? Participez-vous à sa sécurité? Quelles sont les données ou applications les plus critiques de l université? Y a-t-il un risque d infection en laissant simplement son ordinateur allumé connecté par Internet? Pourquoi ne peut-on fermer une machine à toute communication extérieure? Est-ce qu un téléphone mobile peut être infecté? Est-ce qu un routeur peut être infecté? Est-ce qu une télévision peut être infectée? Comment un programme malicieux fait-il pour se rendre invisible après infection? J.-O. Lachaud (LAMA) INFO006 22 / 183

Quelques questions relatives à la sécurité II Comment un virus fait-il pour ne pas infecter deux fois le même fichier? Quelles sont les motivations qui conduisent une personne à écrire un logiciel malveillant? J.-O. Lachaud (LAMA) INFO006 23 / 183

Menaces nouvelles I Social engineering usage de ressorts psychologiques pour obtenir d un tiers information ou données fraude, intrusion réseau, espionnage industriel, vol d identité. Phishing/hameçonnage Arnaques via internet, usurper une identité fiable (genre banque), redirection vers site pirate données bancaires, mots de passe J.-O. Lachaud (LAMA) INFO006 24 / 183

Menaces nouvelles II http://www.mabanque.com@members.unsite.com/ http://www.mabanque.com.unsite.net/ Pharming (empoisonnement DNS) exploite une vulnérabilité pour rediger le trafic Internet d un site Web vers un autre. Complémentaire de chevaux de Troie, spywares et phishing. Exemple : americanexpress.com, fedex.com, msn.com, Trendmicro.com (vulnérabilités dans le serveur DNS de Windows NT4 et Windows 2000, depuis corrigées). Slamming fausse facture de renouvellement de nom de domaine et contrainte pour l achat de noms de domaines proches, faux annuaires professionnels J.-O. Lachaud (LAMA) INFO006 25 / 183

Menaces nouvelles III Vishing (VoIP + phishing). Serveurs VoIP appelant des numéros fixes, redirection vers boîte vocale informant d anomalie, invitation à contacter un serveur vocal où il donnera ses coordonnées bancaires. Ransomwares code malveillant (virus ou cheval de troie) cryptant certaines données, exige une rançon après pour le déchiffrement. Exemple : Gpcode, scanne.xls.doc.txt.rtf... Cross Site Scripting (XSS) vulnérabilités dans serveur/app WEB pour insérer du code dans une page html renvoyée dynamiquement Redirection vers un autre site, vol d identifiant de session Injection de code vulnérabilités dans serveurs/apps (SQL, WEB/XSS, LDAP SELECT * FROM utilisateurs WHERE nom="\$nom"; // Saisie de : toto" OR 1=1 OR nom="titi SELECT * FROM utilisateurs WHERE nom="toto" OR 1=1 OR nom="titi"; J.-O. Lachaud (LAMA) INFO006 26 / 183

Organismes liés à la sécurité informatique I CERTs : Computer Emergency Response Team CERTA : Centre d Expertise Gouvernemental de Réponse et de Traitement des Attaques informatiques [http ://www.certa.ssi.gouv.fr] Publie des alertes, ainsi que des bulletins hebdomadaires d actualité Exemple de bulletin d alerte [http ://www.certa.ssi.gouv.fr/site/certa-2009-ale-016/certa-2009-ale-016.html] Portail gouvernemental de la sécurité [http ://www.securite-informatique.gouv.fr] J.-O. Lachaud (LAMA) INFO006 27 / 183

Chiffres et évolutions des menaces I Pertes et typologie des plaintes référencées par l I3C (USA) J.-O. Lachaud (LAMA) INFO006 28 / 183

Chiffres et évolutions des menaces II J.-O. Lachaud (LAMA) INFO006 29 / 183

Chiffres et évolutions des menaces III Plus de 60% des plaintes portent sur moins de 1000 $ (en 2009) Plus de 87% des plaintes portent sur moins de 5000 $ (en 2009) J.-O. Lachaud (LAMA) INFO006 30 / 183

Chiffres et évolutions des menaces IV Evolution des menaces informatiques dans le monde de 2004 à 2005 Menaces Attaques 2004 Attaques 2005 Phishing 18,0 % 25,0 % Virus et vers 68,6 % 66,6 % [Source CompTIA] Nombres d incidents rapportés au CERT 1998 1999 2000 2001 2002 2003 5000 11000 22000 53000 85000 138000 vulnérabilités répertoriées par les CERTs 2003 2004 2005 2006 2007 2008 nombre 3784 3780 5990 8064 7236 6058 rapports directs 191 170 213 345 357 310 Parades : Formation utilisateurs Antivirus et/ou antispyware Filtre antiphishing Contrôler les certificats des sites J.-O. Lachaud (LAMA) INFO006 31 / 183

Politique de sécurité Politique de sécurité Politique de Gestion des identités, des profils utilisateurs, des contrôle d accès droits d accès Politique de protection Prévention des intrusions et malveillances, gestion des vulnérabilités, dissuasion, etc. Politique de réaction Gestion des crises, des sinistres, des plans de continuité, de reprise, d intervention, de poursuite,... Politique de suivi Audit, évaluation, optimisation, contrôle, surveillance Politique d assurance sensibilisation + respect des contraintes réglementaires et législations + équilibre coût, performance, convivialité Méthodes standards : Marion, Méhari cf. CLUSIF [http ://www.clusif.asso.fr] J.-O. Lachaud (LAMA) INFO006 32 / 183

Plan 1 Introduction à la sécurité et à la cryptologie Définitions et exemples Sécurité Criminalité informatique Apports de la cryptographie à la sécurité 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 33 / 183

Cryptographie et critères de sécurité Satisfaire les objectifs de sécurité via la cryptographie : confidentialité, intégrité, Authentification, non-répudiation, disponibilité? Outils 1 chiffrements à clé secrète partagée 2 chiffrements à clé public 3 signatures 4 fonctions de hachage Applications : sécurité logique (données), sécurité des transmissions, sécurité de l exploitation peu en sécurité applicative J.-O. Lachaud (LAMA) INFO006 34 / 183

Chiffrement symétrique ou à clé secrète I Chiffrement symétrique ou à clé secrète confidentialité : clé secrète K partagée entre 2 personnes chiffrer : transforme un message clair M en un message chiffré C = e K (M) avec K déchiffrer : transforme un message chiffré C en un message clair M = d K (C) avec K algorithmes chiffrement e / déchiffrement d publics contraintes : difficile de déduire M de C sans K en clair chiffré J.-O. Lachaud (LAMA) INFO006 35 / 183

Chiffrement symétrique ou à clé secrète II confidentialité des données pour une personne authentification de l expéditeur si K est resté secret Exemples : DES, 3DES, blowfish, IDEA, AES Utilisés dans : SSH, SSL/TLS, WiFi (IEEE 802.11i), VPN/IPsec Avantages Inconvénients rapidité du chiffrement/déchiffrement échange de K par un autre canal, dialogue entre n personnes nécessitent bcp de clés J.-O. Lachaud (LAMA) INFO006 36 / 183

Cryptographie asymétrique ou à clé publique I Chiffrement asymétrique ou à clé publique confidentialité : vers tout destinataire (clé publique P, clé secrète S) chiffrer : message clair M en message chiffré C avec clé publique e P déchiffrer : message chiffré C en message clair M avec clés d P,S algorithmes chiffrement e / déchiffrement d publics Chiffrement asymétrique : une communication non secrète permet de véhiculer une information que seul le destinataire peut comprendre. idée [Diffie-Hellman 1976], RSA [Rivest, Shamir, Adleman 1977] Contrainte : difficile de déduire d P,S de e P J.-O. Lachaud (LAMA) INFO006 37 / 183

Cryptographie asymétrique ou à clé publique II Avantages Inconvénients une seule clé secrète pour n expéditeurs, pas de canal secret lenteur, pas d authentification de la source, attaque Man-In-The-Middle Très utile pour échanger les clés pour ouvrir un tunnel de communication chiffré (VPN, TLS/SSL). Uilisés aussi dans PGP. Nécessité de protocoles d échanges de clé (IKE pour IPsec) Exemples : RSA [1977] (factorisation), chiffrement ElGamal [1985] (logarithme discret), Merkle-Hellman [1978] (sac-à-dos) J.-O. Lachaud (LAMA) INFO006 38 / 183

Signatures numériques I Signature ou sceau [Diffie et Hellman (1976)] prouver identité de l expéditeur (non-répudiation) et intégrité du message expéditeur (clé publique P, clé privée S) signer (privé) : fonction sig P,S. Signature S sig P,S (M) où M est un message ou un défi vérifier (public) : fonction ver P. Booléen b ver P (M, S). contraintes : empêcher l usurpation, la non-reconnaissance calculable par le signataire M le destinataire (et tout individu) peut vérifier la signature non falsifiable non imitable Exemple : signature RSA J.-O. Lachaud (LAMA) INFO006 39 / 183

Signatures numériques II signer sig P,S est le déchiffrement d P,S L expéditeur donne M et S sig P,S (M). vérifier verp est le chiffrement e P suivi d une comparaison Le destinataire calcule M e P (S) = e P (d P,S (M)) et vérifie M = M Exemples : PGP, RSA, signature ElGamal/DSA Utilisation : SSL, S-MIME Avantages Inconvénients non-répudiation d un message. En théorie, découpage en blocs d un message + signatures de chaque bloc garantit l intégrité. Trop coûteux en pratique. J.-O. Lachaud (LAMA) INFO006 40 / 183

Fonctions de hachage et empreinte I fonction de hachage et empreinte garantir l intégrité d un message M par calcul d une empreinte hachage : message M hachée en une empreinte E = h(m) de taille fixée vérification intégrité : message reçu M, h(m ) = E? contraintes : hachage rapide, à sens unique et à collision difficile Exemples : MD5, SHA-1, DSA Utilisation : garantir l intégrité d une communication (SSL), de mails (S-MIME), de fichiers ou du système (antivirus) J.-O. Lachaud (LAMA) INFO006 41 / 183

Fonctions de hachage et empreinte II Intégrité et authentification message M d un expéditeur de clés (P,S) signature de l empreinte Z sig P,S (h(m)) vérification de l intégrité par le destinataire 1 Recevoir M, 2 le hacher h(m ), 3 puis vérifier ver P (h(m ), Z) = vrai J.-O. Lachaud (LAMA) INFO006 42 / 183

Authentification I Attaque Man-in-the-Middle (chiffrement asymétrique) Authentification : vérifier identité présumée d une personne J.-O. Lachaud (LAMA) INFO006 43 / 183

Authentification II Authentification par Autorité de Certification (AC) autorité de certification (AC) : organisme garant (clés P AC, S AC ) légitimer la clé publique P A d une personne 1 émetteur A émet son identité Id A et sa clé publique P A à une AC 2 AC vérifie l identité de A 3 calcule et publie un certificat signé par l AC : Z A,AC sig PAC,S AC (h(id A, P A )) authentification de A par l utilisateur B 1 B reçoit identifiants, clé publique de A 2 compare ce qu il reçoit : h(id A, P A ) 3 et l autorité de certification : ver PAC (h(id A, P A ), Z A,AC ) 4 et teste l égalité évite Man-in-the-Middle Mais quid de l autorité de certification? J.-O. Lachaud (LAMA) INFO006 44 / 183

Disponibilité I cryptologie : influence indirecte sur la disponibilité Contraintes fortes peu conciliables architecture sécurisée transparente : confidentialité sans mot de passe! QoS implique rapidité des mécanismes de chiffrement et déchiffrement Gains possibles de qualité de service : en identifiant mieux les sources/demandeurs de ressource J.-O. Lachaud (LAMA) INFO006 45 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 46 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 47 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

cryptosystème I J.-O. Lachaud (LAMA) INFO006 48 / 183

cryptosystème II Definition (cryptosystème) Un système cryptographique est un quintuplet (P, C, K, E, D) où 1 P : ensemble des textes clairs possibles, 2 C : ensemble des textes chiffrés possibles, 3 K : espace des clés, ensemble des clés possibles, 4 Pour toute clé K dans K, il existe une règle de chiffrement e K E et une règle de déchiffrement correspondante d K D. ek : P C dk : C P Pour tout texte clair x P, d K (e K (x)) = x. Chaque fonction de chiffrement doit être injective. Pourquoi? Si P = C, chaque fonction de chiffrement est une permutation. J.-O. Lachaud (LAMA) INFO006 49 / 183

Principe de la cryptographie, cryptanalyse I Considérations pratiques les fonctions e K et d K doivent pouvoir se calculer efficacement un opposant observant les messages chiffrés y ne peut déterminer K ou x cryptanalyse : rechercher K à partir de y. Donnera aussi x algorithme public, clé cachée : principe de Kerckhoffs (1883) la sécurité d un cryptosystème ne repose que sur le secret de la clé. autres paramètres connus (e et d) exprimé aussi par Shannon : l adversaire connaît le système chiffres civils suivent le principe de Kerckhoffs. Militaires utilisent des systèmes secrets. NB : chiffrage A5/1 des mobiles GSM non divulgué au début (1987), divulgué en 1994. le nombre de clés possibles doit être grand. Pourquoi de tels principes pour la sécurité informatique? J.-O. Lachaud (LAMA) INFO006 50 / 183

Résumé des outils I arithmétique modulo (ex : caractères modulo 26, bits modulo 2) chiffrement e K, déchiffrement d K à clé secrète K chiffrement public e K, déchiffrement privé d K signature privée sig K, vérification publique ver K fonction de hachage h publique, empreinte privée sig K (h(x)) J.-O. Lachaud (LAMA) INFO006 51 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 52 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

Chiffrements monoalphabétiques I quelques grands noms : Al-Kindi (801-873), Alberti (1404-1472), Vigenère (1523-1596), Porta (1535-1615), Babbage (1792-1872), Kerckhoffs (1835-1903), Turing (1912-1954) chiffre de substitution : remplacer les lettres ou les mots par d autres symboles On appelle chiffrement monoalphabétique ou substitution simple, un chiffre où chaque lettre est remplacée par une autre lettre ou symbole. chiffre de César (cf. Vies des douze Césars de Suétone) a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V W X Y Z A B C chiffredecesar FKLIIUHGHFHVDU J.-O. Lachaud (LAMA) INFO006 53 / 183

Chiffrements monoalphabétiques II Si on code A Z dans Z 26, alors y = x + 3 mod 26 et x = y 3 mod 26. Definition (Cryptosystème par décalage) Soient P = C = K = Z 26. Pour 0 K < 26, on définit e K (x) = x + K mod 26, d K (y) = y K mod 26. Exercices : Quelle est l espace des clés du chiffre par décalage? Quel est le texte clair de TMKBM CZXIQ AQJTM MBJCK WTQYC M? J.-O. Lachaud (LAMA) INFO006 54 / 183

Chiffrements monoalphabétiques III Chiffrement par substitution Definition (Cryptosystème par substitution) Soient P = C = Z 26. Soit K l ensemble des permutations sur les nombres 0, 1,..., 25. Pour chaque π K, on définit e K (x) = π(x), d K (y) = π 1 (y). Exercices : Quelle est l espace des clés de ce chiffrement? Est-ce qu une recherche exhaustive est envisageable? Un autre exemple est le chiffrement affine e K (x) = ax + b mod 26, pour des clés K = (a, b) avec pgcd(a, 26) = 1. Montrez que résoudre ax + b y(mod 26) est équivalent à résoudre ax y(mod 26) Supposez pgcd(a, 26) = d > 1 et montrez que ax 0(mod 26) a au moins deux solutions. e K peut-il être alors injectif? J.-O. Lachaud (LAMA) INFO006 55 / 183

Chiffrements monoalphabétiques IV Supposez pgcd(a, 26) = 1 et supposez x1, x 2 tq ax 1 ax 2 (mod 26). En déduire 26 divise (x 1 x 2 ), ce qui montre que x 1 x 2 (mod 26). e k est-il alors injectif? En déduire que l équation ax y(mod 26) admet une solution unique. Le chiffrement affine est bien un cryptosystème. Si a 1 est l inverse de a, en déduire que d K (y) a 1 (y b)(mod 26) Exercices : Montrer que K = (7, 3) induit un chiffrement affine dans Z26. Quel est sa fonction de déchiffrement? Combien y a-t-il de clés possibles? J.-O. Lachaud (LAMA) INFO006 56 / 183

Chiffrements polyalphabétiques I Un chiffrement polyalphabétique peut remplacer une lettre par une autre lettre qui n est pas toujours la même. Cryptanalyse plus difficile. Definition Chiffrement de Vigenère Soit m > 0 et P = C = K = (Z 26 ) m. Pour la clé K = (k 1, k 2,..., k m ), on définit e K (x 1, x 2,..., x m ) = (x 1 + k 1, x 2 + k 2,..., x m + k m ) d K (y 1, y 2,..., y m ) = (y 1 k 1, y 2 k 2,..., y m k m ) On note que le message clair est découpé en bloc de m lettres. Les clés comme les messages sont traduits de l alphabet a-z vers les nombres 0-25. jadoree couterl aradiot outelaj ournee + MUSIQUE MUSIQUE MUSIQUE MUSIQUE MUSIQU = VUVWHYI OIMBULP MLSLYIX AOLMBUN AOJVUY J.-O. Lachaud (LAMA) INFO006 57 / 183

Chiffrements polyalphabétiques II chiffrement par permutation (mélange de m lettres consécutives par une permutation/clé) chiffrement de Hill (multiplication par une matrice m m inversible dans Z 26 ) J.-O. Lachaud (LAMA) INFO006 58 / 183

Cryptanalyse et analyse des fréquences I Cryptanalyse : déterminer la clé K connaissant l algorithme texte chiffré connu (y) : écoute texte clair connu (x,y) : écoute + message connu (ex : protocole de communication) texte clair choisi (accès à la machine chiffrante émettrice) texte chiffré choisi (accès à la machine déchiffrante réceptrice) Cryptanalyse par analyse des fréquences (Al Kindi) A B C D E F G H I 08,40 01,06 03,03 04,18 17,26 01,12 01,27 0,92 07,34 J K L M N O P Q R 0,31 0,05 06,01 02,96 07,13 05,26 03,01 0,99 06,55 S T U V W X Y Z 08,08 07,07 05,74 01,32 0,04 0,45 0,30 0,12 Fig.: Fréquences des lettres en français (non accentué) lettres (fr) : E, (A, S), (I,N,T,R), LUODCPMVGFBQHXJYZKW J.-O. Lachaud (LAMA) INFO006 59 / 183

Cryptanalyse et analyse des fréquences II bigrammes (fr) : ES, (DE, LE, EN), (RE, NT, ON, ER, TE),... trigrammes (fr) : ENT, LES, (EDE, DES, QUE), AIT,... S applique aux chiffrements mono-alphabétiques Chiffre par décalage en deux trois essais Chiffre affine en quelques essais aussi. Chiffre par substitution si texte suffisamment long. On utilise aussi les bigrammes, trigrammes pour orienter la recherche. http://www.lexique.org/listes J.-O. Lachaud (LAMA) INFO006 60 / 183

Cryptanalyse du chiffre de Vigenère I KQOWE FVJPU JUUNU KGLME KJINM WUXFQ MKJBG WRLFN FGHUD WUUMB SVLPS NCMUE KQCTE SWREE KOYSS IWCTU AXYOT APXPL WPNTC GOJBG FQHTD WXIZA YGFFN SXCSE YNCTS SPNTU JNYTG GWZGR WUUNE JUUQE APYME KQHUI DUXFP GUYTS MTFFS HNUOC ZGMRU WEYTR GKMEE DCTVR ECFBD JQCUS WVBPN... [Test de Kasiski (1863)] Si m est la longueur de la clé, alors une même partie du texte à δ d intervalle est chiffrée de la même manière ssi δ 0(mod m). On cherche des paires de segments de taille suffisante ( 3) : δ 1, δ 2,... Il est probable que leur pgcd est m ou un multiple de m. On peut vérifier a posteriori cette valeur par l indice de coïncidence. J.-O. Lachaud (LAMA) INFO006 61 / 183

Cryptanalyse du chiffre de Vigenère II [Source http ://www.apprendre-en-ligne.net] J.-O. Lachaud (LAMA) INFO006 62 / 183

Cryptanalyse du chiffre de Vigenère III J.-O. Lachaud (LAMA) INFO006 63 / 183

Cryptanalyse du chiffre de Vigenère IV Souvent pour s amuser les hommes d équipage prennent des albatros, vastes oiseaux des mers, qui suivent, indolents compagnons de voyage, le navire glissant sur les gouffres amers. A peine les ont-ils déposés sur les planches que ces rois de l azur, maladroits et honteux, laissent piteusement leurs grandes ailes blanches, comme des avirons, traîner à côté d eux. Ce voyageur ailé, comme il est gauche et veule, lui naguère si beau, qu il est comique et laid. L un agace son bec avec un brûle-gueule, l autre mime en boitant l infirme qui volait. Le poète est semblable au prince des nuées, qui hante la tempête et se rit de l archer. Definition (Indice de coïncidence (Friedman 1920)) Soit x = x 1 x 2... x n une chaîne de n lettres. L indice de coïncidence de x, noté I c (x) est la probabilité que deux lettres aléatoires de x soit identique. Espace des tirages X = {{x i, x j }, i j} Card(X ) = ( ) n 2 Evénement E a : x i et x j valent la même lettre a Si le nombre d occurence de a dans x est f a, alors Card(E a ) = ( f a2 ) J.-O. Lachaud (LAMA) INFO006 64 / 183

Cryptanalyse du chiffre de Vigenère V Probabilité de E a : Pr[E a ] = {x i,x j } E a Pr[{x i, x j }] = ( f a2 ) 1 ( n 2) D où I c (x) = 25 a=0 Pr[E a] = 25 f a(f a 1) a=0 n(n 1). En utilisant les tables de fréquences, f a npr[a] fr : I c (x) = 0.074, en : I c (x) = 0.065 Si texte aléatoire uniforme : I c 26( 1 26 )2 0, 038 Invariance de I c (x) par tout chiffrement mono-alphabétique J.-O. Lachaud (LAMA) INFO006 65 / 183

Cryptanalyse du chiffre de Vigenère VI Attaque du chiffre de Vigenère Soit le texte chiffré y. Pour tout m, on forme y 1 = y 1 y m+1 y 2m+1... y 2 = y 2 y m+2 y 2m+2...... y m = y m y 2m y 3m... Si m est la longueur de la clé, alors i, 1 i m, I c (y i ) I c (langue) Sinon I c (y i ) 0, 038 Détermine la longueur de la clé J.-O. Lachaud (LAMA) INFO006 66 / 183

Cryptanalyse du chiffre de Vigenère VII Definition (Indice de coïncidence mutuel) L indice de coïncidence mutuel de deux chaînes x et x de même longueur n est I c (x, x ) = 25 a=0 fa f a n n. Clé de Vigenère à m connu Soit e i (x) = x + i mod 26 On forme M(i) = I c (e i (y), y ) y est un texte clair (fr) Si y est un texte chiffré par décalage K, alors e 26 K (y) est un texte clair (fr) L indice M(26 K) vaut à peu près I c (fr). Les autres sont inférieures Calcul de 26 K l pour chaque y l : K 1... K m est la clé de Vigenère Note historique : machines ENIGMA de la seconde guerre mondiale J.-O. Lachaud (LAMA) INFO006 67 / 183

Cryptanalyse du chiffre de Vigenère VIII Machines à 3 rotors (ou plus) Les rotors codent une substitution des lettres. A chaque frappe, le premier avance. Tous les 26, le deuxième, Tous les 676, le troisième. autres dispositifs : reflecteurs, connecteurs chiffre de Vigenère avec très longue période J.-O. Lachaud (LAMA) INFO006 68 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 69 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

Sûreté d un chiffrement I Sécurité sémantique : un attaquant ne récupère aucune information sur le texte clair à partir du texte chiffré. (attaque passive) Sécurité calculatoire : système sûr au sens de la théorie de la complexité si le meilleur algorithme pour le casser nécessite N opérations, où N est un nombre trop grand. Sécurité prouvée : la sécurité se réduit à un problème réputé difficile. Exemple : le système X est sûr si un entier n donné ne peut être factorisé. J.-O. Lachaud (LAMA) INFO006 70 / 183

Sécurité sémantique ou inconditionnelle I L éventualité texte clair choisi = x a une probabilité a priori Pr[x]. L éventualité clé choisie = K a une probabilité a priori Pr[K]. Definition (Secret parfait) La condition du secret parfait est que x P, y C, Pr[x y] = Pr[x]. Un tel cryptosystème est dit sémantiquement sûr ou de sécurité inconditionnelle. attaquant ne peut attribuer deux clairs à deux chiffrés. cryptosystème soumis à une attaque passive. Pour un message d une lettre, le chiffrement par décalage assure un secret parfait. NB : on utilise Pr[Y = y] = k:y C(k) Pr[K = k]pr[x = d k(y)], si C(K) est l ensemble des textes chiffrés par K. J.-O. Lachaud (LAMA) INFO006 71 / 183

Sécurité sémantique ou inconditionnelle II Theorem (Secret parfait) Si C = P = K, alors ce système assure un secret parfait ssi chaque clé est utilisée avec la même probabilité 1/ K et x P, y C, il existe une clé unique K telle que e K (x) = y. Definition (Chiffre de Vernam (1917) ou à masque jetable) Soit n 1 et C = P = K = (Z 2 ) n. Pour tout K K, on définit e K et d K comme le ou-exclusif de x P et K. Le Théorème 10 assure le secret parfait de ce cryptosystème, si la clé n est utilisée qu une fois et n est pas plus courte que le message. Utilisée au niveau diplomatique (téléphone rouge). J.-O. Lachaud (LAMA) INFO006 72 / 183

Cryptographie quantique I [C. Bennett, G. Brassard 1984] Cryptographie quantique = seul chiffrement inconditionnellement sûr? J.-O. Lachaud (LAMA) INFO006 73 / 183

Cryptographie quantique II Création d un masque jetable par effet quantique 1 une ligne photonique permet de véhiculer un masque jetable 2 ce masque jetable sert de clé secrète à un chiffrement symétrique 3 une ligne normale (espionnable) véhicule les informations chiffrées J.-O. Lachaud (LAMA) INFO006 74 / 183

Cryptographie quantique III bits aléatoires polarisation des photons :,,, 2 filtres seulement : + et Protocole de création du masque jetable 1 A B (photons) : émission aléatoire de 2N photons selon 4 polarités, réception avec choix aléatoire du filtre 2 B A (normal) : polarisations choisies par B 3 A B (normal) : liste des bonnes polarisations N 4 A B (normal) : sacrifice de n bits dont la valeur est donnée 5 Pr[Détection espionnage] = 1 (3/4) n 6 si pas espionné, masque jetable avec N n bits, sinon, on refait un masque NB : effectif! (e.g. SQDefender de SmartQuantum) J.-O. Lachaud (LAMA) INFO006 75 / 183

Théorie de Shannon, Entropie I X est une vad (à nombre fini n de valeurs x i ), de probabilités Pr[X = x i ] = p i. Definition (Entropie) L entropie (ou incertitude) d une vad X est H(X ) = i p i log 2 p i. Mesure l incertitude sur l issue avant une observation de X. Approche aussi le nombre de bits moyen pour coder les éléments de X. 0 H(X ) log 2 n. H(X ) = 0 ssi un seul p i vaut 1 : incertitude minimale H(X ) = log 2 n ssi i, p i = 1 n : incertitude maximale Codage de Huffman : la longueur moyenne l du codage d une chaîne à valeurs dans x i, tirée aléatoirement selon X, est entre H(X ) et H(X ) + 1. J.-O. Lachaud (LAMA) INFO006 76 / 183

Théorie de Shannon, Entropie II Definition (Entropie jointe, conditionnelle) entropie jointe : H(X, Y ) = x,y Pr[X = x, Y = y] log 2 Pr[X = x, Y = y]. H(X Y = y) = x Pr[X = x Y = y] log 2 Pr[X = x Y = y]. entropie conditionnelle : H(X Y ) = y Pr[Y = y]h(x Y = y). H(X Y ) mesure l incertitude restant sur X sachant l observation de Y H(X Y ) 0 et H(X X ) = 0 H(X, Y ) = H(X ) + H(Y X ) = H(Y ) + H(X Y ) H(X Y ) H(X ) avec égalité seulement si X et Y indépendant J.-O. Lachaud (LAMA) INFO006 77 / 183

Théorie de Shannon, Entropie III Corollary Si X est une vad sur P et Y une vad sur C, la condition du secret parfait est que H(X Y ) = H(X ). Theorem Soit un cryptosystème muni des vads X sur P, K sur K, Y sur C. H(K Y ) = H(K) + H(X ) H(Y ). On développe H(K, X, Y ) = H(Y K, X ) +H(K, X ) et } {{ } H(K, X, Y ) = H(X K, Y ) +H(K, Y ). } {{ } 0 0 J.-O. Lachaud (LAMA) INFO006 78 / 183

Entropie d une langue, clés parasites, distance d unicité I Entropie d un texte quelconque x a z 1 26 log 2 1 26 4, 70 Entropie d une lettre dans texte anglais h(p) = x a z Pr[x] log 2 Pr[x] 4, 19 lettres non indépendantes Definition (Entropie d une langue donnée) H(P Soit un langage naturel L. Son entropie est H L = lim n ) n + La redondance de L : R L = 1 H L log 2 P. n. Pour l anglais, 1 H L 1, 5, redondance 75%. Pour une langue aléatoire, redondance nulle. Definition On appelle clé parasite une clé qui déchiffre un texte chiffré y sous forme d un message compréhensible, alors que la clé utilisée était autre. J.-O. Lachaud (LAMA) INFO006 79 / 183

Entropie d une langue, clés parasites, distance d unicité II WNAJW, codé par décalage a deux clés F(5) et W(22) tels que d 22 (WNAJW ) = river et d 5 (WNAJW ) = arena : une est parasite. Theorem Le nombre moyen s n de clés parasites sur un texte chiffré de longueur n (n assez grand) vérifie s n K P nr 1. L distance d unicité n 0 : plus petite valeur de n telle que s n 0 Chiffrement par substitution : P = 26, K = 26!. Avec R L = 0, 75, n 0 88, 4/(0, 75 4, 7) 25. Chiffrement de vigenère de taille m : n 0 m/0, 75. On peut donc tenter des attaques par recherche exhaustive sur des messages de longueur n 0. Si on tombe sur un clair, c est le bon. J.-O. Lachaud (LAMA) INFO006 80 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 81 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

Système cryptographique produit I Soient deux cryptosystèmes S 1 = (P, P, K 1, E 1, D 1 ) et S 2 = (P, P, K 2, E 2, D 2 ), tels que P = C. Definition (Système cryptographique produit) Le système cryptographique produit S 1 S 2 est le cryptosystème (P, P, K 1 K 2, E, D) et chiffrement e (K1,K 2 )(x) = e K2 (e K1 )(x) déchiffrement d (K1,K 2 )(x) = d K1 (d K2 )(x) sert à fabriquer des cryptosystèmes plus complexes à partir de cryptosystèmes simples Si S S S, on le note S n (cryptosystème itéré) Si S 2 est équivalent à S, alors S idempotent. Itéré S ne complexifie pas S. J.-O. Lachaud (LAMA) INFO006 82 / 183

Système cryptographique produit II Chiffrement par décalage, par substitution, affine, Hill, Vigenère, permutation sont idempotents! Montrez que si S 1 et S 2 sont tels que S 1 S 2 est équivalent à S 2 S 1 et sont tous deux idempotents, alors S 1 S 2 est idempotent. Chiffrements par substitution et par permutation ne commutent pas : AES J.-O. Lachaud (LAMA) INFO006 83 / 183

Algorithme de chiffrement itéré par bloc I chiffrement par bloc à clé secrète K (longueur fixée) systèmes cryptographiques produits (permutation, substitution) chiffrement par N e étages successifs identiques diversification de K en N e clés (d étage) algorithme de chiffrement fixé et public w 0 x w 1 g(w 0, K 1 ) w 2 g(w 1, K 2 )... w Ne g(w Ne 1, K Ne ) déchiffrement en sens inverse, g injective J.-O. Lachaud (LAMA) INFO006 84 / 183

Algorithme de chiffrement itéré par bloc II Exemples : réseaux de substitution/permutation substitution par blocs permutation entre bits schéma de Feistel, DES (1976) AES/Rijndael (2001) IDEA (dans PGP), blocs de 64b, clé 128b (, + et modulo 2 16 + 1) J.-O. Lachaud (LAMA) INFO006 85 / 183

Data Encryption Standard (DES) I créé par IBM en 1975 pour la NSA, standard en 1976 Caractéristiques : système à clef secrète (clef de 56 bits) chiffrage itéré 16 fois par blocs (64 bits) standard communications gouvernementales non secrètes (USA) J.-O. Lachaud (LAMA) INFO006 86 / 183

Data Encryption Standard (DES) II permutation initiale étage i, (L i, R i ) = g(l i 1, R i 1, K i ) où L i = R i 1, R i = L i 1 f (R i 1, K i ) clé K diversifiée (56b) en 16 clés (48b) déchiffrement : f n a même pas besoin d être inversible! J.-O. Lachaud (LAMA) INFO006 87 / 183

Data Encryption Standard (DES) III E : Expansion de 32b à 48b on ajoute la clé d étage S j : réduction par blocs 6 bits vers 4 bits. on permute le résultat par P J.-O. Lachaud (LAMA) INFO006 88 / 183

Critiques de DES I seules les S j ne sont pas linéaires espace des clés faibles : 2 56 7, 2 10 16 attaque à texte clair par force brut 1 machine de Wiener 1993 : 5e 7 clés/s 2 DES cracker 1998 : 88e 9 clés/s, 1536 puces, 1 clé en 56h 3 DES cracker + réseau mondial (100000 machines) : 1 clé en 22h cryptanalyse différentielle (Biham, Shamir) 1 attaque à texte clair choisi 2 grand nombre de quadruplets (x, x, y, y ), avec x x = x fixé 3 fabriquer des différentiels x = x x qui maximise des différentiels y = y y 4 par S-boîte, on analyse le nombre de paires avec ou-exclusif d entrée égal à x et ou-exclusif de sortie égal à y 5 indépendant de la clé par S-boîte car K s élimine avec. 6 on choisit la paire de différentiels la plus fréquente 7 on construit une piste de différentiels en reliant les S-boîtes. J.-O. Lachaud (LAMA) INFO006 89 / 183

Critiques de DES II 8 avec beaucoup de couples, on estime quelques bits de la clé, le reste par balayage exhaustif 9 pas effectif pour DES : 2 58 paires, soit plus que l attaque exhaustive. J.-O. Lachaud (LAMA) INFO006 90 / 183

Critiques de DES III cryptanalyse linéaire (Matsui 1994) 1 attaque à texte clair choisi 2 analyse les biais entre les probabilités d avoir une sortie étant donné une entrée. 3 sur une S-boîte, observe X i1 X im Y j1 Y jn 4 si espérance 1 2, alors il y a un biais 5 trace ainsi un chemin de l entrée vers la sortie, dont les variables aléatoires ont un biais (qui dépend de la clé). 6 on chiffre beaucoup de messages, pour retrouver les bits de clé 7 effectif : 2 43 paires, 40 jours pour génération, 10 jours pour trouver K. Evolution de DES : 3DES. Surchiffrement avec deux clés K 1, K 2. y = ek1,k 2 (x) = e K1 (e K2 (e K1 (x))). y = dk1,k 2 (x) = d K1 (d K2 (d K1 (y))). efficace car DES n est pas idempotent! Nouveaux algorithmes (qualifiés de sûr ) IDEA (128bits) AES (ou Rijndael) (128, 192, 256 bits ; 10, 12 ou 14 étages) J.-O. Lachaud (LAMA) INFO006 91 / 183

Critiques de DES IV caractéristiques : taille de la clé plus grande, boîtes de substitutions obtenues par inversion dans un corps fini plus grand (8bits), mélange de colonnes pour diffuser les pistes différentielles J.-O. Lachaud (LAMA) INFO006 92 / 183

Modes opératoires I Soit K une clé secrète initiale, IV un nombre ECB electronic codebook mode simple chiffrement indépendant des blocs CBC cipher block chaining mode : y 0 = IV, y i+1 = e K (y i x i+1 ) Chiffrement à clé constante. Texte clair additionné à la sortie précédente. J.-O. Lachaud (LAMA) INFO006 93 / 183

Modes opératoires II original DES ECB DES CBC CFB cipher feedback mode : Initialisation y 0 = IV puis y i+1 = e K (y i ) x i+1 Chiffrement par addition du chiffrement de la sortie précédente. J.-O. Lachaud (LAMA) INFO006 94 / 183

Modes opératoires III OFB output feedback mode : clés successives indépendantes de l entrée, z 0 = IV, z i+1 = e K (z i ), y i = z i x i Suite de clés successives obtenue par chiffrement par clé K. Addition de ces clés au texte clair. Chiffrement du texte indépendant du chiffrement du texte précédent. J.-O. Lachaud (LAMA) INFO006 95 / 183

Modes opératoires IV Exemples d utilisation formation de Message Authentication Code (MAC). Dans un échange entre deux programmes A et B, les modes CBC ou CFB permettent d avoir une communication secrète où le chiffrement dépend non seulement d une clé secrète mais d un paramètre supplémentaire sur lequel les deux parties se sont mises d accord (un IV donné). le calcul d une empreinte MD5 ou SHA d un fichier suit le principe CBC, où l empreinte se calcule par une séquence de chiffrement par blocs de 512 bits, par addition de l empreinte du bloc précédent au texte clair suivant. J.-O. Lachaud (LAMA) INFO006 96 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 97 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

Principe des cryptosystèmes à clé publique I Alice Oscar Bob Message M (K, K ) y = e K (M) y M = d K (y) RSA, système El Gamal, Merkle Hellman J.-O. Lachaud (LAMA) INFO006 98 / 183

Principe des cryptosystèmes à clé publique II fonction à sens unique : fonction pour laquelle le problème préimage ne peut être résolu de manière efficace. Problème de la préimage Soient une fonction f : P C et y C. Trouver x P tel que f (x) = y. fonctions pas à sens unique : f (x) = a x + b mod n, f (x) = x 1 mod n fonctions à sens unique : f (x) = a x mod n (logarithme discret) Problème : difficile de déchiffrer! fonction à sens unique à trappe : la fonction à sens unique devient facile à déchiffrer avec une information secrète supplémentaire clé publique : fonction à sens unique, clé privée : la trappe de cette fonction. NB : chiffrement public attaque passive toujours possible avec texte clair choisi. J.-O. Lachaud (LAMA) INFO006 99 / 183

Chiffrement RSA I Definition (Cryptosystème RSA) Soit n = pq, p et q premiers. Soit P = C = Z n. Soit K = {(n, p, q, a, b) tq ab 1(mod φ(n))}. Pour K = (n, p, q, a, b) 1 (n, b) forment la clé publique. 2 (p, q, a) forment la clé privée. 3 chiffrement : e K (x) = x b mod n 4 déchiffrement : d K (y) = y a mod n 5 entiers premiers p et q de l ordre de 10 100 6 NB : φ(n) = (p 1)(q 1), et pgcd(a, φ(n)) = 1 7 typiquement le message x est un mot de 512 bits ( n) J.-O. Lachaud (LAMA) INFO006 100 / 183

Chiffrement RSA II Exemple Bob choisit p = 17, q = 11, n = 187, φ(n) = 160 = 2 5 5. Il prend a = 39 = 3 13, b = 119 a 1 (mod 160) car 39 119 = 4641 = 29 160 + 1. Alice Bob Kbob = (n, p, q, a, b) x = 100 e Kbob (x) = x b mod n = 100 119 mod 187 = 144 y = 144 reçu d Kbob (y) = y a mod n = 144 39 mod 187 = 100 J.-O. Lachaud (LAMA) INFO006 101 / 183

Mise en œuvre de RSA I Génération des paramètres RSA 1 Générer deux grands nombres premiers p et q. 2 n pq, et φ(n) (p 1)(q 1). 3 Choisir b aléatoire (1 < b < φ(n)) avec pgcd(b, φ(n)) = 1 4 a b 1 mod φ(n) 5 La clé publique est (n, b) et la clé privée est (p, q, a). J.-O. Lachaud (LAMA) INFO006 102 / 183

Mise en œuvre de RSA II Difficultés pratiques 1 Primalité. Trouver des grands nombres premiers ( 512bits) plus grand nombre factorisé environ 200 chiffres n 1024bits 300 chiffres 2 Calculs rapides. +,,,, pgcd, exp, inverse 3 tout algorithme linéaire en n est trop lent 4 algorithmes polynomiaux en k = log 2 n J.-O. Lachaud (LAMA) INFO006 103 / 183

Tests de primalité I Primalité ou non Factorisabilité Primalité : problème de décision Trouver une factorisation Inversement, factorisation de n résoud primalité de n Primalité par tests de n diviseurs en Ω(2 k 2 ) Crible d Eratosthène, trop lent, trop de mémoire Definition (Algorithme de Monte-Carlo positif) Algorithme probabiliste qui résout un problème de décision tel que oui est toujours correct et si non peut être incorrect avec probabilité max ɛ. J.-O. Lachaud (LAMA) INFO006 104 / 183

Tests de primalité II Test de Miller Rabin J.-O. Lachaud (LAMA) INFO006 105 / 183

Tests de primalité III Miller-Rabin : Monte-Carlo positif pour primalité avec ɛ = 1/4 probablement premier composite n premier 1 0 1 3 n composite 4 4 Algorithme peut répondre premier alors que le nombre est en fait composite a est un menteur Algorithme ne peut répondre composite si le nombre est premier Pour n composite, moins d un 1 4 des valeurs a entre 1 et n 1 sont des menteurs On appelle plusieurs fois l algorithme pour être de plus en plus sûr On calcule a : nombre n de taille donnée est composite b : l algorithme se trompe m fois en disant n premier Pr[a b] 353 353+2, pour n de 512 bits 2m+1 Probabilité de se tromper 44 fois est 2 80. J.-O. Lachaud (LAMA) INFO006 106 / 183

Tests de primalité IV Autres test : Test de Solovay-Strassen, basé sur les symboles de Legendre et Jacobi J.-O. Lachaud (LAMA) INFO006 107 / 183

Calculs rapides sur grands entiers I k = log 2 n addition, soustraction naïf. Somme bit à bit plus retenue. O(k) multiplication, division O(k 2 ) naïf. On pose k sommes bit à bit plus retenue. O(k 2 ) Karatsuba. O(k log 3 log 2 ) = O(k 1.584 ) (a 2 m +b)(c 2 m +d) = ac 2 2m +(ac +bd (a b)(c d)) 2 m +bd Toom Cook O(k (1+ɛ) ) Transformée de Fourier Rapide, Fühler, proche de O(k log k) J.-O. Lachaud (LAMA) INFO006 108 / 183

Calculs rapides sur grands entiers II pgcd O(k 3 ) Algorithme d Euclide. O(k 3 ) (en fait O(k 2 )) int pgcd(int m, int n) { while ( n!= 0 ) { int r = m mod n; m = n; n = r; } return m; } J.-O. Lachaud (LAMA) INFO006 109 / 183

Calculs rapides sur grands entiers III inverse modulo n Algorithme d Euclide étendu. O(k 3 ) (en fait O(k 2 )) Fct EuclideEtendu( a, b : entier ) { r[0] = a; r[1] = b; s[0] = 1; s[1] = 0; t[0] = 0; t[1] = 1; q = r[0] div r[1]; r[2] = r[0] - q*r[1]; i = 2; Tant que r[i] > 0 s[i] = s[i-2] - q*s[i-1]; t[i] = t[i-2] - q*t[i-1]; q = r[i-1] div r[i]; i = i+1; r[i] = r[i-2] - q*r[i-1]; Fin tant que Retourner r[i-1],s[i-1],t[i-1] // r[i-1]=pgcd(a,b) // et a*s[i-1]+b*t[i-1]=r[i-1] } pgcd(120, 23)? et 23 1 mod 120? r = s a+ t b 120 1 120 0 23 23 0 120 1 23 5 1 120-5 23 3-4 120 21 23 2 5 120-26 23 1-9 120 47 23 Montrez i, r i = as i + bt i J.-O. Lachaud (LAMA) INFO006 110 / 183

Calculs rapides sur grands entiers IV Exp. modulaire rapide de c. O(log 2 c k 2 ) c = i c i2 i alors b c = b P i c i 2 i = Π i (b 2i ) c i, ssi b c = (b) c0 (b 2 ) c1 (b 4 ) c2 (b (2k 1) ) c k 1 Fonction Exp( b, c, n : entier ) : entier r = 1; Tant que c > 0 si c & 1 > 0 r = (r*b) mod n; c = c >> 1; b = (b*b) mod n; Fin tant que retourner r; RSA peut donc être mis en œuvre efficacement. J.-O. Lachaud (LAMA) INFO006 111 / 183

Sécurité de RSA I Attaques possibles sur RSA Factorisation de n Si n factorisé en pq par Oscar, alors φ(n) se calcule immédiatement, et donc l inverse de b se calcule par Euclide étendu algorithme naïf trop lent O( n) Algorithme p 1 de Pollard et B-friabilité. Un nombre x est B-friable si ses facteurs sont inférieurs à B. Fct Fact_Pollard_p-1( n, B ) a = 2^(B!) mod n; d = pgcd( a-1, n ); Si 1<d<n alors retourner d; sinon Echec; Bien choisir ses p et q non B-friables! Algorithme ρ de Pollard O(n 1/4 ) : on cherche une collision x x tq le pgcd x x et n est différent de 1. si x x (mod p) alors p pgcd(x x, n) < n J.-O. Lachaud (LAMA) INFO006 112 / 183

Sécurité de RSA II Algorithme de Dixon x 2 y 2 (mod n) alors (x y) ou (x + y) peuvent être des facteurs de n crible quadratique O(e (1+o(1)) ln n ln ln n ) courbes elliptiques O(e (1+o(1)) 2 ln p ln ln p ) crible algébrique O(e (1,92+o(1))(ln n) 1/3 (ln ln n) 2/3 ) Attaque à { φ(n) connu n = pq Résoudre φ(n) = (p 1)(q 1) Ou p 2 (n φ(n) + 1)p + n = 0 Les deux racines sont p et q Attaque à a connu. On peut trouver p,q J.-O. Lachaud (LAMA) INFO006 113 / 183

Sécurité de RSA III Attaque de Wiener. Trouve a dès que a < n1/4 3 et q < p < 2q ab 1(mod φ(n)) t, ab tφ(n) = 1 De plus, n = pq > q 2, d où 0 < n φ(n) < 3 n D où b n t a < 3t a n Comme t < a et hypothèse 3t < 3a < n 1/4, b n t a < 1 Et donc t/a est une réduite du dvp en fraction continue de b/n. Moralité Choisir n grand 2 1024 Choisir p et q, ni trop proches, ni trop éloignés < 1 an 1/4 3a 2 Rejeter les p et q tels que p 1 et q 1 ont des petits facteurs Choisir a pas trop petit devant n J.-O. Lachaud (LAMA) INFO006 114 / 183

OAEP Système à clé publique sûr I Definition OAEP / Optimal Asymmetric Encryption Padding [Bellare, Rogaway 94] standard OAEP / IEEE P1363 P = C = {0, 1} m, k 0 = k m f un chiffrement publique sur {0, 1} k, f 1 son déchiffrement privé. G : {0, 1} k 0 {0, 1} m et H : {0, 1} m {0, 1} k 0 clé K = (f, f 1, G, H), r aléatoire sur {0, 1} k 0 e K (x) = f (x G(r) r H(x G(r))) f 1 (y) = x 1 x 2, avec x 1 {0, 1} m, x 2 {0, 1} k 0 puis r = x 2 H(x 1 ) et d K (y) = G(r) x 1 fonctions aléatoires Lorsque f et f 1 sont le chiffrement RSA, on parle de RSA-OAEP. Chaque clair a 2 k 0 chiffrement distincts. J.-O. Lachaud (LAMA) INFO006 115 / 183

OAEP Système à clé publique sûr II Theorem RSA-OAEP est sémantiquement sûr ssi les fonctions aléatoires G et H sont des oracles aléatoires. G est un oracle aléatoire si le fait d avoir fait déjà N calculs de G n augmente pas la probabilité Pr[G(x) = y] pour tout x non déjà calculé et y. OAEP : prétraitement à RSA peu coûteux : de l ordre de 128 bits supplémentaires G et H sont par exemple SHA-1 théoriquement beaucoup plus sûr car r induit un bruit considérable J.-O. Lachaud (LAMA) INFO006 116 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 117 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

Fonction de hachage et intégrité I 1 Fonction de hachage h simple donnée x stockée/transmise dans/par un endroit peu sûr fonction h transformant x en un nombre court y (empreinte, condensé, digest) y stocké/transmis dans/par un endroit sûr intégrité : comparaison h(x) = y? 2 famille de fonction de hachage h K paramétrée par clé secrète K donnée x et y = h K (x) stockée/transmise dans/par un endroit peu sûr intégrité : comparaison hk (x) = y? code d authentification de message ou MAC authentifie aussi l émetteur fonction de hachage h = famille à une seule clé possible J.-O. Lachaud (LAMA) INFO006 118 / 183

Sécurité des fonctions de hachage I Soient une fonction h : P C. M = C Trois problèmes doivent être difficiles à résoudre Problème de la préimage Soit y C. Trouver x P tel que h(x) = y. Problème de la seconde préimage Soit x P. Trouver x P tel que x x et h(x ) = h(x). Problème de la collision Trouver x, x P tel que x x et h(x ) = h(x). Definition (Oracle aléatoire / hachage idéal) Le fait d avoir fait déjà N calculs de h n augmente pas la probabilité Pr[h(x) = y] = 1/M pour tout x non déjà calculé et y. J.-O. Lachaud (LAMA) INFO006 119 / 183

Sécurité des fonctions de hachage II Algorithme PreImage sur h : X Y Fonction Trouver_PreImage(h,y,q) Choisir un X0 sous-ensemble de X, X0 =q Pour tout x dans X0 Faire Si h(x)==y alors retourner x; retourner Echec En moyenne, Pr[Succès] = 1 (1 1/M) q Algorithme 2ndPreImage Fonction 2ndPreImage(h,x,q) y=h(x) Choisir un X0 sous-ensemble de X, X0 =q-1 Pour tout x dans X0 Faire Si h(x)==y alors retourner x; retourner Echec J.-O. Lachaud (LAMA) INFO006 120 / 183

Sécurité des fonctions de hachage III En moyenne, Pr[Succès] = 1 (1 1/M) q 1 Algorithme Collision Fonction Collision(h,q) Choisir un X0 sous-ensemble de X, X0 =q Pour tout x dans X0 Faire y_x = h(x) Si y_x == y_x pour x!= x alors retourner (x,x ) retourner Echec En moyenne, Pr[Succès] = 1 ( M 1 M )( M 2 M )... ( M q+1 M ) Nb : Paradoxe des anniversaires. Pour ɛ = 0.5, q 1.17 M Borne minimale sur la taille minimale de l empreinte. Il faut observer M J.-O. Lachaud (LAMA) INFO006 121 / 183

Construction de Merkle-Damgård I MD5, SHA-0, SHA-1, SHAx,..., RIPEMD Fonction de hachage itérée, avec zip : {0, 1} m+t {0, 1} m 1 Soit x, x > m + t + 1. On construit y tq y 0(mod t) y = y 1 y 2 y r y souvent construit par bourrage de x : y = x pad(x) 2 Soit IV public de longueur m z 0 IV z 1 zip(z 0 y 1 ) z 2 zip(z 1 y 2 )... z r zip(z r 1 y r ). 3 Parfois g : {0, 1} m {0, 1} l publique, alors h(x) = g(z r ) J.-O. Lachaud (LAMA) INFO006 122 / 183

Construction de Merkle-Damgård II Construction de Merkle-Damgård 1 On divise x en k blocs de t 1, le dernier complété par des 0. On rajoute un bloc donnant le nombre de zero rajouté. 2 z 1 zip(0 m+1 y 1 ) 3 Pour i de 1 à k, z i+1 zip(z i 1 y i+1 ) 4 Retourner h(x) = z k+1 Theorem si zip résistante aux collisions, t 2 alors h est résistante aux collisions. Conclusion Il suffit donc de définir une fonction de compression de {0, 1} m+t {0, 1} m résistante aux collisions pour avoir une fonction de hachage résistante aux collisions. J.-O. Lachaud (LAMA) INFO006 123 / 183

Un exemple : SHA-1 I Empreinte ou condensat de 160 bits Bourrage SHA : message M découpé en blocs de 512 bits M 1... M k 1 M k 10 0 l(m) Compression 512 bits vers 160 bits 16 mots de M i W t = ROTL1(W t 3 W t 8 W t 14 W t 16 ) W 0 W 15 W 16 W 79 80 itérations du calcul Les fonctions Ft (B, C, D) sont de la forme 0 t 19 (B C) (( B) D) 20 t 39 B C D 40 t 59 (B C) (B D) (C D) 60 t 79 B C D J.-O. Lachaud (LAMA) INFO006 124 / 183 Ki constantes

Un exemple : SHA-1 II chaque condensat de bloc est l initialisation du bloc suivant J.-O. Lachaud (LAMA) INFO006 125 / 183

Hachage et génération aléatoire I bonnes fonctions de hachage = bons générateurs aléatoires $$> let x=0; \ while test $x -le 9; do \ echo $x sha1; let x=x+1; \ done 09d2af8dd22201dd8d48e5dcfcaed281ff9422c7 e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e 7448d8798a4380162d4b56f9b452e2f6f9e24e7a a3db5c13ff90a36963278c6a39e4ee3c22e2a436 9c6b057a2b9d96a4067a749ee3b3b0158d390cf1 5d9474c0309b7ca09a182d888f73b37a8fe1362c ccf271b7830882da1791852baeca1737fcbe4b90 d3964f9dad9f60363c81b688324d95b4ec7c8038 136571b41aa14adc10c5f3c987d43c02c8f5d498 J.-O. Lachaud (LAMA) INFO006 126 / 183

Hachage et génération aléatoire II $> let x=1; let y=0; \ while test $x -le 10; do \ y= echo $y sha1 ; echo $y; let x=x+1; \ done 09d2af8dd22201dd8d48e5dcfcaed281ff9422c7 00f7c7d8a69f4228724ce25e4993aa87b789433b 1e4dab666517568b861e1ebd3749405916e48506 46f4d6c2a816fb7dc6a7686dbb3d7f1f27ee5d12 1d9c4099519d4feea51d97bc33a265be5c41f1a7 7d5c9566dd41309b057f4dee18dbe65942eb2ef3 3aa4393fd13818fa130441b16303ed6ab6dbd94d f9057849c84eadd1e33b80b73b8461c8ec017434 b052986d891ae86a7606f5cf195b03961b1411c8 bb5ab12bf139a43f44ec2f1a1c679a11fb34cd46 les fonctions de hachage se conduisent statistiquement comme des générateurs aléatoires J.-O. Lachaud (LAMA) INFO006 127 / 183

Schémas de signature I Signature numérique signature conventionnelle pas de lien physique message/signature collage vérification beaucoup plus sûre un document électronique signé = copies signées dater les documents/signatures Objectifs : authentification, non-répudiation, intégrité Definition (Schéma de signature) 2 Familles de fonctions paramétrées par une clé K signer sigk (privé) : S sig K (M) où M est un message ou un défi vérifier verk (public) : ver K : (M, S) {vrai, faux} Il faut non-répudiation : s assurer qu il est difficile de forger une fausse signature sur un document (image et préimage) J.-O. Lachaud (LAMA) INFO006 128 / 183

Schémas de signature II non-répudiation : vérifier qu on ne peut créer deux documents ayant même signature valide (collision) intégrité : vérifier qu on ne peut falsifier les données signées (seconde préimage) authentification : s assurer que personne numérique et personne physique sont les mêmes (certificats) J.-O. Lachaud (LAMA) INFO006 129 / 183

Quelques schémas de signature I Signature RSA 1 Alice signe M, sa clé K = (n, p, q, a, b) 2 signer S = sig K (M) = d K (M) = M a mod n 3 Bob vérifie que S est la signature de M avec clé publique d Alice 4 vérifier ver K (M, S) = (e K (S) == M) = ((S b mod n) == M) Défauts 1 Tout le monde peut forger une signature d Alice! 2 Signature déterministe favorise les collisions J.-O. Lachaud (LAMA) INFO006 130 / 183

Quelques schémas de signature II Signature ElGamal 1 Alice signe M, sa clé K = (p, α, β, a), β α a (mod p) 2 Alice tire k au hasard dans Z p 1 3 signer S = sig K (M, k) = (γ, δ), avec γ = α k mod p, δ = (M aγ)k 1 mod (p 1) 4 Bob vérifie que S = (γ, δ) est la signature de M avec clé publique d Alice 5 vérifier ver K (M, (γ, δ)) = (β γ γ δ α M (mod p)). Défauts 1 On peut fabriquer de faux couples (message, fausse signature) 2 l entier aléatoire ne doit pas être révélé 3 l entier aléatoire ne doit pas être utilisé plusieurs fois Néanmoins pas d attaque à message choisi J.-O. Lachaud (LAMA) INFO006 131 / 183

Quelques schémas de signature III Principes généraux de signature On ne signe qu une empreinte car signature longue en temps et mémoire et rend difficile la forge de signature Toujours signer avant le chiffrement Mélange intégrité, et non-répudiation, J.-O. Lachaud (LAMA) INFO006 132 / 183

Quelques schémas de signature IV Communication d un message chiffré sous gpg J.-O. Lachaud (LAMA) INFO006 133 / 183

Quelques schémas de signature V Communication d un message chiffré et signé sous gpg J.-O. Lachaud (LAMA) INFO006 134 / 183

5 Bibliographie J.-O. Lachaud (LAMA) INFO006 135 / 183 Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie Définitions et objectifs Cryptographie historique Sûreté d un chiffrement, Théorie de Shannon, secret parfait Cryptosystèmes à clé secrète partagée Cryptosystèmes à clé publique Hachages et schémas de signatures Certificats, gestion des clés 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie

Certificats et authentification I S assurer que personne physique et numérique sont les mêmes Principe : infrastructure de gestion de clés (IGC, PKI) qui stockent les clés publiques garantissent la conformité clé/personne gère la durée de vie de la clé, sa révocation autorité de certification : signe les demandes de certificats et les révocations autorité d enregistrement : génère certificats, vérifie identité/unicité autorité de dépôt : stocke les certificats et les listes de révocations certificats X509, PGP/OpenPGP/GnuPG AC : Thawte, Certinomis, Baltimore, Certplus, Entrust.net, Verisign, GlobalSign, Cybertrust J.-O. Lachaud (LAMA) INFO006 136 / 183

Certificats et authentification II Structure d un certificat * Version * Numéro de série * Algorithme de signature du certificat * Signataire du certificat * Validité (dates limite) o Pas avant o Pas après * Détenteur du certificat * Informations sur la clé publique o Algorithme de la clé publique o Clé publique * Identifiant unique du signataire (Facultatif) * Identifiant unique du détenteur du certificat (Facultatif) * Extensions (Facultatif) J.-O. Lachaud (LAMA) INFO006 137 / 183

Cas d étude : GnuPG I PGP [Zimmermann 1991], OpenPGP (RFC4880) Implémentation Gnu Privacy Guard (GnuPG) Chiffrement symétrique/asymétrique Signatures Certificats, Certification par réseau social S associe bien avec toute application de messagerie (e.g. thunderbird) J.-O. Lachaud (LAMA) INFO006 138 / 183

Cas d étude : GnuPG II 1 Informations sur gpg $ gpg version... Home: ~/.gnupg Algorithmes supportés: Clé publique: RSA, RSA-E, RSA-S, ELG-E, DSA Chiffrement: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH Hachage: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 Compression: Non-compressé, ZIP, ZLIB, BZIP2 J.-O. Lachaud (LAMA) INFO006 139 / 183

Cas d étude : GnuPG III 2 Créer sa clé publique $ gpg gen-key... Sélectionnez le type de clé désiré: (1) DSA et Elgamal (par défaut) (2) DSA (signature seule) (5) RSA (signature seule) Votre choix? 1 La paire de clés DSA fera 1024 bits. les clés ELG-E peuvent faire entre 1024 et 4096 bits de longueur.... Vous avez besoin d un nom d utilisateur pour identifier votre clé; le programme le construit à partir du nom réel, d un commentaire et d une adresse e-mail de cette manière: Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de> Nom réel : Jean Bon Adresse e-mail : jbon@pain.net Commentaire : Comme du bon pain J.-O. Lachaud (LAMA) INFO006 140 / 183

Cas d étude : GnuPG IV Vous avez sélectionné ce nom d utilisateur: "Jean Bon (Comme du bon pain) <jbon@pain.net>" Un grand nombre d octets aléatoires doit être généré.... gpg: clé AAF48B9E marquée comme ayant une confiance ultime. les clés publique et secrète ont été créées et signées. gpg: la prochaine vérification de la base de confiance aura lieu le 2013-02-04 gpg: vérifier la base de confiance gpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèle de confiance PGP gpg: profondeur: 0 valide: 2 signé: 0 confiance: 0-. 0g. 0n. 0m. 0f. 2u pub 1024D/AAF48B9E 2008-02-06 Empreinte de la clé = 8B59 5F66 F3E0 28F3 15FF 20DF 10BC 6865 AAF4 8B9E uid Jean Bon (Comme du bon pain) <jbon@pain.net> sub 2048g/85B0C9A7 2008-02-06 clé publique de Jean Bon (8 derniers octets) : AAF48B9E 3 Voir les clés que l on connait $ gpg list-keys J.-O. Lachaud (LAMA) INFO006 141 / 183

Cas d étude : GnuPG V /home/lachaud/.gnupg/pubring.gpg -------------------------------- pub 1024D/C294834D 2008-02-06 [expire: 2013-02-04] uid Jacques-Olivier Lachaud <jacques-olivier.lachaud@univ-sav sub 2048g/31BC7EF2 2008-02-06 [expire: 2013-02-04] pub 1024D/FE3AAF25 2007-03-15 [expire: 2008-10-07] uid David Coeurjolly <david.coeurjolly@liris.cnrs.fr> sub 2048g/DF839ABF 2007-03-15 [expire: 2008-03-19]... pub 1024D/AAF48B9E 2008-02-06 uid Jean Bon (Comme du bon pain) <jbon@pain.net> sub 2048g/85B0C9A7 2008-02-06 4 Créer un certificat de révocation $ gpg gen-revoke bon J.-O. Lachaud (LAMA) INFO006 142 / 183

Cas d étude : GnuPG VI sec 1024D/AAF48B9E 2008-02-06 Jean Bon (Comme du bon pain) <jbon@pain.net> Générer un certificat de révocation pour cette clé? (o/n) o choisissez la cause de la révocation: 0 = Aucune raison spécifiée 1 = La clé a été compromise... Vous avez besoin d une phrase de passe pour déverrouiller la clé secrète pour l utilisateur: Jean Bon (Comme du bon pain) <jbon@pain.net> *************** clé de 1024 bits DSA, ID AAF48B9E, créée le 2008-02-06 sortie avec armure ASCII forcée. Certificat de révocation créé. Déplacez-le dans un support que vous pouvez cacher ; si Mallory a accès à ce certificat il peut l utiliser pour rendre votre clé inutilisable. Une bonne idée consiste à imprimer ce certificat puis à le stocker ailleurs, au cas où le support devient illisible. Mais attention : le système d impression de votre machine pourrait stocker ces données et les rendre accessibles à d autres personnes! J.-O. Lachaud (LAMA) INFO006 143 / 183

Cas d étude : GnuPG VII -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: A revocation certificate should follow ifseibecabsfakeq4miuhqjnb3qgzgugcgfzc2ugcgvyzhuacgkqelxozar0i548 FwCgoHbQzsn9/CKYcbJPe9ooWvCnoGEAnjrXsgyUQQsAW2d7oupgr7VQ63VG =utf/ -----END PGP PUBLIC KEY BLOCK----- J.-O. Lachaud (LAMA) INFO006 144 / 183

Cas d étude : GnuPG VIII 5 S enregistrer auprès d un serveur de clés $ gpg keyserver pool.sks-keyservers.net send-keys AAF48B9E gpg: envoi de la clé AAF48B9E au serveur hkp pool.sks-keyservers.net 6 Quelques public key servers J.-O. Lachaud (LAMA) INFO006 145 / 183

Cas d étude : GnuPG IX pool.sks-keyservers.net pgp.mit.edu pgp.nic.ad.jp keyserver.veridis.com pgp.uni-mainz.de J.-O. Lachaud (LAMA) INFO006 146 / 183

Cas d étude : GnuPG X 7 Chercher une clé sur un serveur $ gpg keyserver pool.sks-keyservers.net search-keys sarkozy (1) Csongor Sarkozy <szivar@idea.co.hu> 1024 bit DSA key C3507937, créé: 1999-10-10 Keys 1-1 of 1 for "sarkozy". Entrez le(s) nombre(s), S)uivant, ou Q)uitter > gpg: requête de la clé C3507937 du serveur hkp pool.sks-keyservers.net gpg: clé C3507937: clé publique «Csongor Sarkozy <szivar@idea.co.hu>» import gpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèle de confiance PGP gpg: profondeur: 0 valide: 1 signé: 0 confiance: 0-. 0g. 0n. 0m. 0f. 1u gpg: la prochaine vérification de la base de confiance aura lieu le 2013-02-04 gpg: Quantité totale traitée: 1 gpg: importée: 1 J.-O. Lachaud (LAMA) INFO006 147 / 183

Cas d étude : GnuPG XI 8 Chiffrer un message $ gpg -a encrypt -r bon message.txt $ cat message.txt.asc -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.6 (GNU/Linux) hqioa+dxu5+fsmmneaf/zdpovmvlsftci578owwz+uxxextbyqxmbdbzdob7b+8p MWAMC6S1GYBfiwagch+GFCtZQwiBkUT4USJ8mV1XB4ScuCWJAsmoP1wV+p07j7n/ 3WaiHglmWZKb0cPJe9zPP+XFDsWX8KNafuBtlUq3KRVb68giohlDDbb3yT/+JYQG 7Lq1k71czSlebKrtk1Hf5vw/mpCEN3Ig/JR8jGlHcGaR3n/RHLykvs8s0dSiyOa9 TfZ1snn3LQFWGauRm3Ylbw6dp9NPXTVpJHxCNZzFzTEllXKuwqP8iSvP7XCIaJzI ZXdJl36GL+iEPPOgzl2LqIrCVeLrRLVRTiQ6/JVBOwf/TxSV+ZrUlw+7fXGIAPb8 8eqleP4OLDZ+9NG2jaSZDyQxuycg4aOlvsFWP4mraIHD0TItulLkz+171hl96I6X rk4ezojdpsln13dqjf2+pp7dti/hylxgofolimqi7mn524jxa+g/bccwcy08fb+p lf8lieyzvhrpwec8b31cb2mkqa6w10+cbuaetugj3h3tx0vuw0w20d45qkcfy06r CBd8+oBBYMvw6Lmr3u9iNd46pC5ESHKv7jPn92Th9/ML2EEz3UV8gjtKUMlOCgD3 Cbk7vhmORxtsPX8Zc52zSa7D3Ma93PObb1a04YdP6JuR60/8/dcTgwXs6bbh6X4P unj7ay8xk2nu8t1sbdkbqryfj7prl/ulg6q7th6y6kxgkahtesfgq+wzurwgwsah 2I/IRgDBQ0lR8hxKUUGsE876RLfgfb6eQOdMr87G8pCIZPo9cZJKZ5D7K8J4IMlx KwVAg3rG+Ih4qZ+RfReh7jupcgvOkouRwot+lSau =Q3L9 -----END PGP MESSAGE----- J.-O. Lachaud (LAMA) INFO006 148 / 183

Cas d étude : GnuPG XII J.-O. Lachaud (LAMA) INFO006 149 / 183

Cas d étude : GnuPG XIII 9 Déchiffrer un message $ gpg message.txt.asc Vous avez besoin d une phrase de passe pour déverrouiller la clé secrète pour l utilisateur: Jean Bon (Comme du bon pain) <jbon@pain.net> clé de 2048 bits ELG-E, ID 85B0C9A7, créée le 2008-02-06 (ID clé principale AA gpg: chiffré avec une clé de 2048 bits ELG-E, ID 85B0C9A7, créée le 2008-02-06 Jean Bon (Comme du bon pain) <jbon@pain.net> ***************** $ cat message.txt Ceci est mon message. --JOL J.-O. Lachaud (LAMA) INFO006 150 / 183

Cas d étude : GnuPG XIV 10 Signer le message message.txt $ gpg -a detach-sign -u bon message.txt Vous avez besoin d une phrase de passe pour déverrouiller la clé secrète pour l utilisateur: Jean Bon (Comme du bon pain) <jbon@pain.net> clé de 1024 bits DSA, ID AAF48B9E, créée le 2008-02-06 ***************** $ cat message.txt.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) id8dbqbhqy2telxozar0i54rasc3akcygjvmsohw/lz4wjqd2j/mrpirtacdhe69 EMjIUL4ZYw47NfkXVkADqlw= =KJCN -----END PGP SIGNATURE----- J.-O. Lachaud (LAMA) INFO006 151 / 183

Cas d étude : GnuPG XV 11 Vérifier que message.txt.asc est bien la signature de message.txt $ gpg verify message.txt.asc message.txt gpg: Signature faite le jeu 07 fév 2008 17:10:59 CET avec la clé DSA ID AAF48B gpg: Bonne signature de Jean Bon (Comme du bon pain) <jbon@pain.net> $ gpg verify message.txt.asc message2.txt gpg: Signature faite le jeu 07 fév 2008 17:10:59 CET avec la clé DSA ID AAF48B gpg: MAUVAISE signature de Jean Bon (Comme du bon pain) <jbon@pain.net> J.-O. Lachaud (LAMA) INFO006 152 / 183

Cas d étude : GnuPG XVI 12 Chiffrer pour lachaud et signer par Bon le message message.txt $ gpg -a sign -u bon encrypt -r lachaud message.txt Vous avez besoin d une phrase de passe pour déverrouiller la clé secrète pour l utilisateur: Jean Bon (Comme du bon pain) <jbon@pain.net> clé de 1024 bits DSA, ID AAF48B9E, créée le 2008-02-06 ***************** On note que Jean Bon ne peut pas déchiffrer son propre message, et que seul JO Lachaud peut le faire : $ gpg message.txt.asc Vous avez besoin d une phrase de passe pour déverrouiller la clé secrète pour l utilisateur: Jacques-Olivier Lachaud <jacques-olivier.lacha clé de 2048 bits ELG-E, ID 31BC7EF2, créée le 2008-02-06 (ID clé principale C2 ***************** gpg: chiffré avec une clé de 2048 bits ELG-E, ID 31BC7EF2, créée le 2008-02-06 Jacques-Olivier Lachaud <jacques-olivier.lachaud@univ-savoie.fr> gpg: Signature faite le jeu 07 fév 2008 17:41:24 CET avec la clé DSA ID AAF48B gpg: Bonne signature de Jean Bon (Comme du bon pain) <jbon@pain.net> J.-O. Lachaud (LAMA) INFO006 153 / 183

Cas d étude : GnuPG XVII 13 Lorsque votre clé ne sert plus, on la révoque en utilisant le certificat de révocation $ gpg import -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: A revocation certificate should follow ifseibecabsfakeq4miuhqjnb3qgzgugcgfzc2ugcgvyzhuacgkqelxozar0i548 FwCgoHbQzsn9/CKYcbJPe9ooWvCnoGEAnjrXsgyUQQsAW2d7oupgr7VQ63VG =utf/ -----END PGP PUBLIC KEY BLOCK----- gpg: clé AAF48B9E: Jean Bon (Comme du bon pain) <jbon@pain.net> certificat de révocation importé $ gpg list-keys... pub 1024D/AAF48B9E 2008-02-06 [revoqué: 2008-02-07] uid Jean Bon (Comme du bon pain) <jbon@pain.net> J.-O. Lachaud (LAMA) INFO006 154 / 183

Cas d étude : GnuPG XVIII $ gpg keyserver pool.sks-keyservers.net send-keys AAF48B9E gpg: envoi de la clé AAF48B9E au serveur hkp pool.sks-keyservers.net $ gpg delete-secret-keys bon $ gpg delete-keys bon J.-O. Lachaud (LAMA) INFO006 155 / 183

Cas d étude : GnuPG XIX J.-O. Lachaud (LAMA) INFO006 156 / 183

Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 157 / 183

Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie Arithmétiques modulo Théorème de Fermat ; Algorithme(s) d Euclide Probabilités discrètes 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 158 / 183

Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie Arithmétiques modulo Théorème de Fermat ; Algorithme(s) d Euclide Probabilités discrètes 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 159 / 183

Congruence, anneau Z m I Definition (Congruence, module) Si a, b et m sont des entiers, m > 0, on écrit a b(mod m) si m divise b a (noté m (b a)). C est une relation d équivalence appelée congruence modulo m. L entier m est appelé module. Si on divise a et b par m, on obtient des quotients et des restes. On vérifie que a et b sont congrus ssi leurs restes sont égaux. Leurs restes sont entre 0 et m 1. Le reste de la division de a par m sera noté a mod m. Montrer que la congruence est une relation d équivalence Montrer que les 4 définitions ci-dessous sont équivalentes : 1 la différence a b est divisible par m ; 2 le reste de la division euclidienne de a par m est égal à celui de la division de b par m, ie a mod m = b mod m 3 il existe un entier k tel que a b = km, 4 a b nz, l idéal de tous les entiers divisibles par n. J.-O. Lachaud (LAMA) INFO006 160 / 183

Congruence, anneau Z m II Montrer que 101 3(mod 7) La congruence modulo n étant une relation d équivalence sur l ensemble des entiers, on peut donc diviser cet ensemble en classes d équivalences. La classe d équivalence de l entier a est l ensemble des entiers a tels que a a (mod m). On la note [a] m, ou a + mz, ou encore, tout simplement, ȧ quand on sait de quel m on parle. L ensemble quotient de Z par la congruence modulo m est l ensemble {[a] m a Z}, noté encore Z/mZ ou Z m. Definition (Anneau commutatif Z m, m > 0) On définit une addition et une multiplication sur Z m ainsi [a] m + [b] m = [a + b] m [a] m [b] m = [a b] m On obtient ainsi les propriétés d un anneau commutatif : addition interne, commutative, associative, 0 neutre pour +, opposé de a est m a, J.-O. Lachaud (LAMA) INFO006 161 / 183

Congruence, anneau Z m III multiplication interne, commutative, associative, 1 neutre pour, distributivité de sur +. On peut faire des soustractions par addition d opposé Exemple : [8] 12 [3] 12 + [6] 12 = [6] 12 Calculer ab mod 26, pour b = 2, 3, 4, 5,... et a quelconque entre 0 et 25. Quand est-ce que tous les entiers de Z 26 sont générés? Vérifier que (a mod m)(b mod m) ab(mod m). En déduire que (a mod m) n a n (mod m). J.-O. Lachaud (LAMA) INFO006 162 / 183

Inverse dans Zm, corps Zp avec p premier I Theorem L équation ax b(mod m) admet une solution unique x Zm pour tout b Zm ssi pgcd(a, m) = 1. Soit a Zm. Un inverse de a est un élément a 1 Z m tel que aa 1 a 1 a 1(mod m). Exercices : S il existe, cet inverse est unique. D après le théorème précédent, a admet un inverse modulo m ssi pgcd(a, m) = 1. Vérifier que pour m premier, Z m est alors un corps. J.-O. Lachaud (LAMA) INFO006 163 / 183

Inverse dans Zm, corps Zp avec p premier II Definition (fonction indicatrice d Euler φ) Soient des entiers a 1 et m 2. Si pgcd(a, m) = 1, on dit que a et m sont premiers entre eux. Le nombre des entiers de Z m qui sont premiers avec m est noté φ(m), et φ est la fonction indicatrice d Euler. Fig.: 1000 premières valeurs de φ. J.-O. Lachaud (LAMA) INFO006 164 / 183

Inverse dans Zm, corps Zp avec p premier III On rappelle que tout nombre m > 1 se factorise de manière unique en produits de puissances de nombres premiers [Théorème fondamental de l arithmétique] (e.g. 98 = 2 7 2 ). Theorem Si m = Π n i=1 pe i i, où les p i sont premiers distincts. Alors φ(m) = Π n i=1(p e i i p e i 1 i ). Démonstration. On utilise le fait que si u et v sont premiers entre eux et strictements positifs, alors φ(uv) = φ(u)φ(v). On montre ensuite par récurrence sur m que φ(m) = Π n i=1 φ(pe i i ), en utilisant le caractère multiplicatif de φ. Puis φ(p e i i ) = p e i i p e i 1 i, car les entiers 1 p i, 2 p i,..., p e i 1 i p i sont les seuls entiers non premiers avec p e i i, ce qui conclut. Exercices : J.-O. Lachaud (LAMA) INFO006 165 / 183

Inverse dans Zm, corps Zp avec p premier IV φ(40) = φ(5 2 3 ) = (5 1)(2 3 2 2 ) = 16 = 40(1 1/5)(1 1/2) = 160/10. Si m premier, que vaut φ(m)? Montrez que φ(m) = mπ n i=1 (1 1 p i ). J.-O. Lachaud (LAMA) INFO006 166 / 183

Quelques propriétés asymptotiques de primalité I il y a une infinité de nombres premiers. Soit π(n) le nombre de nombres premiers inférieurs à n. n 5, φ(n) n 6 ln ln n lim n + π(n) n/ ln n = 1. J.-O. Lachaud (LAMA) INFO006 167 / 183

Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie Arithmétiques modulo Théorème de Fermat ; Algorithme(s) d Euclide Probabilités discrètes 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 168 / 183

Théorème de Fermat et autres Z n : Ensemble des résidus modulo n premiers avec n. ( Z n = φ(n)) Z 5 = {1, 2, 3, 4}, Z 6 = {1, 5} L ordre d un élément g dans un groupe multiplicatif est le plus petit m > 0 tel que g m = 1. Theorem (Lagrange) Si G est un groupe multiplicatif à n éléments et si g G, alors l ordre de g divise n. Corollary (Petit théorème de Fermat) Si a Z et p premier, alors a p a(mod p). Corollary (Euler) Si b Z n, alors b φ(n) 1(mod n). Exemples : 4 6 mod 7 = 1, 3 6 mod 7 = 1, 5 2 mod 6 = 1, etc J.-O. Lachaud (LAMA) INFO006 169 / 183

Calcul du pgcd Algorithme d Euclide de calcul du pgcd INPUT: a, b dans Z, a >= b >= 0 OUTPUT: pgcd(a,b) 1. Tant que b!= 0 faire 1.1 r := a mod b, a := b, b := r 2. Retourner a Complexité : O((log n) 3 ) opérations de bits. (analyse précise : O((log n) 2 )) J.-O. Lachaud (LAMA) INFO006 170 / 183

Algorithme d Euclide étendu Algorithme d Euclide étendu INPUT: a, b dans Z, a >= b >= 0 OUTPUT: d = pgcd(a,b), x et y tq a*x+b*y=d. 1. Si b = 0 alors 1.1 d := a, x := 1, y := 0. 1.2 retourner (d,x,y) 2. x2 := 1, x1 := 0, y2 := 0, y1 := 1. 3. Tant que b > 0, faire 3.1 q := a div b, r := a - q*b. 3.2 x := x2 - q*x1, y := y2 - q*y1. 3.3 a := b, b := r. 3.4 x2 := x1, x1 := x, y2 := y1, y1 := y. 4. d := a, x := x2, y := y2. 5. retourner (d, x, y ); Complexité : O((log n) 2 ) opérations de bits Montrez qu à tout passage de 3.4, on a r = a 0 x + b 0 y. (point fixe de J.-O. Lachaud (LAMA) INFO006 171 / 183

Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie Arithmétiques modulo Théorème de Fermat ; Algorithme(s) d Euclide Probabilités discrètes 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 172 / 183

Expérience, probabilité I expérience : procédure qui a une issue (événement simple s 1, s 2,... ) parmi un ensemble d issues possibles (univers S) distribution de probabilités P sur S : suite de nombres positifs p i associée à chaque s i, de somme 1. p i est la probabilité que l événement s i soit l issue de l expérimentation. Definition (Evénement) événement E : sous-ensemble de S. La probabilité de E est la somme des probabilités de chaque événement élémentaire de E, i.e. Pr[E] = s i E p i. O Pr[E] 1. Pr[S] = 1 et Pr[ ] = 0. Pr[E] = 1 Pr[E]. Si les p i sont identiques, Pr[E] = E S. Pr[E 1 E 2 ] est la probabilité mutuelle de E 1 et E 2. Deux événements sont mutuellement exclusifs ssi Pr[E 1 E 2 ] = 0 J.-O. Lachaud (LAMA) INFO006 173 / 183

Expérience, probabilité II si E 1 E 2 alors Pr[E 1 ] Pr[E 2 ] Pr[E 1 E 2 ] + Pr[E 1 E 2 ] = Pr[E 1 ] + Pr[E 2 ]. Montrez que l événement deux jets de pièces donnent un pile et un face a une probabilité 1/2. Montrez que l événement la somme de deux jets de dés vaut 3 a une probabilité 1/12. On utilisera une expérience définie sur {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6}. En déduire que la somme d une paire de dés est une expérience. Quelle est sa distribution de probabilités? J.-O. Lachaud (LAMA) INFO006 174 / 183

Expérience, probabilité III Definition (Probabilité conditionnelle) Si E 1 et E 2 sont deux événements, Pr[E 2 ] > 0. La probabilité conditionnelle de E 1 étant donné E 2 est Pr[E 1 E 2 ] = Pr[E 1 E 2 ]. Pr[E 2 ] Cela mesure la probabilité que E 1 se réalise, sachant que E 2 s est réalisé. Les événements E 1 et E 2 sont indépendants ssi Pr[E 1 E 2 ] = Pr[E 1 ]Pr[E 2 ]. Theorem (Théorème de Bayes) Soient E 1 et E 2 deux événements. Si Pr[E 2 ] > 0, on a Pr[E 1 E 2 ] = Pr[E 1]Pr[E 2 E 1 ] Pr[E 2 ]. En déduire que E 1 et E 2 sont indépendants ssi Pr[E 1 E 2 ] = Pr[E 1 ]. J.-O. Lachaud (LAMA) INFO006 175 / 183

Variable aléatoire I Definition (Variable aléatoire discrète) Une variable aléatoire discrète X est une fonction de S vers un espace T (souvent R). La probabilité que X se réalise en x est la probabilité de l événement E tel que E = {s S, X (s) = x}.. Pr[X = x] = Pr[X 1 (x)] = s i S,X (s i )=x Pr[{s i }] = s i S,X (s i )=x La fonction valeur d un dé est une vad de {1, 2, 3, 4, 5, 6} vers R (qui prend seulement 6 valeurs) La fonction somme de deux dés est une vad de {1, 2, 3, 4, 5, 6} {1, 2, 3, 4, 5, 6} vers R (qui prend seulement 11 valeurs). Que vaut Pr[X = 11]? p i J.-O. Lachaud (LAMA) INFO006 176 / 183

Variable aléatoire II Soit X la vad somme de deux dés et soit Y la vad qui prend la valeur 1 si les dés forment un double, 0 sinon. Déterminez d abord Pr[Y = 1] et Pr[Y = 0]. Calculer ensuite Pr[Y = 1 X = 4] et Pr[X = 4 Y = 1]. Vérifier la relation de Bayes. Definition (Espérance) Si X est une vad sur S, l espérance de X (ou moyenne de X ) est E(X ) = s i S X (s i)pr[s i ]. Montrez que E(X ) = x T xpr[x = x]. Quelles sont les espérances de valeur d un dé, somme de deux dés, double vaut 1, sinon 0? Montrez la linéarité de l espérance, i.e. si X 1 et X 2 sont des vad sur S, alors E(a 1 X 1 + a 2 X 2 ) = a 1 E(X 1 ) + a 2 E(X 2 ). J.-O. Lachaud (LAMA) INFO006 177 / 183

Variable aléatoire III Definition (Evénement identifié d une expérience) Une expérience sur un espace des échantillons X sera souvent noté X. Par abus, l événement l expérience X a eu pour issue l éventualité x sera noté par X = x, où x X. Sa probabilité est Pr X = x = Pr x. Ainsi si X = {1, 2, 3, 4, 5, 6}, les expériences premier jet de dé vaut j et deuxième jet de dé vaut 7 j sont notées X 1 = j et X 2 = 7 j. Leur probabilités sont 1/6 pour tout j. Par abus, on peut les voir comme des variables aléatoires discrètes triviales, qui sont des fonctions identité (cf plus loin). J.-O. Lachaud (LAMA) INFO006 178 / 183

Plan 1 Introduction à la sécurité et à la cryptologie 2 Cryptosystèmes et science de la cryptologie 3 Sécurité informatique et réseaux 4 Mathématiques utiles pour la cryptologie 5 Bibliographie J.-O. Lachaud (LAMA) INFO006 179 / 183

Références et lectures I Cryptologie D. Stinson. Cryptographie Théorie et pratique. Vuibert, Paris, 2003. B. Martin. Codage, cryptologie et applications. Presses Polytechniques Universitaires Romandes, Lausanne, 2004. Sécurité informatique J.-F. Pillou. Tout sur la sécurité informatique. Dunod, Paris, 2005. L. Bloch and C. Wolfhugel. Sécurité informatique Principes et méthodes. Eyrolles, Paris, 2007. J.-O. Lachaud (LAMA) INFO006 180 / 183

Références et lectures II B. Favre and P.-A. Goupille. Guide pratique de sécurité informatique Mise en œuvre sous Windows et Linux. Dunod, Paris, 2005. Réseaux et Sécurité S. Ghernaouti-Hélie. Sécurité informatique et réseaux. Dunod, Paris, 2006. G. Pujolle. Les réseaux. Eyrolles, Paris, 6ème édition, 2007. J.-O. Lachaud (LAMA) INFO006 181 / 183

Webographie I Sites généraux sur la cryptologie et les mathématiques Wikipedia [http ://fr.wikipedia.org/wiki/cryptologie] MathWorld [http ://mathworld.wolfram.com] Appprendre En Ligne [http ://www.apprendre-en-ligne.net/crypto/menu/index.html] Handbook of applied cryptography [http ://www.cacr.math.uwaterloo.ca/hac/] Organismes liés à la sécurité sur Internet Internet Crime Complaint Center (IC3) [http ://www.ic3.gov] les RFCs de l Internet Engineering Task Force (IETF) [www.ietf.org] Entreprises prenant part à la sécurité Bulletins sécurité de Microsoft [http ://www.microsoft.com/technet/security/] Organismes liés à la sécurité des réseaux universitaires CERT Renater [http ://www.renater.fr/rubrique.php3?id_rubrique=19] Bulletins de vulnérabilités du CERT Renater [http ://sites.univ-provence.fr/wcri/d_serv/d_reseau/d_cert/courant/index.html] CRU Comité Réseau des Universités [http ://www.cru.fr] J.-O. Lachaud (LAMA) INFO006 182 / 183

Webographie II Magazines en ligne sur la sécurité Journal du Net [http ://www.journaldunet.com/solutions/securite/] CommentCaMarche.Net [http ://www.commentcamarche.net] Entreprises spécialisées (proposant des informations en ligne) SOPHOS [http ://www.sophos.fr] Symantec [http ://www.symantec.com] PGP et GnuPG Site officiel de PGP [http ://www.pgp.com] Site officiel de GnuPG [http ://www.gnupg.org] Introduction à GnuPG [http ://gpglinux.free.fr/] GnuPG pour Thunderbird / EnigMail [http ://enigmail.mozdev.org/home/index.php] RFC 4880 sur OpenPGP [http ://www.ietf.org/rfc/rfc4880.txt] J.-O. Lachaud (LAMA) INFO006 183 / 183