Master 2 ISC - Page d’accueil du LAMA

181

Transcript of Master 2 ISC - Page d’accueil du LAMA

Page 1: Master 2 ISC - Page d’accueil du LAMA

INFO913 - Cryptologie et Sécurité InformatiqueMaster 2 ISC

Jacques-Olivier Lachaud1

1Laboratoire de Mathématiques Université de Savoie

septembre 2008

J.-O. Lachaud (LAMA) INFO913 1 / 205

Page 2: Master 2 ISC - Page d’accueil du LAMA

Introduction

INFO913 : Cryptologie et sécurité informatique

Deux points de vue1 cryptologie, application à la sécurité informatique et réseaux2 sécurité informatique et réseaux, utilisation de la cryptologie

Evaluation1 contrôle continu : TPs2 exposé sur un thème précis

Déroulement : Cours (9× 1, 5h), TD (2× 1, 5h), TP (3× 3h)

Plan général1 Introduction à la sécurité et à la cryptologie2 Cryptologie3 Sécurité informatique et réseaux

http ://www.lama.univ-savoie.fr, et rajouter /wiki, suivre INFO913

J.-O. Lachaud (LAMA) INFO913 2 / 205

Page 3: Master 2 ISC - Page d’accueil du LAMA

Plan

1 Introduction à la sécurité et à la cryptologieDénitions 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) INFO913 3 / 205

Page 4: Master 2 ISC - Page d’accueil du LAMA

Plan

1 Introduction à la sécurité et à la cryptologieDénitions 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) INFO913 4 / 205

Page 5: Master 2 ISC - Page d’accueil du LAMA

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éserverI l'intégrité de l'informationI la condentialité 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) INFO913 5 / 205

Page 6: Master 2 ISC - Page d’accueil du LAMA

Cryptographie et cryptanalyse

[Source Wikipedia]

Denition (Cryptographie)

La cryptographie est une des disciplines de la cryptologie s'attachant àprotéger des messages (assurant condentialité, authenticité et intégrité)en s'aidant souvent de secrets ou clés.

Denition (Cryptanalyse)

La cryptanalyse s'oppose, en quelque sorte, à la cryptographie. En eet, sidéchirer 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) INFO913 6 / 205

Page 7: Master 2 ISC - Page d’accueil du LAMA

Plan

1 Introduction à la sécurité et à la cryptologieDénitions 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) INFO913 7 / 205

Page 8: Master 2 ISC - Page d’accueil du LAMA

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é : certication de la non-altération des données, traitements etservices

condentialité : protection des données contre une divulgation nonautorisée

authentication : vérication de l'identité de l'utilisateur et de sesautorisations

non-répudiation : imputabilité, traçabilité, auditabilité

J.-O. Lachaud (LAMA) INFO913 8 / 205

Page 9: Master 2 ISC - Page d’accueil du LAMA

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'exploitation

hôte (système d'exploitation à jour, authentication)

sécurité logique

données (accès aux chiers, autorisations, chirements, sauvegarde)

sécurité applicative

applications (virus, chevaux de troie, espiogiciels, spam, restrictions etlocalisations 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) INFO913 9 / 205

Page 10: Master 2 ISC - Page d’accueil du LAMA

Menaces informatiques

menace : action susceptible de nuire

vulnérabilité ou faille : niveau d'exposition face à une menace dans uncertain contexte

contre-mesure ou parade : ensemble des actions mises en oeuvres enprévention d'une menace

attaque : exploitation d'une faille (d'un syst info) à des ns nonconnus de l'exploitant du système et généralementpréjudiciables

en permanence sur Internet par machines infectéesrarement pirates

J.-O. Lachaud (LAMA) INFO913 10 / 205

Page 11: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 11 / 205

Page 12: Master 2 ISC - Page d’accueil du LAMA

Plan

1 Introduction à la sécurité et à la cryptologieDénitions 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) INFO913 12 / 205

Page 13: Master 2 ISC - Page d’accueil du LAMA

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 Internet

en 2007, la cybercriminalité pèse 7,1 milliards de dollars aux USA

Typologie : malveillance, erreur, accident

Cibles : états, organisations, individus

Vol d'identité, Chantage, Fraude nanciè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) INFO913 13 / 205

Page 14: Master 2 ISC - Page d’accueil du LAMA

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, modiée,usurpée

disponibilité d'outils, paradis numériques

dépendance des états/organisations à l'informatique ⇒ facteur derisque ⇒ cyberterrorisme

J.-O. Lachaud (LAMA) INFO913 14 / 205

Page 15: Master 2 ISC - Page d’accueil du LAMA

Typologie des attaques

accès physique : coupure électricité, vol de disque dur, écoute tracré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é delogiciels 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 voirsa responsabilité engagée.

J.-O. Lachaud (LAMA) INFO913 15 / 205

Page 16: Master 2 ISC - Page d’accueil du LAMA

Logiciels malveillants : Virus, Vers, troyens I

Virus Tout programme capable d'infecter un autre programme en lemodiant de façon à ce qu'il puisse se reproduireBrain (premier sur PC en 1986), Netsky (2004, lit chiersEML, 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)BackOrice, 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) INFO913 17 / 205

Page 17: Master 2 ISC - Page d’accueil du LAMA

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 modie 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) INFO913 18 / 205

Page 18: Master 2 ISC - Page d’accueil du LAMA

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, achage 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 chiers/programmes àchaque accès

scanneurs à la demande : examine lesdisques/chiers/programmes suite à une demande

J.-O. Lachaud (LAMA) INFO913 19 / 205

Page 19: Master 2 ISC - Page d’accueil du LAMA

Spywares : espiogiciels I

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

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,rewall

keylogger enregistreur de touches : enregistrement des touches à l'insude l'utilisateur. dispositif d'espionnage. Souvent un logiciel.

J.-O. Lachaud (LAMA) INFO913 21 / 205

Page 20: Master 2 ISC - Page d’accueil du LAMA

Spywares : espiogiciels II

dongle version hardware (ex : KeyKatch)

J.-O. Lachaud (LAMA) INFO913 22 / 205

Page 21: Master 2 ISC - Page d’accueil du LAMA

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 (n 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) INFO913 24 / 205

Page 22: Master 2 ISC - Page d’accueil du LAMA

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é ?

Comment un programme malicieux fait-il pour se rendre invisible aprèsinfection ?

Comment un virus fait-il pour ne pas infecter deux fois le mêmechier ?

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

J.-O. Lachaud (LAMA) INFO913 25 / 205

Page 23: Master 2 ISC - Page d’accueil du LAMA

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é able(genre banque), redirection vers site pirate ⇒ donnéesbancaires, mots de passe

J.-O. Lachaud (LAMA) INFO913 27 / 205

Page 24: Master 2 ISC - Page d’accueil du LAMA

Menaces nouvelles II

http://[email protected]/

http://www.mabanque.com.unsite.net/

Pharming (empoisonnement DNS) exploite une vulnérabilité pourrediger le trac 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) INFO913 28 / 205

Page 25: Master 2 ISC - Page d’accueil du LAMA

Menaces nouvelles III

Vishing (VoIP + phishing). Serveurs VoIP appelant des numérosxes, 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échirement.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'identiant 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) INFO913 29 / 205

Page 26: Master 2 ISC - Page d’accueil du LAMA

Chires et évolutions des menaces I

Pertes et typologie des plaintes référencées par l'I3C (USA)

J.-O. Lachaud (LAMA) INFO913 31 / 205

Page 27: Master 2 ISC - Page d’accueil du LAMA

Chires et évolutions des menaces II

I Plus de 85% des plaintes portent sur moins de 1000 $ (en 2004)I Plus de 86% des plaintes portent sur moins de 5000 $ (en 2006)

J.-O. Lachaud (LAMA) INFO913 32 / 205

Page 28: Master 2 ISC - Page d’accueil du LAMA

Chires et évolutions des menaces III

Evolution des menaces informatiques dans le monde de 2004 à 2005Menaces Attaques 2004 Attaques 2005

Phishing 18,0 % 25,0 %Virus et vers 68,6 % 66,6 %

[Source CompTIA]

Nombres d'incidents rapportés au CERT1998 1999 2000 2001 2002 2003

5000 11000 22000 53000 85000 138000

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

J.-O. Lachaud (LAMA) INFO913 33 / 205

Page 29: Master 2 ISC - Page d’accueil du LAMA

Plan

1 Introduction à la sécurité et à la cryptologieDénitions 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) INFO913 34 / 205

Page 30: Master 2 ISC - Page d’accueil du LAMA

Cryptographie et critères de sécurité

Satisfaire les objectifs de sécurité via la cryptographie : condentialité,intégrité, Authentication, non-répudiation, disponibilité ?

Outils : chirement, signature, fonction de hachage

J.-O. Lachaud (LAMA) INFO913 35 / 205

Page 31: Master 2 ISC - Page d’accueil du LAMA

Chirement symétrique ou à clé secrète I

Chirement de données avec une clé secrète KI chirer : transforme un message clair M en un message chiré

C = dK (M) avec une clé KI déchirer : transforme un message chiré C en un message clair

M = eK (C )I contraintes : dicile de déduire M de C sans KI condentialité des données pour une personneI condentialité d'un message entre 2 personnes partageant cette clé

en clair chiré

I authentication de l'expéditeur si K est resté secret

J.-O. Lachaud (LAMA) INFO913 36 / 205

Page 32: Master 2 ISC - Page d’accueil du LAMA

Chirement symétrique ou à clé secrète II

Avantages : rapidité du chirement/déchirement

Inconvénients : échange de K par un autre canal, dialogue entre n

personnes nécessitent bcp de clés

Exemples : DES, 3DES, blowsh, IDEA, AES

Utilisés dans : SSH, SSL/TLS, WiFi (IEEE 802.11i), VPN/IPsec

J.-O. Lachaud (LAMA) INFO913 37 / 205

Page 33: Master 2 ISC - Page d’accueil du LAMA

Cryptographie asymétrique ou à clé publique I

Chirement asymétrique : une communication non secrète permet devéhiculer une information que seul le destinataire peut comprendreidée [Die-Hellman 1976], RSA [Rivest, Shamir, Adleman 1977]

Chirement de données avec (clé publique ≈ eK , clé secrète ≈ dK )

I La clé publique eK , connue de tous, sert à chirerI Le message eK (M) peut être véhiculé au vu et au su de tout le mondeI La clé privée dK , tenue secrète, sert à déchirerI Contrainte : dicile de déduire dK de eKI condentialité

J.-O. Lachaud (LAMA) INFO913 38 / 205

Page 34: Master 2 ISC - Page d’accueil du LAMA

Cryptographie asymétrique ou à clé publique II

Avantages : une seule clé secrète, communication secrète dans unsecond temps

Très utile pour échanger les clés pour ouvrir un tunnel decommunication chiré (VPN, TLS/SSL). Uilisés aussi dans PGP.

Inconvénients : lenteur, pas d'authentication de la source, attaqueMan-In-The-Middle

Nécessité de protocoles d'échanges de clé (IKE pour IPsec)

Exemples : RSA [1977] (factorisation), chirement ElGamal [1985](logarithme discret), Merkle-Hellman [1978] (sac-à-dos)

J.-O. Lachaud (LAMA) INFO913 39 / 205

Page 35: Master 2 ISC - Page d’accueil du LAMA

Signatures numériques I

introduite par Die et Hellman (1976)

signature : sceau, prouver l'identité de l'expéditeur (non-répudiation)et l'intégrité du message

contraintes : empêcher l'usurpation, la non-reconnaissanceI calculable par le signataire ∀MI le destinataire (et tout individu) peut vérier la signatureI non falsiableI non imitable

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

vérier verK (public) : verK : (M, S) 7→ vrai , fauxExemple : signature RSA

I signer sigK est le déchirement dKL'expéditeur donne M et S = sigK (M).

I vérier verK est le chirement eKLe destinataire calcule M ′ ← verK (S) = eK (dk(M)) et vérie M = M ′

J.-O. Lachaud (LAMA) INFO913 40 / 205

Page 36: Master 2 ISC - Page d’accueil du LAMA

Signatures numériques II

Exemples : PGP, RSA, signature ElGamal/DSA

Utilisation : SSL, S-MIME

en théorie, découpage en blocs d'un message + signatures de chaquebloc garantit l'intégrité. Trop coûteux en pratique.

J.-O. Lachaud (LAMA) INFO913 41 / 205

Page 37: Master 2 ISC - Page d’accueil du LAMA

Fonctions de hachage et empreinte I

garantir l'intégrité d'un message M

signer tout M est trop coûteux

calcul d'une empreinte de M par hachage h, de taille xée

signature de l'empreinte Z ← sigK (h(M))

vérication de l'intégrité par le destinataire1 Recevoir M ′,2 le hacher h(M ′),3 puis vérier verK (h(M ′),Z ) = vrai

contraintes : hachage rapide, à sens unique et à collision dicile

Exemples : MD5, SHA-1, DSA

Utilisation : garantir l'intégrité d'une communication (SSL), de mails(S-MIME), de chiers ou du système (antivirus)

J.-O. Lachaud (LAMA) INFO913 42 / 205

Page 38: Master 2 ISC - Page d’accueil du LAMA

Authentication I

Attaque Man-in-the-Middle

légitimer la clé publique cleA d'une personne

autorité de certication (AC)

émetteur A émet sa clé publique à une AC (qui vérie) et retourne uncerticat signé par l'AC : ZA,AC ← signAC (h(IdA, cleA))

le recepteur B vérie le certicat de A en calculant

J.-O. Lachaud (LAMA) INFO913 43 / 205

Page 39: Master 2 ISC - Page d’accueil du LAMA

Authentication II

1 ce qu'il reçoit : h(Id ′A, cle′A)2 et l'autorité de certication : verAC (ZA,AC )3 et teste l'égalité

évite Man-in-the-Middle

Mais quid de l'autorité de certication ?

J.-O. Lachaud (LAMA) INFO913 44 / 205

Page 40: Master 2 ISC - Page d’accueil du LAMA

Disponibilité I

cryptologie : inuence indirecte sur la disponibilité

Contraintes fortes peu conciliablesI architecture sécurisée transparente : condentialité sans mot de passe !I QoS implique rapidité des mécanismes de chirement et déchirement

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

J.-O. Lachaud (LAMA) INFO913 45 / 205

Page 41: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 46 / 205

Page 42: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 47 / 205

Page 43: Master 2 ISC - Page d’accueil du LAMA

cryptosystème I

J.-O. Lachaud (LAMA) INFO913 48 / 205

Page 44: Master 2 ISC - Page d’accueil du LAMA

cryptosystème II

Denition (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 chiré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 chirement eK ∈ E etune règle de déchirement correspondante dK ∈ D.

I eK : P → CI dK : C → PI Pour tout texte clair x ∈ P, dK (eK (x)) = x .

Chaque fonction de chirement doit être injective. Pourquoi ?

Si P = C, chaque fonction de chirement est une permutation.

J.-O. Lachaud (LAMA) INFO913 49 / 205

Page 45: Master 2 ISC - Page d’accueil du LAMA

Principe de la cryptographie, cryptanalyse I

Considérations pratiquesI les fonctions eK et dK doivent pouvoir se calculer ecacementI un opposant observant les messages chiré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 Kerckhos (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 chires civils suivent le principe de Kerckhos. Militaires utilisent des

systèmes secrets. NB : chirage 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) INFO913 50 / 205

Page 46: Master 2 ISC - Page d’accueil du LAMA

Résumé des outils I

arithmétique modulo (ex : caractères modulo 26, bits modulo 2)

chirement eK , déchirement dK à clé secrète K

chirement public eK , déchirement privé dK

signature privée sigK , vérication publique verK

fonction de hachage h publique, empreinte privée sigK (h(x))

J.-O. Lachaud (LAMA) INFO913 51 / 205

Page 47: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 52 / 205

Page 48: Master 2 ISC - Page d’accueil du LAMA

Chirements monoalphabétiques I

quelques grands noms : Al-Kindi (801-873), Alberti (1404-1472),Vigenère (1523-1596), Porta (1535-1615), Babbage (1792-1872),Kerckhos (1835-1903), Turing (1912-1954)

chire de substitution : remplacer les lettres ou les mots par d'autressymboles

On appelle chirement monoalphabétique ou substitution simple, unchire où chaque lettre est remplacée par une autre lettre ou symbole.

chire 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) INFO913 54 / 205

Page 49: Master 2 ISC - Page d’accueil du LAMA

Chirements monoalphabétiques II

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

Denition (Cryptosystème par décalage)

Soient P = C = K = Z26. Pour 0 ≤ K < 26, on déniteK (x) = x + K mod 26, dK (y) = y − K mod 26.

Exercices :

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

M?

J.-O. Lachaud (LAMA) INFO913 55 / 205

Page 50: Master 2 ISC - Page d’accueil du LAMA

Chirements monoalphabétiques III

Chirement par substitution

Denition (Cryptosystème par substitution)

Soient P = C = Z26. Soit K l'ensemble des permutations sur les nombres0, 1, . . . , 25. Pour chaque π ∈ K, on déniteK (x) = π(x), dK (y) = π−1(y).

Exercices :

I Quelle est l'espace des clés de ce chirement ?I Est-ce qu'une recherche exhaustive est envisageable ?

Un autre exemple est le chirement ane 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) INFO913 56 / 205

Page 51: Master 2 ISC - Page d’accueil du LAMA

Chirements 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 chirement ane 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 chirement ane dans Z26. Quel estsa fonction de déchirement ?

I Combien y a-t-il de clés possibles ?

J.-O. Lachaud (LAMA) INFO913 57 / 205

Page 52: Master 2 ISC - Page d’accueil du LAMA

Chirements polyalphabétiques I

Un chirement polyalphabétique peut remplacer une lettre par une autrelettre qui n'est pas toujours la même. Cryptanalyse plus dicile.

Denition

Chirement de Vigenère Soit m > 0 et P = C = K = (Z26)m. Pour la clé

K = (k1, k2, . . . , km), on dénit

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.

J.-O. Lachaud (LAMA) INFO913 59 / 205

Page 53: Master 2 ISC - Page d’accueil du LAMA

Chirements polyalphabétiques II

jadoree couterl aradiot outelaj ournee

+ MUSIQUE MUSIQUE MUSIQUE MUSIQUE MUSIQU

= VUVWHYI OIMBULP MLSLYIX AOLMBUN AOJVUY

chirement par permutation (mélange de m lettres consécutives parune permutation/clé)

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

J.-O. Lachaud (LAMA) INFO913 60 / 205

Page 54: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse et analyse des fréquences I

Cryptanalyse : déterminer la clé K connaissant l'algorithme

I texte chiré connu (y) : écouteI texte clair connu (x ,y) : écoute + message connu (ex : protocole de

communication)I texte clair choisi (accès à la machine chirante émettrice)I texte chiré choisi (accès à la machine déchirante 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) INFO913 62 / 205

Page 55: Master 2 ISC - Page d’accueil du LAMA

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 chirements mono-alphabétiquesI Chire par décalage en deux trois essaisI Chire ane en quelques essais aussi.I Chire par substitution si texte susamment long. On utilise aussi les

bigrammes, trigrammes pour orienter la recherche.

J.-O. Lachaud (LAMA) INFO913 63 / 205

Page 56: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire 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 chirée de la même manière ssi δ ≡ 0(mod m).

On cherche des paires de segments de taille susante (≥ 3) : δ1, δ2, . . .

Il est probable que leur pgcd est m ou un multiple de m.

On peut vérier a posteriori cette valeur par l'indice de coïncidence.

J.-O. Lachaud (LAMA) INFO913 65 / 205

Page 57: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire de Vigenère II

[Source http ://www.apprendre-en-ligne.net]

J.-O. Lachaud (LAMA) INFO913 66 / 205

Page 58: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire de Vigenère III

J.-O. Lachaud (LAMA) INFO913 67 / 205

Page 59: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire 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 goures 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'inrme qui volait. Le poète est semblable au prince des

nuées, qui hante la tempête et se rit de l'archer.

J.-O. Lachaud (LAMA) INFO913 68 / 205

Page 60: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire de Vigenère V

Denition (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

)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

J.-O. Lachaud (LAMA) INFO913 69 / 205

Page 61: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire de Vigenère VI

Si texte aléatoire uniforme : Ic ≈ 26( 126)

2 ≈ 0, 038

Invariance de Ic(x) par tout chirement mono-alphabétique

Attaque du chire de Vigenère

Soit le texte chiré 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, 038

Détermine la longueur de la clé

J.-O. Lachaud (LAMA) INFO913 70 / 205

Page 62: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire de Vigenère VII

Denition (Indice de coïncidence mutuel)

L'indice de coïncidence mutuel de deux chaînes x et x' de même longueur

n est Ic(x, x') =∑25

a=0fanf ′an.

Clé de Vigenère à m connu

Soit ei (x) = x + i mod 26

On forme M(i) = Ic(ei (y), y')

y' est un texte clair (fr)

Si y est un texte chiré 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érieures

Calcul de 26− Kl pour chaque yl : K1 . . .Km est la clé de Vigenère

J.-O. Lachaud (LAMA) INFO913 71 / 205

Page 63: Master 2 ISC - Page d’accueil du LAMA

Cryptanalyse du chire de Vigenère VIII

Note historique : machines ENIGMA de la seconde guerre mondiale

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 : reecteurs, connecteurs

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

J.-O. Lachaud (LAMA) INFO913 72 / 205

Page 64: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 73 / 205

Page 65: Master 2 ISC - Page d’accueil du LAMA

Sûreté d'un chirement I

Sécurité sémantique : un attaquant ne récupère aucune informationsur le texte clair à partir du texte chiré. (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 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é dicile.Exemple : ls système X est sûr si un entier n donné ne peut êtrefactorisé.

J.-O. Lachaud (LAMA) INFO913 75 / 205

Page 66: Master 2 ISC - Page d’accueil du LAMA

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

Denition (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.

ie. si l'attaquant dispose de deux textes chirés de même taille etqu'on lui présente les deux textes clairs correspondants mais dans unordre quelconque, il se trompera ou devinera correctement avec uneprobabilité de 1/2.

cryptosystème soumis à une attaque passive.

J.-O. Lachaud (LAMA) INFO913 77 / 205

Page 67: Master 2 ISC - Page d’accueil du LAMA

Sécurité sémantique ou inconditionnelle II

Pour un message d'une lettre, le chirement 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 chirés par K .

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 eK (x) = y.

Denition (Chire de Vernam (1917) ou à masque jetable)

Soit n ≥ 1 et C = P = K = (Z2)n. Pour tout K ∈ K, on dénit eK et dK

comme le ou-exclusif de x ∈ P et K .

J.-O. Lachaud (LAMA) INFO913 78 / 205

Page 68: Master 2 ISC - Page d’accueil du LAMA

Sécurité sémantique ou inconditionnelle III

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) INFO913 79 / 205

Page 69: Master 2 ISC - Page d’accueil du LAMA

Théorie de Shannon, Entropie I

X est une vad (à nombre ni n de valeurs xi ), de probabilitésPr[X = xi ] = pi .

Denition (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 Human : 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) INFO913 80 / 205

Page 70: Master 2 ISC - Page d’accueil du LAMA

Théorie de Shannon, Entropie II

Denition (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) INFO913 81 / 205

Page 71: Master 2 ISC - Page d’accueil du LAMA

Théorie de Shannon, Entropie III

Corollary

Si X est une vad sur P et Y une vad sur C, la condition du secret parfaitest 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 )︸ ︷︷ ︸0

+H(K ,X ) et

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

+H(K ,Y ).

J.-O. Lachaud (LAMA) INFO913 82 / 205

Page 72: Master 2 ISC - Page d’accueil du LAMA

Entropie d'une langue, clés parasites, distance d'unicité I

Entropie d'un texte quelconque∑

x∈a−z126 log2

126 ≈ 4, 76

Entropie d'une lettre dans texte anglaish(P) =

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

lettres non indépendantes

Denition (Entropie d'une lettre 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.

J.-O. Lachaud (LAMA) INFO913 83 / 205

Page 73: Master 2 ISC - Page d’accueil du LAMA

Entropie d'une langue, clés parasites, distance d'unicité II

Denition

On appelle clé parasite une clé qui déchire un texte chiré y sous formed'un message compréhensible, alors que la clé utilisée était autre.

WNAJW, codé par décalage a deux clés F(5) et W(22) tels qued22(WNAJW ) = river et d5(WNAJW ) = arena : une est parasite.

Theorem

Le nombre moyen sn de clés parasites sur un texte chiré de longueur n (n

assez grand) vérie

sn ≥|K||P|nRL

− 1.

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

J.-O. Lachaud (LAMA) INFO913 84 / 205

Page 74: Master 2 ISC - Page d’accueil du LAMA

Entropie d'une langue, clés parasites, distance d'unicité III

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

Chirement 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) INFO913 85 / 205

Page 75: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 86 / 205

Page 76: Master 2 ISC - Page d’accueil du LAMA

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.

Denition (Système cryptographique produit)

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

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

déchirement 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 complexiepas S .

J.-O. Lachaud (LAMA) INFO913 87 / 205

Page 77: Master 2 ISC - Page d’accueil du LAMA

Système cryptographique produit II

Chirement par décalage, par substitution, ane, 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.

Chirements par substitution et par permutation ne commutent pas :AES

J.-O. Lachaud (LAMA) INFO913 88 / 205

Page 78: Master 2 ISC - Page d’accueil du LAMA

Algorithme de chirement itéré par bloc I

chirement par bloc à clé secrète K (longueur xée)

systèmes cryptographiques produits (permutation, substitution)

chirement par Ne étages successifs identiques

diversication de K en Ne clés (d'étage)

algorithme de chirement xé et public

w0 ← x

w1 ← g(w0,K 1)

w2 ← g(w1,K 2)

. . .

wNe ← g(wNe−1,KNe )

déchirement en sens inverse, g injective

J.-O. Lachaud (LAMA) INFO913 89 / 205

Page 79: Master 2 ISC - Page d’accueil du LAMA

Algorithme de chirement itéré par bloc II

Exemples :I réseaux de substitution/permutation

F substitution par blocs

F 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) INFO913 90 / 205

Page 80: Master 2 ISC - Page d’accueil du LAMA

Data Encryption Standard (DES) I

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

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

J.-O. Lachaud (LAMA) INFO913 91 / 205

Page 81: Master 2 ISC - Page d’accueil du LAMA

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 diversiée (56b) en 16 clés (48b)

déchirement : f n'a même pas besoind'être inversible !

J.-O. Lachaud (LAMA) INFO913 92 / 205

Page 82: Master 2 ISC - Page d’accueil du LAMA

Data Encryption Standard (DES) III

E : Expansion de 32b à 48b

on ajoute la clé d'étage

Sj : réduction par blocs 6 bits vers 4bits.

on permute le résultat par P

J.-O. Lachaud (LAMA) INFO913 93 / 205

Page 83: Master 2 ISC - Page d’accueil du LAMA

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 diérentielle (Biham, Shamir)1 attaque à texte clair choisi2 grand nombre de quadruplets (x , x∗, y , y∗), avec x ⊕ x∗ = x ′ xé3 fabriquer des diérentiels ∆x = x ⊕ x∗ qui maximise des dié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 diérentiels la plus fréquente7 on construit une piste de diérentiels en reliant les S-boîtes.

J.-O. Lachaud (LAMA) INFO913 94 / 205

Page 84: Master 2 ISC - Page d’accueil du LAMA

Critiques de DES II

8 avec beaucoup de couples, on estime quelques bits de la clé, le restepar balayage exhaustif

9 pas eectif pour DES : 258 paires, soit plus que l'attaque exhaustive.

J.-O. Lachaud (LAMA) INFO913 95 / 205

Page 85: Master 2 ISC - Page d’accueil du LAMA

Critiques de DES III

cryptanalyse linéaire (Matsui 1994)1 attaque à texte clair choisi

J.-O. Lachaud (LAMA) INFO913 96 / 205

Page 86: Master 2 ISC - Page d’accueil du LAMA

Critiques de DES IV

2 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 ⊕ · · · ⊕ Yjn

4 si espérance 6= 1

2, alors il y a un biais

5 trace ainsi un chemin de l'entrée vers la sortie, dont les variablesaléatoires ont un biais (qui dépend de la clé).

6 on chire beaucoup de messages, pour retrouver les bits de clé7 eectif : 243 paires, 40 jours pour génération, 10 jours pour trouver K .

Evolution de DES : 3DES. Surchirement 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 ecace car DES n'est pas idempotent !

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

J.-O. Lachaud (LAMA) INFO913 97 / 205

Page 87: Master 2 ISC - Page d’accueil du LAMA

Critiques de DES V

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

J.-O. Lachaud (LAMA) INFO913 98 / 205

Page 88: Master 2 ISC - Page d’accueil du LAMA

Modes opératoires I

Soit K une clé secrète initiale, IV un nombre

ECB electronic codebook modesimple chirement indépendant desblocs

CBC cipher block chaining mode :y0 = IV , yi+1 = eK (yi ⊕ xi+1)Chirement à clé constante. Texteclair additionné à la sortie précédente.

J.-O. Lachaud (LAMA) INFO913 99 / 205

Page 89: Master 2 ISC - Page d’accueil du LAMA

Modes opératoires II

original DES ECB DES CBC

CFB cipher feedback mode : Initialisa-tion y0 = IV puis yi+1 = eK (yi )⊕xi+1

Chirement par addition du chire-ment de la sortie précédente.

J.-O. Lachaud (LAMA) INFO913 100 / 205

Page 90: Master 2 ISC - Page d’accueil du LAMA

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 parchirement par clé K . Addition deces clés au texte clair. Chirement dutexte indépendant du chirement dutexte précédent.

J.-O. Lachaud (LAMA) INFO913 101 / 205

Page 91: Master 2 ISC - Page d’accueil du LAMA

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 chirementdé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 chier suit le principeCBC, où l'empreinte se calcule par une séquence de chirement parblocs de 512 bits, par addition de l'empreinte du bloc précédent autexte clair suivant.

J.-O. Lachaud (LAMA) INFO913 102 / 205

Page 92: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 103 / 205

Page 93: Master 2 ISC - Page d’accueil du LAMA

Principe des cryptosystèmes à clé publique I

Alice Oscar Bob

Message M (K ,K ′)

y = eK (M)y−→ M = dK ′(y)

RSA, système El Gamal, Merkle Hellman

J.-O. Lachaud (LAMA) INFO913 104 / 205

Page 94: Master 2 ISC - Page d’accueil du LAMA

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

Problème de la préimage

Soient 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 : dicile de déchirer !

fonction à sens unique à trappe : la fonction à sens unique devientfacile à déchirer avec une information secrète supplémentaire

clé publique : fonction à sens unique, clé privée : la trappe de cettefonction.

J.-O. Lachaud (LAMA) INFO913 105 / 205

Page 95: Master 2 ISC - Page d’accueil du LAMA

Principe des cryptosystèmes à clé publique III

NB : chirement public ⇒ attaque passive toujours possible avectexte clair choisi.

J.-O. Lachaud (LAMA) INFO913 106 / 205

Page 96: Master 2 ISC - Page d’accueil du LAMA

Chirement RSA I

Denition (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 chirement : eK (x) = xb mod n

4 déchirement : dK (y) = ya mod n

5 entiers premiers p et q de l'ordre de 10100

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) INFO913 107 / 205

Page 97: Master 2 ISC - Page d’accueil du LAMA

Chirement RSA II

Exemple

Bob 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 = 100

eKbob(x) = xb mod n

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

= 14439 mod 187 = 100

J.-O. Lachaud (LAMA) INFO913 108 / 205

Page 98: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 109 / 205

Page 99: Master 2 ISC - Page d’accueil du LAMA

Mise en ÷uvre de RSA II

Dicultés pratiques

1 Primalité. Trouver des grands nombres premiers (≈ 512bits)I plus grand nombre factorisé environ 200 chiresI n ≈ 1024bits ≈ 300 chires

2 Calculs rapides. +,−,×,÷, pgcd, exp, inverse

3 tout algorithme linéaire en n est trop lent

4 algorithmes polynomiaux en k = log2 n

J.-O. Lachaud (LAMA) INFO913 110 / 205

Page 100: Master 2 ISC - Page d’accueil du LAMA

Tests de primalité I

Primalité ou non Factorisabilité

Primalité : problème de décision 6= Trouver une factorisation

Inversement, 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

Denition (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) INFO913 111 / 205

Page 101: Master 2 ISC - Page d’accueil du LAMA

Tests de primalité II

Test de Miller Rabin

J.-O. Lachaud (LAMA) INFO913 112 / 205

Page 102: Master 2 ISC - Page d’accueil du LAMA

Tests de primalité III

Miller-Rabin : Monte-Carlo positif pour primalité avec ε = 1/4probablement premier composite

n premier 1 0n composite 1

434

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ûr

On calculeI 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) INFO913 113 / 205

Page 103: Master 2 ISC - Page d’accueil du LAMA

Tests de primalité IV

Autres test : Test de Solovay-Strassen, basé sur les symboles deLegendre et Jacobi

J.-O. Lachaud (LAMA) INFO913 114 / 205

Page 104: Master 2 ISC - Page d’accueil du LAMA

Calculs rapides sur grands entiers I

k = log2 n

addition, soustractionI 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) INFO913 116 / 205

Page 105: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 117 / 205

Page 106: Master 2 ISC - Page d’accueil du LAMA

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] > 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 ∗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) INFO913 118 / 205

Page 107: Master 2 ISC - Page d’accueil du LAMA

Calculs rapides sur grands entiers IV

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

c =∑

i ci2i alors bc = b

Pi ci2

i= Πi (b

2i )ci, ssi

bc = (b)c0 · (b2)c1 · (b4)c2 · · · · · ·(b(2k−1))ck−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 ecacement.

J.-O. Lachaud (LAMA) INFO913 119 / 205

Page 108: Master 2 ISC - Page d’accueil du LAMA

Sécurité de RSA I

Attaques possibles sur RSA

Factorisation de n

I Si n factorisé en pq par Oscar, alors φ(n) se calcule immédiatement, etdonc l'inverse de b se calcule par Euclide étendu

I 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 diérent de 1.si x ≡ x ′(mod p) alors p ≤ pgcd(x − x ′, n) < n

J.-O. Lachaud (LAMA) INFO913 121 / 205

Page 109: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 122 / 205

Page 110: Master 2 ISC - Page d’accueil du LAMA

Sécurité de RSA III

Attaque de Wiener. Trouve a dès que a < n1/4 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− t

a

∣∣ < 3ta√n

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

a

∣∣ < 1an1/4 < 1

3a2

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és

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) INFO913 123 / 205

Page 111: Master 2 ISC - Page d’accueil du LAMA

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

Denition

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

standard OAEP / IEEE P1363

P = C = 0, 1m, k0 = k −m

f un chirement publique sur 0, 1k , f −1 son déchirement privé.

G : 0, 1k0 → 0, 1m et H : 0, 1m → 0, 1k0 fonctions aléatoires

clé 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 chirement RSA, on parle de RSA-OAEP.Chaque clair a 2k0 chirement distincts.

J.-O. Lachaud (LAMA) INFO913 125 / 205

Page 112: Master 2 ISC - Page d’accueil du LAMA

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é 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) INFO913 126 / 205

Page 113: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 127 / 205

Page 114: Master 2 ISC - Page d’accueil du LAMA

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'authentication de message ou MACI authentie aussi l'émetteurI fonction de hachage h = famille à une seule clé possible

J.-O. Lachaud (LAMA) INFO913 128 / 205

Page 115: Master 2 ISC - Page d’accueil du LAMA

Sécurité des fonctions de hachage I

Soient une fonction h : P 7→ C. M = |C| Trois problèmes doivent êtrediciles à 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 ′ 6= x et h(x ′) = h(x).

Problème de la collision

Trouver x , x ′ ∈ P tel que x ′ 6= x et h(x ′) = h(x).

J.-O. Lachaud (LAMA) INFO913 130 / 205

Page 116: Master 2 ISC - Page d’accueil du LAMA

Sécurité des fonctions de hachage II

Denition (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 .

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

J.-O. Lachaud (LAMA) INFO913 131 / 205

Page 117: Master 2 ISC - Page d’accueil du LAMA

Sécurité des fonctions de hachage III

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''

En moyenne, Pr[Succès] = 1− (1− 1/M)q−1

Algorithme Collision

J.-O. Lachaud (LAMA) INFO913 132 / 205

Page 118: Master 2 ISC - Page d’accueil du LAMA

Sécurité des fonctions de hachage IV

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−1M

)(M−2M

) . . . (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) INFO913 133 / 205

Page 119: Master 2 ISC - Page d’accueil du LAMA

Construction de Merkle-Damgård I

MD5, SHA-0, SHA-1, SHAx , . . . , RIPEMD

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

z1 ← zip(z0‖y1)z2 ← zip(z1‖y2)

. . .

zr ← zip(zr−1‖yr ).

J.-O. Lachaud (LAMA) INFO913 135 / 205

Page 120: Master 2 ISC - Page d’accueil du LAMA

Construction de Merkle-Damgård II

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

h(x) = g(zr )

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

J.-O. Lachaud (LAMA) INFO913 136 / 205

Page 121: Master 2 ISC - Page d’accueil du LAMA

Construction de Merkle-Damgård III

Theorem

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

Conclusion

Il sut donc de dénir 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) INFO913 137 / 205

Page 122: Master 2 ISC - Page d’accueil du LAMA

Un exemple : SHA-1 I

Empreinte 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 ⊕ D

40 ≤ 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) INFO913 139 / 205

Page 123: Master 2 ISC - Page d’accueil du LAMA

Un exemple : SHA-1 II

chaque condensat de bloc est l'initialisation du bloc suivant

J.-O. Lachaud (LAMA) INFO913 140 / 205

Page 124: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 142 / 205

Page 125: Master 2 ISC - Page d’accueil du LAMA

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 desgénérateurs aléatoires

J.-O. Lachaud (LAMA) INFO913 143 / 205

Page 126: Master 2 ISC - Page d’accueil du LAMA

Schémas de signature I

Signature numérique 6= signature conventionnelleI pas de lien physique message/signature ⇒ collageI vérication beaucoup plus sûreI un document électronique signé = ∞ copies signées ⇒ dater les

documents/signatures

Objectifs : authentication, non-répudiation, intégrité

Denition (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é

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

Il fautI non-répudiation : s'assurer qu'il est dicile de forger une fausse

signature sur un document (image et préimage)

J.-O. Lachaud (LAMA) INFO913 145 / 205

Page 127: Master 2 ISC - Page d’accueil du LAMA

Schémas de signature II

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

I intégrité : vérier qu'on ne peut falsier les données signées (secondepréimage)

I authentication : s'assurer que personne numérique et personnephysique sont les mêmes (certicats)

J.-O. Lachaud (LAMA) INFO913 146 / 205

Page 128: Master 2 ISC - Page d’accueil du LAMA

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érie que S est la signature de M avec clé publique d'Alice4 vérier 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) INFO913 148 / 205

Page 129: Master 2 ISC - Page d’accueil du LAMA

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−1

3 signer S = sigK (M, k) = (γ, δ), avecF γ = αk mod p,F δ = (M − aγ)k−1 mod (p − 1)

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

5 vérier 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) INFO913 149 / 205

Page 130: Master 2 ISC - Page d’accueil du LAMA

Quelques schémas de signature III

Principes généraux de signature

On ne signe qu'une empreinteI car signature longue en temps et mémoireI et rend dicile la forge de signature

Toujours signer avant le chirement

Mélange intégrité, et non-répudiation,

J.-O. Lachaud (LAMA) INFO913 150 / 205

Page 131: Master 2 ISC - Page d’accueil du LAMA

Quelques schémas de signature IV

Communication d'un message chiré sous gpg

J.-O. Lachaud (LAMA) INFO913 151 / 205

Page 132: Master 2 ISC - Page d’accueil du LAMA

Quelques schémas de signature V

Communication d'un message chiré et signé sous gpg

J.-O. Lachaud (LAMA) INFO913 152 / 205

Page 133: Master 2 ISC - Page d’accueil du LAMA

Plan

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

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

3 Sécurité informatique et réseaux

4 Mathématiques utiles pour la cryptologie

5 BibliographieJ.-O. Lachaud (LAMA) INFO913 153 / 205

Page 134: Master 2 ISC - Page d’accueil du LAMA

Certicats et authentication I

S'assurer que personne physique et numérique sont les mêmes

Principe : infrastructure de gestion de clés (IGC, PKI) quiI 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 certication : signe les demandes de certicats et les

révocationsI autorité d'enregistrement : génère certicats, vérie identité/unicitéI autorité de dépôt : stocke les certicats et les listes de révocations

certicats X509, PGP/OpenPGP/GnuPG

AC : Thawte, Certinomis, Baltimore, Certplus, Entrust.net, Verisign,GlobalSign, Cybertrust

J.-O. Lachaud (LAMA) INFO913 155 / 205

Page 135: Master 2 ISC - Page d’accueil du LAMA

Certicats et authentication 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) INFO913 156 / 205

Page 136: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG I

PGP [Zimmermann 1991], OpenPGP (RFC4880)

Implémentation Gnu Privacy Guard (GnuPG)

Chirement symétrique/asymétrique

Signatures

Certicats, Certication par réseau social

S'associe bien avec toute application de messagerie (e.g. thunderbird)

J.-O. Lachaud (LAMA) INFO913 158 / 205

Page 137: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 159 / 205

Page 138: Master 2 ISC - Page d’accueil du LAMA

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) <[email protected]>

J.-O. Lachaud (LAMA) INFO913 160 / 205

Page 139: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG IV

Nom réel : Jean Bon

Adresse e-mail : [email protected]

Commentaire : Comme du bon pain

Vous 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 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

gpg: la prochaine vérification de la base de confiance aura lieu le 2013-02-04

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) <[email protected]>

sub 2048g/85B0C9A7 2008-02-06

J.-O. Lachaud (LAMA) INFO913 161 / 205

Page 140: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG V

clé publique de Jean Bon (8 derniers octets) : AAF48B9E

3 Voir les clés que l'on connait

$ gpg list-keys

/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-06

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

sub 2048g/85B0C9A7 2008-02-06

J.-O. Lachaud (LAMA) INFO913 162 / 205

Page 141: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG VI

4 Créer un certicat de révocation$ gpg gen-revoke bon

sec 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) 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) <[email protected]>

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

J.-O. Lachaud (LAMA) INFO913 163 / 205

Page 142: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG VII

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 !

-----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) INFO913 164 / 205

Page 143: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 165 / 205

Page 144: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 166 / 205

Page 145: Master 2 ISC - Page d’accueil du LAMA

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

gpg: clé C3507937: clé publique \T1\guillemotleft Csongor Sarkozy <[email protected]> \T1\guillemotright importée

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) INFO913 167 / 205

Page 146: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XI

8 Chirer 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

J.-O. Lachaud (LAMA) INFO913 168 / 205

Page 147: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XII

-----END PGP MESSAGE-----

J.-O. Lachaud (LAMA) INFO913 169 / 205

Page 148: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XIII

9 Déchirer 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) <[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-06

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

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

$ cat message.txt

Ceci est mon message.

--JOL

J.-O. Lachaud (LAMA) INFO913 170 / 205

Page 149: Master 2 ISC - Page d’accueil du LAMA

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) <[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/MRpiRtACdHe69

EMjIUL4ZYw47NfkXVkADqlw=

=KJCN

-----END PGP SIGNATURE-----

J.-O. Lachaud (LAMA) INFO913 171 / 205

Page 150: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XV

11 Vérier 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 AAF48B9E

gpg: 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 AAF48B9E

gpg: MAUVAISE signature de Jean Bon (Comme du bon pain) <[email protected]>

J.-O. Lachaud (LAMA) INFO913 172 / 205

Page 151: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XVI

12 Chirer 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) <[email protected]>

clé de 1024 bits DSA, ID AAF48B9E, créée le 2008-02-06

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

On note que Jean Bon ne peut pas déchirer 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 la

clé 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-06

Jacques-Olivier Lachaud <[email protected]>

gpg: Signature faite le jeu 07 fév 2008 17:41:24 CET avec la clé DSA ID AAF48B9E

gpg: Bonne signature de Jean Bon (Comme du bon pain) <[email protected]>

J.-O. Lachaud (LAMA) INFO913 173 / 205

Page 152: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XVII

13 Lorsquevotre clé ne sert plus, on la révoque en utilisant le certicat 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) <[email protected]>

certificat de révocation importé

$ gpg list-keys

J.-O. Lachaud (LAMA) INFO913 174 / 205

Page 153: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XVIII

...

pub 1024D/AAF48B9E 2008-02-06 [revoqué: 2008-02-07]

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

$ 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) INFO913 175 / 205

Page 154: Master 2 ISC - Page d’accueil du LAMA

Cas d'étude : GnuPG XIX

J.-O. Lachaud (LAMA) INFO913 176 / 205

Page 155: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 177 / 205

Page 156: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 178 / 205

Page 157: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 179 / 205

Page 158: Master 2 ISC - Page d’accueil du LAMA

Congruence, anneau Zm I

Denition (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érieque 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'équivalence

Montrer que les 4 dénitions ci-dessous sont équivalentes :1 la dié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,

J.-O. Lachaud (LAMA) INFO913 180 / 205

Page 159: Master 2 ISC - Page d’accueil du LAMA

Congruence, anneau Zm II

4 a− b ∈ nZ, l'idéal de tous les entiers divisibles par n.

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

Denition (Anneau commutatif Zm, m > 0)

On dénit une addition et une multiplication sur Zm ainsi

[a]m + [b]m = [a + b]m

[a]m × [b]m = [a × b]m

J.-O. Lachaud (LAMA) INFO913 181 / 205

Page 160: Master 2 ISC - Page d’accueil du LAMA

Congruence, anneau Zm III

On obtient ainsi les propriétés d'un anneau commutatif : addition interne,commutative, associative, 0 neutre pour +, opposé de a est m − a,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érier que (a mod m)(b mod m) ≡ ab(mod m). En déduire que (amod m)n ≡ an(mod m).

J.-O. Lachaud (LAMA) INFO913 182 / 205

Page 161: Master 2 ISC - Page d’accueil du LAMA

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 ∈ 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érier que pour m premier, Zm est alors un corps.

J.-O. Lachaud (LAMA) INFO913 183 / 205

Page 162: Master 2 ISC - Page d’accueil du LAMA

Inverse dans Zm, corps Zp avec p premier II

Denition (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) INFO913 184 / 205

Page 163: Master 2 ISC - Page d’accueil du LAMA

Inverse dans Zm, corps Zp avec p premier III

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

Theorem

Si m = Πni=1p

eii , où les pi sont premiers distincts. Alors

φ(m) = Πni=1(p

eii − 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 ) = peii − pei−1i , car les entiers 1× pi , 2× pi , . . . , pei−1i × pi sont les

seuls entiers non premiers avec peii , ce qui conclut.

J.-O. Lachaud (LAMA) INFO913 185 / 205

Page 164: Master 2 ISC - Page d’accueil du LAMA

Inverse dans Zm, corps Zp avec p premier IV

Exercices :

φ(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−

1pi

).

J.-O. Lachaud (LAMA) INFO913 186 / 205

Page 165: Master 2 ISC - Page d’accueil du LAMA

Quelques propriétés asymptotiques de primalité I

il y a une innité 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) INFO913 187 / 205

Page 166: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 188 / 205

Page 167: Master 2 ISC - Page d’accueil du LAMA

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, 5L'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 g

divise 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) INFO913 189 / 205

Page 168: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 191 / 205

Page 169: Master 2 ISC - Page d’accueil du LAMA

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 = a0x + b0y . (point xe 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 ecacement l'inverse d'un entier dans Za.

J.-O. Lachaud (LAMA) INFO913 193 / 205

Page 170: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 194 / 205

Page 171: Master 2 ISC - Page d’accueil du LAMA

Expérience, probabilité I

expé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.

Denition (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| .

J.-O. Lachaud (LAMA) INFO913 195 / 205

Page 172: Master 2 ISC - Page d’accueil du LAMA

Expérience, probabilité II

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

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énie 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) INFO913 196 / 205

Page 173: Master 2 ISC - Page d’accueil du LAMA

Expérience, probabilité III

Denition (Probabilité conditionnelle)

Si E1 et E2 sont deux événements, Pr[E2] > 0. La probabilité conditionnelle

de 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 a

Pr[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) INFO913 197 / 205

Page 174: Master 2 ISC - Page d’accueil du LAMA

Variable aléatoire I

Denition (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) INFO913 198 / 205

Page 175: Master 2 ISC - Page d’accueil du LAMA

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érier la relation de Bayes.

Denition (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) INFO913 199 / 205

Page 176: Master 2 ISC - Page d’accueil du LAMA

Variable aléatoire III

Denition (Evénement identié 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 jet 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) INFO913 200 / 205

Page 177: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 201 / 205

Page 178: Master 2 ISC - Page d’accueil du LAMA

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.

J.-O. Lachaud (LAMA) INFO913 202 / 205

Page 179: Master 2 ISC - Page d’accueil du LAMA

Références et lectures II

L. Bloch and C. Wolfhugel.Sécurité informatique Principes et méthodes.Eyrolles, Paris, 2007.

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) INFO913 203 / 205

Page 180: Master 2 ISC - Page d’accueil du LAMA

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) INFO913 204 / 205

Page 181: Master 2 ISC - Page d’accueil du LAMA

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 ociel de PGP [http ://www.pgp.com]

I Site ociel 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) INFO913 205 / 205