INFO006 (ex INFO913) - Cryptologie et Sécurité …...ChiffresetévolutionsdesmenacesIV...

183
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

Transcript of INFO006 (ex INFO913) - Cryptologie et Sécurité …...ChiffresetévolutionsdesmenacesIV...

INFO006 (ex INFO913) - Cryptologie et SécuritéInformatiqueMaster 2 ISC

Jacques-Olivier Lachaud1

1Laboratoire de Mathématiques — Université de Savoie

janvier 2011

J.-O. Lachaud (LAMA) INFO006 1 / 183

Introduction

INFO006 : Cryptologie et sécurité informatiqueEléments abordés

I introduction à la sécurité informatiqueI cryptologie : principes et mise en oeuvre

Evaluation1 contrôle continu : 2 TPs2 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 cryptologieDéfinitions et exemplesSécuritéCriminalité informatiqueApports 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 cryptologieDéfinitions et exemplesSécuritéCriminalité informatiqueApports 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 ethumains nécessaires et mis en place pour conserver, rétablir, etgarantir la sécurité de l’information, du système d’information et dessystèmes et ressources informatiques.Notamment, on veut préserver

I l’intégrité de l’informationI la confidentialité de l’informationI la disponiblité des systèmes

Systèmes informatiques soumis à des menacesI utilisateur du systèmeI personne malveillanteI programme malveillantI 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, sidéchiffrer consiste à retrouver le clair au moyen d’une clé, cryptanalyserc’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 cryptologieDéfinitions et exemplesSécuritéCriminalité informatiqueApports 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 satisfairedisponibilité : probabilité de bon fonctionnement, accessibilité, continuité

de serviceintégrité : certification de la non-altération des données, traitements et

servicesconfidentialité : protection des données contre une divulgation non

autoriséeauthentification : vérification de l’identité de l’utilisateur et de ses

autorisationsnon-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 dessalles, sauvegardes, alimentations électriques)

sécurité de l’exploitationhôte (système d’exploitation à jour, authentification)

sécurité logiquedonnées (accès aux fichiers, autorisations, chiffrements, sauvegarde)

sécurité applicativeapplications (virus, chevaux de troie, espiogiciels, spam, restrictions etlocalisations des applications)

sécurité des télécommunicationsré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 nuirevulnérabilité ou faille : niveau d’exposition face à une menace dans un

certain contextecontre-mesure ou parade : ensemble des actions mises en oeuvres en

prévention d’une menaceattaque : exploitation d’une faille (d’un syst info) à des fins non

connus de l’exploitant du système et généralementpréjudiciables

en permanence sur Internet par machines infectéesrarement pirates

J.-O. Lachaud (LAMA) INFO006 10 / 183

Motivations des attaques

intrusion dans le systèmevol d’informations industrielles (brevets), personnelles (bancaires),commerciales (contrats), organisationnellestroubler le bon fonctionnement d’un service (déni de service, defacing)utiliser le système comme rebond pour une autre attaqueutiliser 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 cryptologieDéfinitions et exemplesSécuritéCriminalité informatiqueApports 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 dudélit et/ou le moyen de le réaliser.Cybercrime : forme du crime informatique qui utilise Interneten 2007, la cybercriminalité pèse 7,1 milliards de dollars aux USAen 2009, assignement en justice pour 559 millions de dollars aux USA(×2 en deux ans)Typologie : malveillance, erreur, accidentCibles : états, organisations, individusVol 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élitvulnérabilité : complexité des infrastructures informatique et réseauxautomatisation, réalisation à grande échelle ⇒ ubiquité, anonymatimmatérialité : information numérique peut être détruite, modifiée,usurpéedisponibilité d’outils, paradis numériquesdépendance des états/organisations à l’informatique ⇒ facteur derisque ⇒ cyberterrorisme

J.-O. Lachaud (LAMA) INFO006 14 / 183

Typologie des attaques

accès physique : coupure électricité, vol de disque dur, écoute trafficréseau, récupération de matérielsinterception de communications : vol de session, usurpation d’identité,détournement de messagespolupostage ou spam (98 % des mails)dénis de services : faiblesse de protocoles TCP/IP, vulnérabilité delogiciels serveursintrusions : maliciels (virus, vers, chevaux de Troie), balayage de ports,élévation de privilèges, débordements de tampontrappes : porte dérobée dans un logicielingénierie sociale : contact direct de l’utilisateurattention aux attaques par rebond : l’utilisateur “complice” peut voirsa 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 lemodifiant de façon à ce qu’il puisse se reproduireBrain (premier sur PC en 1986), Netsky (2004, lit fichiersEML, 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éseauBlaster (Août 2003, faiblesse RPC Windows), Welchia (qqsjours après, élimine Blaster)

Troyen ou Cheval de Troie Programme à l’apparence utile mais cachant ducode 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, quidonne un accès secret au logiciel/systèmeTrusting 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 pirateinformatique (suite à une infection par ver/cheval de troie).Sert de rebond.

Botnet Réseau de machines zombies. Utile pour lancer des attaquesde déni de service ou spams

Bombes logiques Programme se déclencheant suite à un événementparticulier (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 undocument contenant des macros, exécutable par uneapplication : VBScriptConcept (1995), Bubbleboy (1999, affichage du mail)

Antivirus Logiciel de détection et d’éradication de virus et vers

Méthodes : dictionnaires, heuristiques, comportementssuspects, émulation (bac-à-sable)scanneurs sur accès : examine les fichiers/programmes àchaque accèsscanneurs à la demande : examine lesdisques/fichiers/programmes suite à une demande

J.-O. Lachaud (LAMA) INFO006 18 / 183

Spywares : espiogiciels I

Espiogiciel Programme collectant des données sur un utilisateur, lesenvoyant à une société en général pour du profilage

souvent avec des freewares ou sharewaresintégrés (PKZip, KaZaA, Real Player) ou externessouvent légaux (dans la licence)parades : ne pas installer de logiciels ( !), antisypwares,firewall

keylogger enregistreur de touches : enregistrement des touches à l’insude 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é]I vandalisme ludique cède la place à la criminalité organiséeI 1 message sur 44 infecté par un virus (fin nov 2005, 1 sur 12, ver

Sober-Z)I Fin décembre 2005 : BD Virus Sophos a 114000 virus, vers et autres,

15900 nouveaux en 2005I 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%

I Windows est la cible (plus que) majoritaireI 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 del’université ? Participez-vous à sa sécurité ?

Quelles sont les données ou applications les plus critiques del’université ?

Y a-t-il un risque d’infection en laissant simplement son ordinateurallumé connecté par Internet ?

Pourquoi ne peut-on fermer une machine à toute communicationexté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èsinfection ?

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êmefichier ?

Quelles sont les motivations qui conduisent une personne à écrire unlogiciel malveillant ?

J.-O. Lachaud (LAMA) INFO006 23 / 183

Menaces nouvelles I

Social engineering usage de ressorts psychologiques pour obtenir d’un tiersinformation 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éesbancaires, mots de passe

J.-O. Lachaud (LAMA) INFO006 24 / 183

Menaces nouvelles II

http://[email protected]/http://www.mabanque.com.unsite.net/

Pharming (empoisonnement DNS) exploite une vulnérabilité pourrediger 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 deWindows NT4 et Windows 2000, depuis corrigées).

Slamming fausse facture de renouvellement de nom de domaine etcontrainte pour l’achat de noms de domaines proches, fauxannuaires professionnels

J.-O. Lachaud (LAMA) INFO006 25 / 183

Menaces nouvelles IIIVishing (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 sescoordonnées bancaires.

Ransomwares code malveillant (virus ou cheval de troie) cryptant certainesdonné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 pourinsérer du code dans une page html renvoyée dynamiquementRedirection 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="titiSELECT * 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 deTraitement 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

I Plus de 60% des plaintes portent sur moins de 1000 $ (en 2009)I Plus de 87% des plaintes portent sur moins de 5000 $ (en 2009)

J.-O. Lachaud (LAMA) INFO006 30 / 183

Chiffres et évolutions des menaces IVEvolution des menaces informatiques dans le monde de 2004 à 2005

Menaces Attaques 2004 Attaques 2005Phishing 18,0 % 25,0 %

Virus et vers 68,6 % 66,6 %[Source CompTIA]Nombres d’incidents rapportés au CERT1998 1999 2000 2001 2002 20035000 11000 22000 53000 85000 138000

vulnérabilités répertoriées par les CERTs2003 2004 2005 2006 2007 2008

nombre 3784 3780 5990 8064 7236 6058rapports directs 191 170 213 345 357 310

Parades :I Formation utilisateursI Antivirus et/ou antispywareI Filtre antiphishingI Contrôler les certificats des sites

J.-O. Lachaud (LAMA) INFO006 31 / 183

Politique de sécurité

Politique de sécuritéPolitique decontrôle d’accès

Gestion des identités, des profils utilisateurs, desdroits d’accès

Politique de pro-tection

Prévention des intrusions et malveillances, gestion desvulnérabilités, dissuasion, etc.

Politique de réac-tion

Gestion des crises, des sinistres, des plans de conti-nuité, de reprise, d’intervention, de poursuite, . . .

Politique de suivi Audit, évaluation, optimisation, contrôle, surveillancePolitique d’assu-rance

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 cryptologieDéfinitions et exemplesSécuritéCriminalité informatiqueApports 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ée2 chiffrements à clé public3 signatures4 fonctions de hachage

Applications : sécurité logique (données), sécurité des transmissions,sécurité de l’exploitationpeu en sécurité applicative

J.-O. Lachaud (LAMA) INFO006 34 / 183

Chiffrement symétrique ou à clé secrète IChiffrement symétrique ou à clé secrète

confidentialité : clé secrète K partagée entre 2 personneschiffrer : transforme un message clair M en un message chiffréC = eK (M) avec Kdéchiffrer : transforme un message chiffré C en un message clairM = dK (C ) avec Kalgorithmes chiffrement e / déchiffrement d publicscontraintes : 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 rapidité du chiffrement/déchiffrementInconvénients é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é publiqueconfidentialité : vers tout destinataire (clé publique P, clé secrète S)chiffrer : message clair M en message chiffré C avec clé publique ePdéchiffrer : message chiffré C en message clair M avec clés dP,S

algorithmes chiffrement e / déchiffrement d publicsChiffrement asymétrique : une communication non secrète permet devéhiculer une information que seul le destinataire peut comprendre.idée [Diffie-Hellman 1976], RSA [Rivest, Shamir, Adleman 1977]Contrainte : difficile de déduire dP,S de eP

J.-O. Lachaud (LAMA) INFO006 37 / 183

Cryptographie asymétrique ou à clé publique II

Avantages une seule clé secrète pour n expéditeurs, pasde canal secret

Inconvénients lenteur, pas d’authentification de la source,attaque Man-In-The-Middle

Très utile pour échanger les clés pour ouvrir un tunnel decommunication 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é dumessageexpéditeur (clé publique P, clé privée S)signer (privé) : fonction sigP,S . Signature S ← sigP,S(M) où M est unmessage ou un défivérifier (public) : fonction verP . Booléen b ← verP(M, S).contraintes : empêcher l’usurpation, la non-reconnaissance

I calculable par le signataire ∀MI le destinataire (et tout individu) peut vérifier la signatureI non falsifiableI non imitable

Exemple : signature RSA

J.-O. Lachaud (LAMA) INFO006 39 / 183

Signatures numériques II

I signer sigP,S est le déchiffrement dP,SL’expéditeur donne M et S ← sigP,S(M).

I vérifier verP est le chiffrement eP suivi d’une comparaisonLe destinataire calcule M ′ ← eP(S) = eP(dP,S(M)) et vérifie M = M ′

Exemples : PGP, RSA, signature ElGamal/DSA

Utilisation : SSL, S-MIME

Avantagesnon-répudiation d’un message. En théorie, dé-coupage en blocs d’un message + signaturesde chaque bloc garantit l’intégrité.

Inconvénients Trop coûteux en pratique.

J.-O. Lachaud (LAMA) INFO006 40 / 183

Fonctions de hachage et empreinte I

fonction de hachage et empreintegarantir l’intégrité d’un message M par calcul d’une empreintehachage : message M hachée en une empreinte E = h(M) de taillefixéevé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 authentificationmessage M d’un expéditeur de clés (P,S)signature de l’empreinte Z ← sigP,S(h(M))

vérification de l’intégrité par le destinataire1 Recevoir M ′,2 le hacher h(M ′),3 puis vérifier verP(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 PAC , SAC )légitimer la clé publique PA d’une personne

1 émetteur A émet son identité IdA et sa clé publique PA à une AC2 AC vérifie l’identité de A3 calcule et publie un certificat signé par l’AC :

ZA,AC ← sigPAC ,SAC (h(IdA,PA))

authentification de A par l’utilisateur B1 B reçoit identifiants, clé publique de A′2 compare ce qu’il reçoit : h(IdA′ ,PA′)3 et l’autorité de certification : verPAC (h(IdA′ ,PA′),ZA,AC )4 et teste l’égalité

évite Man-in-the-MiddleMais 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

I architecture sécurisée transparente : confidentialité sans mot de passe !I QoS implique rapidité des mécanismes de chiffrement et déchiffrement

Gains possibles de qualité de service :I en identifiant mieux les sources/demandeurs de ressource

J.-O. Lachaud (LAMA) INFO006 45 / 183

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 46 / 183

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 47 / 183

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 eK ∈ E et

une règle de déchiffrement correspondante dK ∈ D.I eK : P → CI dK : C → PI Pour tout texte clair x ∈ P, dK (eK (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 pratiquesI les fonctions eK et dK doivent pouvoir se calculer efficacementI un opposant observant les messages chiffrés y ne peut déterminer K ou

xI cryptanalyse : rechercher K à partir de y. Donnera aussi x

algorithme public, clé cachée : principe de Kerckhoffs (1883)I la sécurité d’un cryptosystème ne repose que sur le secret de la clé.I autres paramètres connus (e et d)I exprimé aussi par Shannon : l’adversaire connaît le systèmeI 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 eK , déchiffrement dK à clé secrète K

chiffrement public eK , déchiffrement privé dK

signature privée sigK , vérification publique verKfonction de hachage h publique, empreinte privée sigK (h(x))

J.-O. Lachaud (LAMA) INFO006 51 / 183

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 52 / 183

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’autressymboles

On appelle chiffrement monoalphabétique ou substitution simple, unchiffre 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 zD 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

chiffredecesarFKLIIUHGHFHVDU

J.-O. Lachaud (LAMA) INFO006 53 / 183

Chiffrements monoalphabétiques II

Si on code A− Z dans Z26, alors y = x + 3 mod 26 et x = y − 3mod 26.

Definition (Cryptosystème par décalage)Soient P = C = K = Z26. Pour 0 ≤ K < 26, on définiteK (x) = x + K mod 26, dK (y) = y − K mod 26.

Exercices :I Quelle est l’espace des clés du chiffre par décalage ?I Quel est le texte clair de TMKBM CZXIQ AQJTM MBJCK WTQYC

M?

J.-O. Lachaud (LAMA) INFO006 54 / 183

Chiffrements monoalphabétiques IIIChiffrement par substitution

Definition (Cryptosystème par substitution)Soient P = C = Z26. Soit K l’ensemble des permutations sur les nombres0, 1, . . . , 25. Pour chaque π ∈ K, on définiteK (x) = π(x), dK (y) = π−1(y).

Exercices :I Quelle est l’espace des clés de ce chiffrement ?I Est-ce qu’une recherche exhaustive est envisageable ?

Un autre exemple est le chiffrement affine eK (x) = ax + b mod 26,pour des clés K = (a, b) avec pgcd(a, 26) = 1.

I Montrez que résoudre ax + b ≡ y(mod 26) est équivalent à résoudreax ≡ y(mod 26)

I Supposez pgcd(a, 26) = d > 1 et montrez que ax ≡ 0(mod 26) a aumoins deux solutions. eK peut-il être alors injectif ?

J.-O. Lachaud (LAMA) INFO006 55 / 183

Chiffrements monoalphabétiques IV

I Supposez pgcd(a, 26) = 1 et supposez ∃x1, x2 tq ax1 ≡ ax2(mod 26).En déduire 26 divise (x1 − x2), ce qui montre que x1 ≡ x2(mod 26). ekest-il alors injectif ?

I En déduire que l’équation ax ≡ y(mod 26) admet une solution unique.Le chiffrement affine est bien un cryptosystème.

I Si a−1 est l’inverse de a, en déduire que dK (y) ≡ a−1(y − b)(mod 26)

Exercices :I Montrer que K = (7, 3) induit un chiffrement affine dans Z26. Quel est

sa fonction de déchiffrement ?I 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 autrelettre qui n’est pas toujours la même. Cryptanalyse plus difficile.

DefinitionChiffrement de Vigenère Soit m > 0 et P = C = K = (Z26)m. Pour la cléK = (k1, k2, . . . , km), on définit

eK (x1, x2, . . . , xm) = (x1 + k1, x2 + k2, . . . , xm + km)

dK (y1, y2, . . . , ym) = (y1 − k1, y2 − k2, . . . , ym − km)

On note que le message clair est découpé en bloc de m lettres. Les cléscomme 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 parune permutation/clé)

chiffrement de Hill (multiplication par une matrice m ×m inversibledans Z26)

J.-O. Lachaud (LAMA) INFO006 58 / 183

Cryptanalyse et analyse des fréquences I

Cryptanalyse : déterminer la clé K connaissant l’algorithmeI texte chiffré connu (y) : écouteI texte clair connu (x ,y) : écoute + message connu (ex : protocole de

communication)I texte clair choisi (accès à la machine chiffrante émettrice)I 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 I08,40 01,06 03,03 04,18 17,26 01,12 01,27 0,92 07,34J 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,55S 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é)

I lettres (fr) : E, (A, S), (I,N,T,R), LUODCPMVGFBQHXJYZKW

J.-O. Lachaud (LAMA) INFO006 59 / 183

Cryptanalyse et analyse des fréquences II

I bigrammes (fr) : ES, (DE, LE, EN), (RE, NT, ON, ER, TE), . . .I trigrammes (fr) : ENT, LES, (EDE, DES, QUE), AIT, . . .I S’applique aux chiffrements mono-alphabétiquesI Chiffre par décalage en deux trois essaisI Chiffre affine en quelques essais aussi.I Chiffre par substitution si texte suffisamment long. On utilise aussi les

bigrammes, trigrammes pour orienter la recherche.I 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 SVLPSNCMUE KQCTE SWREE KOYSS IWCTU AXYOT APXPL WPNTC GOJBG FQHTD WXIZAYGFFN SXCSE YNCTS SPNTU JNYTG GWZGR WUUNE JUUQE APYME KQHUI DUXFPGUYTS 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 IVSouvent 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 = x1x2 . . . xn une chaîne de n lettres. L’indice de coïncidence de x,noté Ic(x) est la probabilité que deux lettres aléatoires de x soit identique.

Espace des tirages X = xi , xj, i 6= jCard(X ) =

(n2

)Evénement Ea : xi et xj valent la même lettre a

Si le nombre d’occurence de a dans x est fa, alors Card(Ea) =(fa2

)J.-O. Lachaud (LAMA) INFO006 64 / 183

Cryptanalyse du chiffre de Vigenère V

Probabilité de Ea : Pr[Ea] =∑xi ,xj∈Ea

Pr[xi , xj] =(fa2

)× 1

(n2)

D’où Ic(x) =∑25

a=0 Pr[Ea] =∑25

a=0fa(fa−1)n(n−1) .

En utilisant les tables de fréquences, fa ≈ nPr[a]

fr : Ic(x) = 0.074, en : Ic(x) = 0.065

Si texte aléatoire uniforme : Ic ≈ 26( 126)2 ≈ 0, 038

Invariance de Ic(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èreSoit le texte chiffré y. Pour tout m, on forme

y1 = y1ym+1y2m+1 . . .

y2 = y2ym+2y2m+2 . . .

. . .

ym = ymy2my3m . . .

Si m est la longueur de la clé, alors ∀i , 1 ≤ i ≤ m, Ic(yi ) ≈ Ic(langue)

Sinon Ic(yi ) ≈ 0, 038Détermine la longueur de la clé

J.-O. Lachaud (LAMA) INFO006 66 / 183

Cryptanalyse du chiffre de Vigenère VIIDefinition (Indice de coïncidence mutuel)L’indice de coïncidence mutuel de deux chaînes x et x’ de même longueurn est Ic(x, x’) =

∑25a=0

fan

f ′an .

Clé de Vigenère à m connuSoit ei (x) = x + i mod 26On forme M(i) = Ic(ei (y), y’)y’ est un texte clair (fr)Si y est un texte chiffré par décalage K , alors e26−K (y) est un texteclair (fr)L’indice M(26− K ) vaut à peu près Ic(fr). Les autres sont inférieuresCalcul de 26− Kl pour chaque yl : K1 . . .Km 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 les676, le troisième.

autres dispositifs : reflecteurs, connecteurs

chiffre de Vigenère avec très longue période

J.-O. Lachaud (LAMA) INFO006 68 / 183

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 69 / 183

Sûreté d’un chiffrement I

Sécurité sémantique : un attaquant ne récupère aucune informationsur le texte clair à partir du texte chiffré. (attaque passive)

Sécurité calculatoire : système sûr au sens de la théorie de lacomplexité si le meilleur algorithme pour le casser nécessite Nopé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 êtrefactorisé.

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 unsecret parfait.NB : on utilise Pr[Y = y ] =

∑k:y∈C(k) Pr[K = k]Pr[X = dk(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é estutilisée avec la même probabilité 1/|K| et ∀x ∈ P, y ∈ C, il existe une cléunique K telle que eK (x) = y.

Definition (Chiffre de Vernam (1917) ou à masque jetable)Soit n ≥ 1 et C = P = K = (Z2)n. Pour tout K ∈ K, on définit eK et dKcomme 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 quantique1 une ligne photonique permet de véhiculer un masque jetable2 ce masque jetable sert de clé secrète à un chiffrement symétrique3 une ligne normale (espionnable) véhicule les informations chiffrées

J.-O. Lachaud (LAMA) INFO006 74 / 183

Cryptographie quantique IIIbits aléatoires

polarisation des photons : →, ↑, , 2 filtres seulement : + et ×

Protocole de création du masque jetable1 A→ B (photons) : émission aléatoire de 2N photons selon 4 polarités,

réception avec choix aléatoire du filtre2 B → A (normal) : polarisations choisies par B3 A→ B (normal) : liste des bonnes polarisations ≈ N4 A→ B (normal) : sacrifice de n bits dont la valeur est donnée5 Pr[Détection espionnage] = 1− (3/4)n

6 si pas espionné, masque jetable avec ≈ N − n bits, sinon, on refait unmasque

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 xi ), de probabilitésPr[X = xi ] = pi .

Definition (Entropie)L’entropie (ou incertitude) d’une vad X est H(X ) = −

∑i pi log2 pi .

Mesure l’incertitude sur l’issue avant une observation de X . Approche aussile nombre de bits moyen pour coder les éléments de X .

0 ≤ H(X ) ≤ log2 n.

H(X ) = 0 ssi un seul pi vaut 1 : incertitude minimale

H(X ) = log2 n ssi ∀i , pi = 1n : incertitude maximale

Codage de Huffman : la longueur moyenne l du codage d’une chaîneà valeurs dans xi , tirée aléatoirement selon X , est entre H(X ) etH(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 ] log2 Pr[X = x ,Y = y ].

H(X |Y = y) = −∑

x Pr[X = x |Y = y ] log2 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

CorollarySi X est une vad sur P et Y une vad sur C, la condition du secret parfaitest que H(X |Y ) = H(X ).

TheoremSoit 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 )︸ ︷︷ ︸0

+H(K ,X ) et

H(K ,X ,Y ) = H(X |K ,Y )︸ ︷︷ ︸0

+H(K ,Y ).

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−z126 log2

126 ≈ 4, 70

Entropie d’une lettre dans texte anglaish(P) = −

∑x∈a−z Pr[x ] log2 Pr[x ] ≈ 4, 19

lettres non indépendantes

Definition (Entropie d’une langue donnée)

Soit un langage naturel L. Son entropie est HL = limn→+∞H(Pn)

n .La redondance de L : RL = 1− HL

log2 |P|.

Pour l’anglais, 1 ≤ HL ≤ 1, 5, redondance 75%. Pour une langue aléatoire,redondance nulle.

DefinitionOn appelle clé parasite une clé qui déchiffre un texte chiffré y sous formed’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é IIWNAJW, codé par décalage a deux clés F(5) et W(22) tels qued22(WNAJW ) = river et d5(WNAJW ) = arena : une est parasite.

TheoremLe nombre moyen sn de clés parasites sur un texte chiffré de longueur n (nassez grand) vérifie

sn ≥|K||P|nRL

− 1.

distance d’unicité n0 : plus petite valeur de n telle que sn ≈ 0

Chiffrement par substitution : |P| = 26, |K| = 26!. Avec RL = 0, 75,n0 ≈ 88, 4/(0, 75 ∗ 4, 7) ≈ 25.

Chiffrement de vigenère de taille m : n0 ≈ m/0, 75.

On peut donc tenter des attaques par recherche exhaustive sur desmessages de longueur ≥ n0. Si on tombe sur un clair, c’est le bon.

J.-O. Lachaud (LAMA) INFO006 80 / 183

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 81 / 183

Système cryptographique produit I

Soient deux cryptosystèmes S1 = (P,P,K1, E1,D1) etS2 = (P,P,K2, E2,D2), tels que P = C.

Definition (Système cryptographique produit)Le système cryptographique produit S1 × S2 est le cryptosystème(P,P,K1 ×K2, E ,D) et

chiffrement e(K1,K2)(x) = eK2(eK1)(x)

déchiffrement d(K1,K2)(x) = dK1(dK2)(x)

sert à fabriquer des cryptosystèmes plus complexes à partir decryptosystèmes simples

Si S × S × · · · × S , on le note Sn (cryptosystème itéré)

Si S2 est équivalent à S , alors S idempotent. Itéré S ne complexifiepas 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 S1 et S2 sont tels que S1 × S2 est équivalent à S2 × S1et sont tous deux idempotents, alors S1 × S2 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 Ne étages successifs identiques

diversification de K en Ne clés (d’étage)

algorithme de chiffrement fixé et public

w0 ← xw1 ← g(w0,K 1)

w2 ← g(w1,K 2)

. . .

wNe ← g(wNe−1,KNe )

déchiffrement en sens inverse, g injective

J.-O. Lachaud (LAMA) INFO006 84 / 183

Algorithme de chiffrement itéré par bloc II

Exemples :I réseaux de substitution/permutation

F substitution par blocsF permutation entre bits

I schéma de Feistel, DES (1976)I AES/Rijndael (2001)I IDEA (dans PGP), blocs de 64b, clé 128b (⊕, + et · modulo 216 + 1)

J.-O. Lachaud (LAMA) INFO006 85 / 183

Data Encryption Standard (DES) I

créé par IBM en 1975 pour la NSA, standard en 1976Caractéristiques :

I système à clef secrète (clef de 56 bits)I chiffrage itéré 16 fois par blocs (64 bits)I standard communications gouvernementales non secrètes (USA)

J.-O. Lachaud (LAMA) INFO006 86 / 183

Data Encryption Standard (DES) II

permutation initialeétage i , (Li ,Ri ) = g(Li−1,R i−1,K i )où Li = R i−1,R i = Li−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 besoind’être inversible !

J.-O. Lachaud (LAMA) INFO006 87 / 183

Data Encryption Standard (DES) III

E : Expansion de 32b à 48bon ajoute la clé d’étageSj : réduction par blocs 6 bits vers 4bits.on permute le résultat par P

J.-O. Lachaud (LAMA) INFO006 88 / 183

Critiques de DES I

seules les Sj ne sont pas linéaires

espace des clés faibles : 256 ≈ 7, 2 · 1016

attaque à texte clair par force brut1 machine de Wiener 1993 : 5e7 clés/s2 DES cracker 1998 : 88e9 clés/s, 1536 puces, 1 clé en 56h3 DES cracker + réseau mondial (100000 machines) : 1 clé en 22h

cryptanalyse différentielle (Biham, Shamir)1 attaque à texte clair choisi2 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équente7 on construit une piste de différentiels en reliant les S-boîtes.

J.-O. Lachaud (LAMA) INFO006 89 / 183

Critiques de DES II8 avec beaucoup de couples, on estime quelques bits de la clé, le reste

par balayage exhaustif9 pas effectif pour DES : 258 paires, soit plus que l’attaque exhaustive.

J.-O. Lachaud (LAMA) INFO006 90 / 183

Critiques de DES IIIcryptanalyse linéaire (Matsui 1994)

1 attaque à texte clair choisi2 analyse les biais entre les probabilités d’avoir une sortie étant donné

une entrée.3 sur une S-boîte, observe Xi1 ⊕ · · · ⊕ Xim ⊕ Yj1 ⊕ · · · ⊕ Yjn4 si espérance 6= 1

2 , alors il y a un biais5 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 : 243 paires, 40 jours pour génération, 10 jours pour trouver K .

Evolution de DES : 3DES. Surchiffrement avec deux clés K1, K2.I y = eK1,K2(x) = eK1(eK2(eK1(x))).I y = dK1,K2(x) = dK1(dK2(dK1(y))).I efficace car DES n’est pas idempotent !

Nouveaux algorithmes (qualifiés de “sûr”)I IDEA (128bits)I AES (ou Rijndael) (128, 192, 256 bits ; 10, 12 ou 14 étages)

J.-O. Lachaud (LAMA) INFO006 91 / 183

Critiques de DES IV

I caractéristiques : taille de la clé plus grande, boîtes de substitutionsobtenues par inversion dans un corps fini plus grand (8bits), mélangede colonnes pour diffuser les pistes différentielles

J.-O. Lachaud (LAMA) INFO006 92 / 183

Modes opératoires ISoit K une clé secrète initiale, IV un nombre

ECB electronic codebook modesimple chiffrement indépendant desblocs

CBC cipher block chaining mode :y0 = IV , yi+1 = eK (yi ⊕ xi+1)Chiffrement à clé constante. Texteclair 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 : Initialisa-tion y0 = IV puis yi+1 = eK (yi )⊕xi+1Chiffrement par addition du chiffre-ment de la sortie précédente.

J.-O. Lachaud (LAMA) INFO006 94 / 183

Modes opératoires III

OFB output feedback mode : cléssuccessives indépendantes de l’entrée,z0 = IV , zi+1 = eK (zi ), yi = zi ⊕ xiSuite de clés successives obtenue parchiffrement par clé K . Addition deces clés au texte clair. Chiffrement dutexte indépendant du chiffrement dutexte 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 ouCFB permettent d’avoir une communication secrète où le chiffrementdépend non seulement d’une clé secrète mais d’un paramètresupplémentaire sur lequel les deux parties se sont mises d’accord (unIV donné).

le calcul d’une empreinte MD5 ou SHA d’un fichier suit le principeCBC, où l’empreinte se calcule par une séquence de chiffrement parblocs de 512 bits, par addition de l’empreinte du bloc précédent autexte clair suivant.

J.-O. Lachaud (LAMA) INFO006 96 / 183

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 97 / 183

Principe des cryptosystèmes à clé publique I

Alice Oscar BobMessage M (K ,K ′)y = eK (M)

y−→ M = dK ′(y)

RSA, système El Gamal, Merkle Hellman

J.-O. Lachaud (LAMA) INFO006 98 / 183

Principe des cryptosystèmes à clé publique IIfonction à sens unique : fonction pour laquelle le problème préimagene peut être résolu de manière efficace.

Problème de la préimageSoient une fonction f : P 7→ C et y ∈ C.Trouver x ∈ P tel que f (x) = y .

I fonctions pas à sens unique : f (x) = a ∗ x + b mod n, f (x) = x−1

mod nI fonctions à sens unique : f (x) = ax mod n (logarithme discret)

Problème : difficile de déchiffrer !fonction à sens unique à trappe : la fonction à sens unique devientfacile à déchiffrer avec une information secrète supplémentaireclé publique : fonction à sens unique, clé privée : la trappe de cettefonction.NB : chiffrement public ⇒ attaque passive toujours possible avectexte 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 = Zn. 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 : eK (x) = xb mod n4 déchiffrement : dK (y) = ya mod n5 entiers premiers p et q de l’ordre de 10100

6 NB : φ(n) = (p − 1)(q − 1), et pgcd(a, φ(n)) = 17 typiquement le message x est un mot de 512 bits (≤ n)

J.-O. Lachaud (LAMA) INFO006 100 / 183

Chiffrement RSA II

ExempleBob choisit p = 17, q = 11, n = 187, φ(n) = 160 = 25 × 5.Il prend a = 39 = 3× 13, b = 119 ≡ a−1(mod 160) car39× 119 = 4641 = 29× 160 + 1.

Alice Bob Kbob = (n, p, q, a, b)

x = 100eKbob(x) = xb mod n

= 100119 mod 187 = 144⇒ y = 144 reçudKbob(y) = ya mod n

= 14439 mod 187 = 100

J.-O. Lachaud (LAMA) INFO006 101 / 183

Mise en œuvre de RSA I

Génération des paramètres RSA1 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)) = 14 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 pratiques1 Primalité. Trouver des grands nombres premiers (≈ 512bits)

I plus grand nombre factorisé environ 200 chiffresI n ≈ 1024bits ≈ 300 chiffres

2 Calculs rapides. +,−,×,÷, pgcd, exp, inverse3 tout algorithme linéaire en n est trop lent4 algorithmes polynomiaux en k = log2 n

J.-O. Lachaud (LAMA) INFO006 103 / 183

Tests de primalité I

Primalité ou non FactorisabilitéPrimalité : problème de décision 6= Trouver une factorisationInversement, factorisation de n résoud primalité de n

Primalité par tests de√n diviseurs en Ω(2

k2 )

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” esttoujours 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é IIIMiller-Rabin : Monte-Carlo positif pour primalité avec ε = 1/4

probablement premier compositen premier 1 0

n composite 14

34

Algorithme peut répondre “premier” alors que le nombre est en faitcomposite ⇒ a est un menteur

Algorithme ne peut répondre “composite” si le nombre est premier

Pour n composite, moins d’un 14 des valeurs a entre 1 et n − 1 sont

des menteurs

On appelle plusieurs fois l’algorithme pour être de plus en plus sûrOn calcule

I a : nombre n de taille donnée est compositeI b : l’algorithme se trompe m fois en disant n premierI Pr[a|b] ≤ 353

353+22m+1 , pour n de 512 bitsI 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 deLegendre et Jacobi

J.-O. Lachaud (LAMA) INFO006 107 / 183

Calculs rapides sur grands entiers I

k = log2 naddition, soustraction

I naïf. Somme bit à bit plus retenue. O(k)

multiplication, division O(k2)I naïf. On pose k sommes bit à bit plus retenue. O(k2)

I Karatsuba. O(klog 3log 2 ) = O(k1.584)

(a×2m+b)(c×2m+d) = ac×22m+(ac +bd−(a−b)(c−d))×2m+bd

I Toom Cook O(k(1+ε))I 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(k3)I Algorithme d’Euclide. O(k3) (en fait O(k2))

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 nI Algorithme d’Euclide étendu. O(k3) (en fait O(k2))

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] > 0s[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 queRetourner 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 ∗b120 1 120 0 2323 0 120 1 235 1 120 -5 233 -4 120 21 232 5 120 -26 231 -9 120 47 23

Montrez ∀i , ri = asi + bti

J.-O. Lachaud (LAMA) INFO006 110 / 183

Calculs rapides sur grands entiers IV

Exp. modulaire rapide de c . O(log2 c × k2)

c =∑

i ci2i alors bc = b

Pi ci2i

= Πi (b2i)ci , ssi

bc = (b)c0 · (b2)c1 · (b4)c2 · · · · · ·(b(2k−1))ck−1

Fonction Exp( b, c, n : entier ) : entierr = 1;Tant que c > 0si c & 1 > 0 r = (r*b) mod n;c = c >> 1;b = (b*b) mod n;

Fin tant queretourner r;

RSA peut donc être mis en œuvre efficacement.

J.-O. Lachaud (LAMA) INFO006 111 / 183

Sécurité de RSA IAttaques possibles sur RSA

Factorisation de nI Si n factorisé en pq par Oscar, alors φ(n) se calcule immédiatement, et

donc l’inverse de b se calcule par Euclide étenduI algorithme naïf trop lent O(

√n)

I 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 !I Algorithme ρ de Pollard O(n1/4) : on cherche une collision x 6= 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

I Algorithme de Dixon x2 ≡ y2(mod n) alors (x − y) ou (x + y)peuvent être des facteurs de n

I crible quadratique O(e(1+o(1))√ln n ln ln n)

I courbes elliptiques O(e(1+o(1))√

2 ln p ln ln p)

I crible algébrique O(e(1,92+o(1))(ln n)1/3(ln ln n)2/3)

Attaque à φ(n) connu

Résoudre

n = pqφ(n) = (p − 1)(q − 1)

Ou p2 − (n − φ(n) + 1)p + n = 0Les 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 < 2qab ≡ 1(mod φ(n))⇔ ∃t, ab − tφ(n) = 1De plus, n = pq > q2, d’où 0 < n − φ(n) < 3

√n

D’où∣∣bn −

ta

∣∣ < 3ta√

n

Comme t < a et hypothèse 3t < 3a < n1/4,∣∣bn −

ta

∣∣ < 1an1/4 <

13a2

Et donc t/a est une réduite du dvp en fraction continue de b/n.

MoralitéChoisir n grand ≈ 21024

Choisir p et q, ni trop proches, ni trop éloignésRejeter les p et q tels que p − 1 et q − 1 ont des petits facteursChoisir a pas trop petit devant n

J.-O. Lachaud (LAMA) INFO006 114 / 183

OAEP – Système à clé publique sûr I

DefinitionOAEP / Optimal Asymmetric Encryption Padding [Bellare, Rogaway 94]

standard OAEP / IEEE P1363P = C = 0, 1m, k0 = k −mf un chiffrement publique sur 0, 1k , f −1 son déchiffrement privé.G : 0, 1k0 → 0, 1m et H : 0, 1m → 0, 1k0 fonctions aléatoiresclé K = (f , f −1,G ,H), r aléatoire sur 0, 1k0

eK (x) = f (x ⊕ G (r)‖r ⊕ H(x ⊕ G (r)))

f −1(y) = x1‖x2, avec x1 ∈ 0, 1m, x2 ∈ 0, 1k0puis r = x2 ⊕ H(x1) et dK (y) = G (r)⊕ x1

Lorsque f et f −1 sont le chiffrement RSA, on parle de RSA-OAEP.Chaque clair a 2k0 chiffrement distincts.

J.-O. Lachaud (LAMA) INFO006 115 / 183

OAEP – Système à clé publique sûr II

TheoremRSA-OAEP est sémantiquement sûr ssi les fonctions aléatoires G et H sontdes oracles aléatoires.

G est un oracle aléatoire si le fait d’avoir fait déjà N calculs de Gn’augmente pas la probabilité Pr[G (x) = y ] pour tout x non déjà calculé ety .

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

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 117 / 183

Fonction de hachage et intégrité I

1 Fonction de hachage h simpleI donnée x stockée/transmise dans/par un endroit peu sûrI fonction h transformant x en un nombre court y (empreinte, condensé,

digest)I y stocké/transmis dans/par un endroit sûrI intégrité : comparaison h(x) = y ?

2 famille de fonction de hachage hKI paramétrée par clé secrète KI donnée x et y = hK (x) stockée/transmise dans/par un endroit peu sûrI intégrité : comparaison hK (x) = y ?I code d’authentification de message ou MACI authentifie aussi l’émetteurI fonction de hachage h = famille à une seule clé possible

J.-O. Lachaud (LAMA) INFO006 118 / 183

Sécurité des fonctions de hachage ISoient une fonction h : P 7→ C. M = |C| Trois problèmes doivent êtredifficiles à résoudre

Problème de la préimageSoit y ∈ C. Trouver x ∈ P tel que h(x) = y .

Problème de la seconde préimageSoit x ∈ P. Trouver x ′ ∈ P tel que x ′ 6= x et h(x ′) = h(x).

Problème de la collisionTrouver x , x ′ ∈ P tel que x ′ 6= 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 IIAlgorithme PreImage sur h : X → YFonction Trouver_PreImage(h,y,q)

Choisir un X0 sous-ensemble de X, |X0|=qPour 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 2ndPreImageFonction 2ndPreImage(h,x,q)

y=h(x)Choisir un X0 sous-ensemble de X, |X0|=q-1Pour 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|=qPour 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−1M )(M−2

M ) . . . (M−q+1M )

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 , . . . , RIPEMDFonction de hachage itérée, avec zip : 0, 1m+t → 0, 1m

1 Soit x , |x | > m + t + 1. On construit y tq |y | ≡ 0(mod t)y = y1‖y2‖ · · · ‖yry souvent construit par bourrage de x : y = x‖pad(x)

2 Soit IV public de longueur m

z0 ← IVz1 ← zip(z0‖y1)

z2 ← zip(z1‖y2)

. . .

zr ← zip(zr−1‖yr ).

3 Parfois g : 0, 1m → 0, 1l publique, alors

h(x) = g(zr )

J.-O. Lachaud (LAMA) INFO006 122 / 183

Construction de Merkle-Damgård II

Construction de Merkle-Damgård1 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 z1 ← zip(0m+1‖y1)3 Pour i de 1 à k, zi+1 ← zip(zi‖1‖yi+1)4 Retourner h(x) = zk+1

Theoremsi zip résistante aux collisions, t ≥ 2 alors h est résistante aux collisions.

ConclusionIl suffit donc de définir une fonction de compression de0, 1m+t → 0, 1m résistante aux collisions pour avoir une fonction dehachage résistante aux collisions.

J.-O. Lachaud (LAMA) INFO006 123 / 183

Un exemple : SHA-1 IEmpreinte ou condensat de 160 bitsBourrage SHA : message M découpé en blocs de 512 bitsM1 . . . Mk−1 Mk 10 · · · 0 l(M)

Compression 512 bits vers 160 bits16 mots de Mi Wt = ROTL1(Wt−3 ⊕Wt−8 ⊕Wt−14 ⊕Wt−16)

W0 · · · W15 W16 · · · · · · · · · · · · · · · W79

I 80 itérations du calcul

I Les fonctions Ft(B,C ,D) sont dela forme

0 ≤ t ≤ 19 (B∧C )∨((¬B)∨D)20 ≤ t ≤ 39 B ⊕ C ⊕ D40 ≤ t ≤ 59 (B ∧ C ) ∨ (B ∧D) ∨

(C ∧ D)60 ≤ t ≤ 79 B ⊕ C ⊕ D

I Ki constantes

I A,B,C,D,E initialisés à desconstantes

J.-O. Lachaud (LAMA) INFO006 124 / 183

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; \

done09d2af8dd22201dd8d48e5dcfcaed281ff9422c7e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e7448d8798a4380162d4b56f9b452e2f6f9e24e7aa3db5c13ff90a36963278c6a39e4ee3c22e2a4369c6b057a2b9d96a4067a749ee3b3b0158d390cf15d9474c0309b7ca09a182d888f73b37a8fe1362cccf271b7830882da1791852baeca1737fcbe4b90d3964f9dad9f60363c81b688324d95b4ec7c8038136571b41aa14adc10c5f3c987d43c02c8f5d498

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; \

done09d2af8dd22201dd8d48e5dcfcaed281ff9422c700f7c7d8a69f4228724ce25e4993aa87b789433b1e4dab666517568b861e1ebd3749405916e4850646f4d6c2a816fb7dc6a7686dbb3d7f1f27ee5d121d9c4099519d4feea51d97bc33a265be5c41f1a77d5c9566dd41309b057f4dee18dbe65942eb2ef33aa4393fd13818fa130441b16303ed6ab6dbd94df9057849c84eadd1e33b80b73b8461c8ec017434b052986d891ae86a7606f5cf195b03961b1411c8bb5ab12bf139a43f44ec2f1a1c679a11fb34cd46

les fonctions de hachage se conduisent statistiquement comme desgénérateurs aléatoires

J.-O. Lachaud (LAMA) INFO006 127 / 183

Schémas de signature I

Signature numérique 6= signature conventionnelleI pas de lien physique message/signature ⇒ “collage”I vérification beaucoup plus sûreI 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

I signer sigK (privé) : S ← sigK (M) où M est un message ou un défi

I vérifier verK (public) : verK : (M, S) 7→ vrai , faux

Il fautI 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

I non-répudiation : vérifier qu’on ne peut créer deux documents ayantmême signature valide (collision)

I intégrité : vérifier qu’on ne peut falsifier les données signées (secondepréimage)

I authentification : s’assurer que personne numérique et personnephysique 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 = sigK (M) = dK (M) = Ma mod n3 Bob vérifie que S est la signature de M avec clé publique d’Alice4 vérifier verK (M, S) = (eK (S) == M) = ((Sb mod n) == M)

Défauts1 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 ElGamal1 Alice signe M, sa clé K = (p, α, β, a), β ≡ αa(mod p)2 Alice tire k au hasard dans Z?p−13 signer S = sigK (M, k) = (γ, δ), avec

F γ = αk mod p,F δ = (M − aγ)k−1 mod (p − 1)

4 Bob vérifie que S = (γ, δ) est la signature de M avec clé publiqued’Alice

5 vérifier verK (M, (γ, δ)) = (βγγδ ≡ αM(mod p)).

Défauts1 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 signatureOn ne signe qu’une empreinte

I car signature longue en temps et mémoireI 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

Plan

1 Introduction à la sécurité et à la cryptologie

2 Cryptosystèmes et science de la cryptologieDéfinitions et objectifsCryptographie historiqueSûreté d’un chiffrement, Théorie de Shannon, secret parfaitCryptosystèmes à clé secrète partagéeCryptosystèmes à clé publiqueHachages et schémas de signaturesCertificats, gestion des clés

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO006 135 / 183

Certificats et authentification I

S’assurer que personne physique et numérique sont les mêmesPrincipe : infrastructure de gestion de clés (IGC, PKI) qui

I stockent les clés publiquesI garantissent la conformité clé/personneI gère la durée de vie de la clé, sa révocationI autorité de certification : signe les demandes de certificats et les

révocationsI autorité d’enregistrement : génère certificats, vérifie identité/unicitéI 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 avanto Pas après

* Détenteur du certificat* Informations sur la clé publique

o Algorithme de la clé publiqueo 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: ~/.gnupgAlgorithmes supportés:Clé publique: RSA, RSA-E, RSA-S, ELG-E, DSAChiffrement: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISHHachage: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224Compression: Non-compressé, ZIP, ZLIB, BZIP2

J.-O. Lachaud (LAMA) INFO006 139 / 183

Cas d’étude : GnuPG III2 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é; leprogramme le construit à partir du nom réel, d’un commentaire et d’uneadresse e-mail de cette manière:

Heinrich Heine (Der Dichter) <[email protected]>

Nom réel : Jean BonAdresse e-mail : [email protected]

Commentaire : Comme du bon pain

J.-O. Lachaud (LAMA) INFO006 140 / 183

Cas d’étude : GnuPG IVVous avez sélectionné ce nom d’utilisateur:

"Jean Bon (Comme du bon pain) <[email protected]>"

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: vérifier la base de confiancegpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèlede confiance PGPgpg: profondeur: 0 valide: 2 signé: 0confiance: 0-. 0g. 0n. 0m. 0f. 2ugpg: la prochaine vérification de la base de confiance aura lieu le 2013-02-04pub 1024D/AAF48B9E 2008-02-06

Empreinte de la clé = 8B59 5F66 F3E0 28F3 15FF 20DF 10BC 6865 AAF4 8B9Euid Jean Bon (Comme du bon pain) <[email protected]>sub 2048g/85B0C9A7 2008-02-06

clé publique de Jean Bon (8 derniers octets) : AAF48B9E3 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 <[email protected]>sub 2048g/31BC7EF2 2008-02-06 [expire: 2013-02-04]

pub 1024D/FE3AAF25 2007-03-15 [expire: 2008-10-07]uid David Coeurjolly <[email protected]>sub 2048g/DF839ABF 2007-03-15 [expire: 2008-03-19]

...

pub 1024D/AAF48B9E 2008-02-06uid Jean Bon (Comme du bon pain) <[email protected]>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 VIsec 1024D/AAF48B9E 2008-02-06 Jean Bon (Comme du bon pain) <[email protected]>

Générer un certificat de révocation pour cette clé ? (o/N) ochoisissez la cause de la révocation:

0 = Aucune raison spécifiée1 = La clé a été compromise

...Vous avez besoin d’une phrase de passe pour déverrouiller laclé secrète pour l’utilisateur: Jean Bon (Comme du bon pain) <[email protected]>

***************

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 aaccès à ce certificat il peut l’utiliser pour rendre votre cléinutilisable.Une bonne idée consiste à imprimer ce certificat puis à le stockerailleurs, au cas où le support devient illisible. Mais attention :le système d’impression de votre machine pourrait stocker cesdonné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

iFsEIBECABsFAkeq4MIUHQJNb3QgZGUgcGFzc2UgcGVyZHUACgkQELxoZar0i548FwCgoHbQzsn9/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.netpgp.mit.edupgp.nic.ad.jpkeyserver.veridis.compgp.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 <[email protected]>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.netgpg: clé C3507937: clé publique « Csongor Sarkozy <[email protected]> » importéegpg: 3 marginale(s) nécessaires, 1 complète(s) nécessaires, modèlede confiance PGPgpg: profondeur: 0 valide: 1 signé: 0confiance: 0-. 0g. 0n. 0m. 0f. 1ugpg: la prochaine vérification de la base de confiance aura lieu le 2013-02-04gpg: Quantité totale traitée: 1gpg: importée: 1

J.-O. Lachaud (LAMA) INFO006 147 / 183

Cas d’étude : GnuPG XI8 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+8PMWAMC6S1GYBfiwagch+GFCtZQwiBkUT4USJ8mV1XB4ScuCWJAsmoP1wV+p07j7n/3WaiHglmWZKb0cPJe9zPP+XFDsWX8KNafuBtlUq3KRVb68giohlDDbb3yT/+JYQG7Lq1k71czSlebKrtk1Hf5vw/mpCEN3Ig/JR8jGlHcGaR3n/RHLykvs8s0dSiyOa9TfZ1snn3LQFWGauRm3Ylbw6dp9NPXTVpJHxCNZzFzTEllXKuwqP8iSvP7XCIaJzIZXdJl36GL+iEPPOgzl2LqIrCVeLrRLVRTiQ6/JVBOwf/TxSV+ZrUlw+7fXGIAPb88eqleP4OLDZ+9NG2jaSZDyQxuycg4aOlvsFWP4mraIHD0TItulLkz+171hl96I6XrK4ezOjdPSLN13dQjf2+PP7dti/hylxgOfOLiMqI7MN524JxA+g/BCcwcY08FB+PlF8lIeyZvhrPweC8b31Cb2mKQA6w10+CbUAEtugJ3H3tx0vuW0W20d45qKcfy06rCBd8+oBBYMvw6Lmr3u9iNd46pC5ESHKv7jPn92Th9/ML2EEz3UV8gjtKUMlOCgD3Cbk7vhmORxtsPX8Zc52zSa7D3Ma93PObb1a04YdP6JuR60/8/dcTgwXs6bbh6X4PuNJ7AY8xk2Nu8T1SBdkbqRYFj7PrL/uLg6q7th6Y6KxGkahTESfGQ+wZuRwGwSaH2I/IRgDBQ0lR8hxKUUGsE876RLfgfb6eQOdMr87G8pCIZPo9cZJKZ5D7K8J4IMlxKwVAg3rG+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 laclé secrète pour l’utilisateur: Jean Bon (Comme du bon pain) <[email protected]>clé de 2048 bits ELG-E, ID 85B0C9A7, créée le 2008-02-06 (ID clé principale AAF48B9E)

gpg: chiffré avec une clé de 2048 bits ELG-E, ID 85B0C9A7, créée le 2008-02-06Jean Bon (Comme du bon pain) <[email protected]>

*****************

$ 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 laclé secrète pour l’utilisateur: Jean Bon (Comme du bon pain) <[email protected]>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/MRpiRtACdHe69EMjIUL4ZYw47NfkXVkADqlw==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 AAF48B9Egpg: Bonne signature de Jean Bon (Comme du bon pain) <[email protected]>

$ 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 AAF48B9Egpg: MAUVAISE signature de Jean Bon (Comme du bon pain) <[email protected]>

J.-O. Lachaud (LAMA) INFO006 152 / 183

Cas d’étude : GnuPG XVI12 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 laclé secrète pour l’utilisateur: Jean Bon (Comme du bon pain) <[email protected]>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 Lachaudpeut le faire :$ gpg message.txt.asc

Vous avez besoin d’une phrase de passe pour déverrouiller laclé secrète pour l’utilisateur: Jacques-Olivier Lachaud <[email protected]>clé de 2048 bits ELG-E, ID 31BC7EF2, créée le 2008-02-06 (ID clé principale C294834D)

*****************

gpg: chiffré avec une clé de 2048 bits ELG-E, ID 31BC7EF2, créée le 2008-02-06Jacques-Olivier Lachaud <[email protected]>

gpg: Signature faite le jeu 07 fév 2008 17:41:24 CET avec la clé DSA ID AAF48B9Egpg: Bonne signature de Jean Bon (Comme du bon pain) <[email protected]>

J.-O. Lachaud (LAMA) INFO006 153 / 183

Cas d’étude : GnuPG XVII13 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

iFsEIBECABsFAkeq4MIUHQJNb3QgZGUgcGFzc2UgcGVyZHUACgkQELxoZar0i548FwCgoHbQzsn9/CKYcbJPe9ooWvCnoGEAnjrXsgyUQQsAW2d7oupgr7VQ63VG=utF/-----END PGP PUBLIC KEY BLOCK-----

gpg: clé AAF48B9E: Jean Bon (Comme du bon pain) <[email protected]>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) <[email protected]>

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 cryptologieArithmétiques moduloThéorème de Fermat ; Algorithme(s) d’EuclideProbabilité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 cryptologieArithmétiques moduloThéorème de Fermat ; Algorithme(s) d’EuclideProbabilités discrètes

5 Bibliographie

J.-O. Lachaud (LAMA) INFO006 159 / 183

Congruence, anneau Zm I

Definition (Congruence, module)Si a, b et m sont des entiers, m > 0, on écrit a ≡ b(mod m) si m diviseb − a (noté m|(b − a)). C’est une relation d’équivalence appeléecongruence 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érifieque a et b sont congrus ssi leurs restes sont égaux. Leurs restes sont entre0 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’équivalenceMontrer 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 m3 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 Zm IIMontrer que 101 ≡ 3(mod 7)

La congruence modulo n étant une relation d’équivalence sur l’ensembledes 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 quea ≡ a′(mod m). On la note [a]m, ou a + mZ, ou encore, tout simplement,a 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 Zm.

Definition (Anneau commutatif Zm, m > 0)On définit une addition et une multiplication sur Zm 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 Zm 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 et25.

Quand est-ce que tous les entiers de Z26 sont générés ?

Vérifier que (a mod m)(b mod m) ≡ ab(mod m). En déduire que (amod m)n ≡ an(mod m).

J.-O. Lachaud (LAMA) INFO006 162 / 183

Inverse dans Zm, corps Zp avec p premier I

TheoremL’équation ax ≡ b(mod m) admet une solution unique x ∈ Zm pour toutb ∈ Zm ssi pgcd(a,m) = 1.

Soit a ∈ Zm. Un inverse de a est un élément a−1 ∈ Zm tel queaa−1 ≡ a−1a ≡ 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 ssipgcd(a,m) = 1.

Vérifier que pour m premier, Zm 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 msont premiers entre eux. Le nombre des entiers de Zm qui sont premiersavec 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 IIIOn rappelle que tout nombre m > 1 se factorise de manière unique enproduits de puissances de nombres premiers [Théorème fondamental del’arithmétique] (e.g. 98 = 2× 72).

TheoremSi m = Πn

i=1peii , où les pi sont premiers distincts. Alors

φ(m) = Πni=1(pei

i − pei−1i ).

Démonstration.On utilise le fait que si u et v sont premiers entre eux et strictementspositifs, alors φ(uv) = φ(u)φ(v). On montre ensuite par récurrence sur mque φ(m) = Πn

i=1φ(peii ), en utilisant le caractère multiplicatif de φ. Puis

φ(peii ) = pei

i − pei−1i , car les entiers 1× pi , 2× pi , . . . , p

ei−1i × pi sont les

seuls entiers non premiers avec peii , ce qui conclut.

Exercices :J.-O. Lachaud (LAMA) INFO006 165 / 183

Inverse dans Zm, corps Zp avec p premier IV

φ(40) = φ(5 · 23) = (5− 1)(23 − 22) = 16 = 40(1− 1/5)(1− 1/2) =160/10.

Si m premier, que vaut φ(m) ?

Montrez que φ(m) = mΠni=1(1− 1

pi).

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.

limn→+∞

π(n)

n/ ln n= 1.

∀n ≥ 5, φ(n) ≥ n6 ln ln n

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 cryptologieArithmétiques moduloThéorème de Fermat ; Algorithme(s) d’EuclideProbabilités discrètes

5 Bibliographie

J.-O. Lachaud (LAMA) INFO006 168 / 183

Théorème de Fermat et autresZ∗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 > 0tel que gm = 1.

Theorem (Lagrange)Si G est un groupe multiplicatif à n éléments et si g ∈ G, alors l’ordre de gdivise n.

Corollary (Petit théorème de Fermat)Si a ∈ Z et p premier, alors ap ≡ a(mod p).

Corollary (Euler)

Si b ∈ Z∗n, alors bφ(n) ≡ 1(mod n).

Exemples : 46 mod 7 = 1, 36 mod 7 = 1, 52 mod 6 = 1, etcJ.-O. Lachaud (LAMA) INFO006 169 / 183

Calcul du pgcd

Algorithme d’Euclide de calcul du pgcd

INPUT: a, b dans Z, a >= b >= 0OUTPUT: pgcd(a,b)1. Tant que b != 0 faire

1.1 r := a mod b, a := b, b := r2. 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 étenduAlgorithme d’Euclide étendu

INPUT: a, b dans Z, a >= b >= 0OUTPUT: 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 bitsMontrez qu’à tout passage de 3.4, on a r = a0x + b0y . (point fixe dela boucle, a0 et b0 sont les valeurs initiales de a et b. Indicez lesvariables avec le numéro de l’itération.)Montrez que si pgcd(a, b) = 1, alors b−1 mod a = y mod a.Cet algorithme calcule efficacement l’inverse d’un entier dans Za.

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 cryptologieArithmétiques moduloThéorème de Fermat ; Algorithme(s) d’EuclideProbabilités discrètes

5 Bibliographie

J.-O. Lachaud (LAMA) INFO006 172 / 183

Expérience, probabilité Iexpérience : procédure qui a une issue (événement simple s1, s2, . . . ) parmiun ensemble d’issues possibles (univers S)distribution de probabilités P sur S : suite de nombres positifs pi associée àchaque si , de somme 1. pi est la probabilité que l’événement si soit l’issuede l’expérimentation.

Definition (Evénement)événement E : sous-ensemble de S . La probabilité de E est la somme desprobabilités de chaque événement élémentaire de E , i.e. Pr[E ] =

∑si∈E pi .

O ≤ Pr[E ] ≤ 1. Pr[S ] = 1 et Pr[∅] = 0.Pr[E ] = 1− Pr[E ].

Si les pi sont identiques, Pr[E ] = |E ||S | .

Pr[E1 ∩ E2] est la probabilité mutuelle de E1 et E2. Deux événements sontmutuellement exclusifs ssi Pr[E1 ∩ E2] = 0

J.-O. Lachaud (LAMA) INFO006 173 / 183

Expérience, probabilité II

si E1 ⊆ E2 alors Pr[E1] ≤ Pr[E2]

Pr[E1 ∪ E2] + Pr[E1 ∩ E2] = Pr[E1] + Pr[E2].

Montrez que l’événement “deux jets de pièces donnent un pile et unface” a une probabilité 1/2.

Montrez que l’événement “la somme de deux jets de dés vaut 3” a uneprobabilité 1/12. On utilisera une expérience définie sur1, 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. Quelleest sa distribution de probabilités ?

J.-O. Lachaud (LAMA) INFO006 174 / 183

Expérience, probabilité IIIDefinition (Probabilité conditionnelle)Si E1 et E2 sont deux événements, Pr[E2] > 0. La probabilité conditionnellede E1 étant donné E2 est

Pr[E1|E2] =Pr[E1 ∩ E2]

Pr[E2].

Cela mesure la probabilité que E1 se réalise, sachant que E2 s’est réalisé.

Les événements E1 et E2 sont indépendants ssi Pr[E1 ∩E2] = Pr[E1]Pr[E2].

Theorem (Théorème de Bayes)Soient E1 et E2 deux événements. Si Pr[E2] > 0, on aPr[E1|E2] = Pr[E1]Pr[E2|E1]

Pr[E2].

En déduire que E1 et E2 sont indépendants ssi Pr[E1|E2] = Pr[E1].

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 telque E = s ∈ S ,X (s) = x.

Pr[X = x ] = Pr[X−1(x)] =∑

si∈S ,X (si )=x

Pr[si] =∑

si∈S ,X (si )=x

pi

.

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 de1, 2, 3, 4, 5, 6 × 1, 2, 3, 4, 5, 6 vers R (qui prend seulement 11valeurs). Que vaut Pr[X = 11] ?

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 lavaleur 1 si les dés forment un double, 0 sinon. Déterminez d’abordPr[Y = 1] et Pr[Y = 0]. Calculer ensuite Pr[Y = 1|X = 4] etPr[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 ) estE (X ) =

∑si∈S X (si )Pr[si ].

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 X1 et X2 sont des vad sur S ,alors E (a1X1 + a2X2) = a1E (X1) + a2E (X2).

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. Parabus, 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 PrX = 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 X1 = j et X2 = 7− j .Leur probabilités sont 1/6 pour tout j .

Par abus, on peut les voir comme des variables aléatoires discrètestriviales, 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 sousWindows 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

I Wikipedia [http ://fr.wikipedia.org/wiki/Cryptologie]I MathWorld [http ://mathworld.wolfram.com]I Appprendre En Ligne

[http ://www.apprendre-en-ligne.net/crypto/menu/index.html]I Handbook of applied cryptography

[http ://www.cacr.math.uwaterloo.ca/hac/]

Organismes liés à la sécurité sur Internet

I Internet Crime Complaint Center (IC3) [http ://www.ic3.gov]I les RFCs de l’Internet Engineering Task Force (IETF) [www.ietf.org]

Entreprises prenant part à la sécurité

I Bulletins sécurité de Microsoft [http ://www.microsoft.com/technet/security/]

Organismes liés à la sécurité des réseaux universitaires

I CERT Renater [http ://www.renater.fr/rubrique.php3 ?id_rubrique=19]I Bulletins de vulnérabilités du CERT Renater

[http ://sites.univ-provence.fr/wcri/d_serv/d_reseau/d_cert/courant/index.html]I 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é

I Journal du Net [http ://www.journaldunet.com/solutions/securite/]I CommentCaMarche.Net [http ://www.commentcamarche.net]

Entreprises spécialisées (proposant des informations en ligne)

I SOPHOS [http ://www.sophos.fr]I Symantec [http ://www.symantec.com]

PGP et GnuPG

I Site officiel de PGP [http ://www.pgp.com]I Site officiel de GnuPG [http ://www.gnupg.org]I Introduction à GnuPG [http ://gpglinux.free.fr/]I GnuPG pour Thunderbird / EnigMail

[http ://enigmail.mozdev.org/home/index.php]I RFC 4880 sur OpenPGP [http ://www.ietf.org/rfc/rfc4880.txt]

J.-O. Lachaud (LAMA) INFO006 183 / 183