CRYPTOGRAPHIE Roberto M. Amadio



Documents pareils
Modes opératoires pour le chiffrement symétrique

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

INF 4420: Sécurité Informatique Cryptographie II

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

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

ÉPREUVE COMMUNE DE TIPE Partie D

Cryptographie et fonctions à sens unique

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

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

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

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

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

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Université d Aix-Marseille Master Réseaux & Télécoms Cryptographie

Représentation des Nombres

Probabilités sur un univers fini

Résolution de systèmes linéaires par des méthodes directes

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

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

Développement décimal d un réel

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

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Chapitre VI - Méthodes de factorisation

Chapitre 2 Le problème de l unicité des solutions

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

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

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

Polynômes à plusieurs variables. Résultant

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Théorème du point fixe - Théorème de l inversion locale

Simulation de variables aléatoires

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

DOCM Solutions officielles = n 2 10.

Chapitre 7. Récurrences

Les fonctions de hachage, un domaine à la mode

Introduction à MATLAB R

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

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Les indices à surplus constant

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours d Analyse. Fonctions de plusieurs variables

Calcul différentiel sur R n Première partie

Sécurité de l'information

Suites numériques 3. 1 Convergence et limite d une suite

Introduction à l étude des Corps Finis

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Correction de l examen de la première session

Résolution d équations non linéaires

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Image d un intervalle par une fonction continue

La fonction exponentielle

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

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

Probabilités sur un univers fini

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Cours d analyse numérique SMI-S4

Corrigé des TD 1 à 5

3 Approximation de solutions d équations

Quelques tests de primalité

Chapitre 2. Matrices

Fonction de hachage et signatures électroniques

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

TECHNIQUES DE CRYPTOGRAPHIE

Programmation linéaire et Optimisation. Didier Smets

Continuité en un point

Continuité d une fonction de plusieurs variables

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

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

Cryptographie et Sécurité informatique

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Les protocoles cryptographiques

Qu est-ce qu une probabilité?

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

La sécurité dans les grilles

Signatures électroniques dans les applications INTERNET

1 Recherche en table par balayage

Programmes des classes préparatoires aux Grandes Ecoles

CHAPITRE I INTRODUCTION

Compression et Transmission des Signaux. Samson LASAULCE Laboratoire des Signaux et Systèmes, Gif/Yvette

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

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

I. Polynômes de Tchebychev

Une forme générale de la conjecture abc

Objets Combinatoires élementaires

TP 2 : Chiffrement par blocs

Cryptographie appliquée

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

MIS 102 Initiation à l Informatique

Rappels sur les suites - Algorithme

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

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

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Table des matières. I Mise à niveau 11. Préface

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Transcription:

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 1 CRYPTOGRAPHIE Roberto M. Amadio Master Ingénierie Informatique Université Paris Diderot (Paris 7)

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 2 Cryptologie : de quoi s agit-il? La crypto-logie se décompose en deux activités : Crypto-graphie : l art de chiffrer les communications. Crypto-analyse : l art d analyser les communications chiffrées. NB En pratique, on utilise le terme cryptographie pour se référer aux deux activités.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 3 Une longue histoire et beaucoup d histoires amusantes. Pendant longtemps un art et une activité mystérieuse. Facteurs de changement : introduction des ordinateurs, intérêt commercial, consolidation mathématique. Une variété d ingrédients techniques : théorie des nombres, probabilités, théorie de l information et codage, théorie de la complexité du calcul.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 4 Quelles propriétés la cryptographie peut-elle garantir? Voici une tâche élémentaire : A souhaite envoyer un message à B sur un canal où un attaquant C peut écouter (eavesdrop). A et B se mettent d accord sur une méthode pour chiffrer et déchiffrer le message. A chiffre le message avant de l envoyer. B déchiffre le message après l avoir reçu. Problème Comment définir le fait que l attaquant obtient de l information sur le message?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 5 Quelques variations possibles Attaquant actif C peut intercepter et remplacer des messages. Authentification B veut être sûr que le message qu il reçoit vient de A. Anonymat A et B veulent voter sans révéler leur identité. Non-répudiation B peut prouver que A a effectué une commande.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 6 Une définition (préliminaire) de système cryptographique Des ensembles finis : P C K (textes clairs) (textes chiffrés) (clés) Des algorithmes : G : 1 K E : K P C D : K C P (générateur de clés) (chiffrement) (dechiffrement) tels que : k 1 k 2 p D k2 (E k1 (p)) = p où E k = E(k, ) et D k = D(k, ).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 7 Remarques sur la définition Tous les espaces sont supposés finis. Le chiffrement E k est toujours injectif. Le générateur G et parfois le chiffrement E sont des algorithmes probabilistes. Pour traiter les messages de longueur arbitraire, il faut les couper en segments de taille bornée. L attaquant C comprend quand un texte clair est significatif. Les algorithmes de chiffrement et déchiffrement sont publiques.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 8 NB Cette définition sera raffinée dans la suite du cours.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 9 Algorithme probabiliste (rappel) Un algorithme probabiliste A est un algorithme qui peut utiliser des bits aléatoires pour determiner son prochain état. En particulier, pour une entrée i soit Ω l ensemble des exécutions finies de A sur i. Si ω Ω alors r(ω) est le nombre de bits aléatoires utilisés dans ω. La probabilité de terminaison de A(i) est : Σ ω Ω 2 r(ω) Le temps moyen de calcul est : Σ ω Ω ω 2 r(ω)

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 10 Terminologie Français Texte clair Texte chiffré Clef Déchiffrement Chiffrement Système cryptographique Texte chiffré connu Texte clair connu Texte clair choisi Texte chiffré choisi English Plaintext Ciphertext Key Decryption Encryption Cryptographic system Known cipher text Known plain text Chosen plain text Chosen cipher text

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 11 Systèmes symétriques Il est facile de calculer la clef de déchiffrement à partir de la clef de chiffrement (et vice versa). Utilisation : 1. A génère de façon aléatoire une nouvelle clef k. 2. A communique la nouvelle clef k à B en utilisant un canal sûr. 3. A et B échangent des messages en utilisant la clef k.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 12 Exemples basés sur DES, AES,... Avantages : Chiffrement et déchiffrement rapide. Petites Clefs. Inconvénients : Un canal sûr est nécessaire pour initialiser la communication. Pour chaque correspondant, il faut maintenir une clef secrète.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 13 Systèmes asymétriques Les clefs de chiffrement et déchiffrement sont différentes et il est difficile de calculer l une à partir de l autre. Utilisation : 1. B génère un couple de clefs (k 1, k 2 ) telles que D k2 E k1 = id P. 2. B rend k 1 publique et maintient k 2 secrète. 3. A peut apprendre la clef publique k 1, chiffrer des messages avec elle et les envoyer à B. Dans ce cas, seulement B sera capable de déchiffrer ces messages en utilisant la clef secrète k 2.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 14 Exemples basés sur RSA, El Gamal,... Avantages : il ne faut pas se soucier du secret de la clef (mais il faut quand même être sûr que la clef est authentique). Inconvénient : Moins efficace que les systèmes symétriques (au moins, actuellement). NB En pratique on combine les deux systèmes : on utilise une clef asymétrique avec une longue durée de vie pour déterminer une clef symétrique pour une session seulement.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 15 Un exemple (informel) de protocole cryptographique Les fonctions cryptographiques ont plusieurs applications qui vont bien au delà de la simple tâche de protéger l information que nous avons considéré pour l instant. Comme exemple simple, nous considérons le problème de jouer à pile ou face au téléphone. Le protocole considéré se base sur le concept cryptographique de fonction à sens unique.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 16 Fonctions à sens unique (intuition) Soit f : D D une fonction avec un (grand) domaine D. On dit que f est à sens unique (one way function) si : 1. Étant donné x, il est facile de calculer f(x). 2. Étant donné y, il est difficile de trouver x tel que f(x) = y (Inversion). 3. Il est difficile de trouver x 1 x 2 tels que f(x 1 ) = f(x 2 ) (Collision).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 17 Bien sûr, on a pas donné une définition : facile et difficile n ont pas de signification précise. Une possibilité est d établir que difficile signifie pas en temps probabiliste polynomial. Sous cette hypothèse, l existence d une fonction à sens unique est un problème ouvert majeur de la cryptographie. NB Il s agit d une caractéristique du domaine : plusieurs protocoles se basent sur la conjecture que certaines fonctions sont difficiles à calculer (par exemple, la fonction qui calcule les facteurs premiers d un nombre).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 18 Hypothèses pour le protocole A et B veulent jouer à pile ou face au téléphone. La ligne de téléphone est sécurisée : A et B sont sûrs de parler entre eux. A et B se mettent d accord pour utiliser une fonction f à sens unique. A et B ne se font pas confiance (il viennent de divorcer et doivent décider qui garde la maison...).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 19 Un peu de notation (νx D) : affecte à x une valeur aléatoire du domaine D. Par exemple, D = Z m = {0,..., m 1}. A!exp : envoie à A un message qui résulte de l évaluation de l expression exp. B?x : on reçoit de B un message dont la valeur est affectée à la variable x.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 20 Une description du protocole A B (1) (νx 1 Z m )B!f(x 1 ) A?y 1. (2) B?x 2. (νy 2 {0, 1})A!y 2 (3) B!x 1. A?y 3. (4) if x 1 mod 2 = x 2 if f(y 3 ) = y 1 then then LOSE if y 3 mod 2 = y 2 then WIN else WIN else LOSE

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 21 Remarques Chaque participant au protocole exécute en parallèle un certain nombre d instructions. Dans le protocole en question, la communication est fiable et synchrone (handshaking). En général, la communication est asynchrone (Internet...) et non fiable. Ici on suppose que A commence le protocole, qu il y a seulement deux participants et que le protocole est exécuté une fois. En général, on peut avoir plusieurs participants, le protocole peut être exécuté plusieurs fois (éventuellement en parallèle) et chaque participant peut jouer différents rôles (celui qui

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 22 démarre, celui qui répond,...). En plus, certains participants peuvent être malhonnêtes.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 23 Remarques (suite) 1. On suppose que B a la capacité d inverser f. Comment B peut-il tricher (en effectuant un calcul additionnel)? 2. On suppose que A a la capacité de trouver des collisions dans f. Comment A peut-il tricher (en effectuant un calcul additionnel)? 3. On suppose que f est à sens unique. Pourquoi B devrait-il avoir confiance en A? 4. On suppose que le générateur aléatoire de A est biaisé alors que celui de B est équitable. Par exemple, A choisit plus souvent un nombre pair. Les chances que A gagne sont-elles affectées? Quid si B est biaisé et A équitable? 5. Maintenant on suppose que les deux générateurs aléatoires de A et B sont biaisés. Les chances que A gagne sont-elles affectées?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 24 Objectifs du cours 1. Introduction aux fonctions cryptographiques de base. 2. Pratique (utilisation, programmation, attaque,...) des constructions cryptographiques introduite.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 25 Pre-réquis Algorithmique et Complexité. Programmation (en Java). Probabilités discrètes. Arithmétique modulaire. Algèbre linéaire.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 26 Contrôle des connaissances 50% travaux pratiques/dirigés avec contrôle continu (écrit et/ou oral à la machine). 50% examen final écrit.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 27 La référence principale est : Références bibliographiques Introduction to modern cryptography. J. Katz, Y. Lindell. Chapman & Hall. Ce livre introduit à un niveau accessible la méthodologie developpée à partir des année 80 (dite moderne ) : 1. Définition de sécurité. 2. Construction de fonctions cryptographiques. 3. Preuve que les fonctions assurent un certain niveau de sécurité par réduction à certaines hypothèses (plus ou moins) standards. 4. Attaque? Revoir la définition... 5. Inefficace? Relâcher la définition, ou revoir la construction ou faire des compromis...

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 28 Autres références Handbook of applied cryptography, Disponible en ligne. http ://www.cacr.math.uwaterloo.ca/hac/. Encyclopédique. Applied Cryptography : Protocols, Algorithms, and Source Code in C, Second Edition, par Bruce Schneier, publié par John Wiley & Sons (disponible aussi en Français). Flou sur les fondements mais avec tous les détails de mise en oeuvre. Security Engineering, Ross Anderson, Wiley. Disponible en ligne. http://www.cl.cam.ac.uk/~rja14/book.html Un survol à haut-niveau sur l état de l art en sécurité. Utile pour réaliser qu une fois que la cryptographique est au point, il y a encore des attaques dont il faut se soucier.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 29 Systèmes historiques

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 30 Conventions Texte clair comme un mot de l alphabet Σ = {A, B,..., Z}. De façon équivalente Z 26 = {0, 1,..., 25}. Espaces, ponctuations, lettres minuscules et majuscules sont ignorées. I wake up early devient IWAKEUPEARLY Les langages naturels sont redondants.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 31 Système de César (système à décalage) P = C = K = Z 26. Pour k Z 26 on définit : E k (p) = (p + k) mod 26 D k (c) = (c k) mod 26.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 32 On vérifie : D k (E k (p)) = ((p + k) mod 26 k) mod 26 = (p + k k) mod 26 = p Le système de César est un exemple simple de système symétrique. Le décalage est appliqué lettre par lettre.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 33 Attaque par énumération Hypothèse : l attaquant sait quand un texte suffisamment long est un texte significatif. Étant donné un message m m = c 1... c n On essaye les 26 clefs et on calcule (c 1 k) mod 26 (c n k) mod 26. Morale : l espace des clefs est trop petit.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 34 On élargit l espace des clefs. Soit Système de substitution P = C = Z 26 K = {π : Z 26 : Z 26 π permutation} Étant donnée une permutation π, on définit : E π (p) = π(p) D π (c) = π(c). Si π 1 est l inverse de la permutation alors : D π 1(E π (p)) = (π 1 π)(p) = p.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 35 Attaque par analyse de fréquence L espace des clefs est maintenant 26!, ce qui est considérable. Cependant... La fréquence des lettres dans les langages naturels a été bien étudiée. Par exemple, Lettre English Français e 12.7 17.8 a 8.2 8.2 o 7.5 5.7 i 7.0 7.3 t 9.1 7.3 s 6.3 8.3

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 36 Il y a un nombre fini de langages naturels. Étant donné un texte suffisamment long, la lettre qui est présente le plus souvent correspond probablement à e, et ainsi de suite... Comme les langages naturels sont redondants, des qu un nombre limité de substitutions ont été déterminées, il est possible de deviner celles qui restent. Il y a des statistiques aussi sur la fréquence de digrammes, tri-grammes,.... Par exemple, THE est un tri-gramme qu on trouve souvent en Anglais.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 37 Arithmétique modulaire (rappel) Quotient et reste Soient a, b Z avec b > 0. Alors!q, r (a = qb + r, 0 r < b). Théorème de Bezout Soient a, b Z. Alors az + bz = pgcd(a, b)z Algorithme d Euclide Soient a, b Z. Alors on peut calculer x, y tels que pgcd(a, b) = ax + by Inverse dans Z m Soient a, m Z, m 2. Alors (ax 1) mod m a une solution ssi pgcd(a, m) = 1 (et dans ce cas l algorithme d Euclide permet de calculer x).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 38 Exemple : Euclide modifié, initialisation L application des règles à 100 et 35 donne : k 0 1 r k 100 35 q k 2 x k 1 0 y k 0 1

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 39 Exemple : Euclide modifié, pas 2 k 0 1 2 r k 100 35 30 q k 2 1 x k 1 0 1 y k 0 1 2

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 40 Exemple : Euclide modifié, pas 3 k 0 1 2 3 r k 100 35 30 5 q k 2 1 6 x k 1 0 1 1 y k 0 1 2 3

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 41 Exemple : Euclide modifié, pas 4 et fin k 0 1 2 3 4 r k 100 35 30 5 0 q k 2 1 6 x k 1 0 1 1 y k 0 1 2 3 Donc pgcd(100, 35) = 5 = 1 100 + 3 35.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 42 Exercice (Euclide modifié) Appliquez l algorithme pour déterminer x, y tels que pgcd(91, 143) = 91x + 143y.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 43 Exercice (sur le chiffrement affine) On considère les méthodes de chiffrement suivantes où Σ = Z 26 : Méthode 1 Chaque lettre a Σ est remplacée par ka mod 26, pour k {1,..., 26} et k impair. Méthode 2 Chaque lettre a Σ est remplacée par ka mod 26 où k {1,..., 26} et pgcd(k, 26) = 1. 1. De quelle méthode peut-on dériver un système cryptographique? 2. Quels sont les espaces de textes clairs, de textes chiffrés et de clefs?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 44 Exercice On considère les fonctions E k : Z 143 Z 143 définies par pour k = 15 et k = 65. E k (x) = (k x) mod 143 1. Pour quel k (s il existe) E k est susceptible de représenter une fonction de chiffrement? 2. Si E k est une fonction de chiffrement, quelle fonction de déchiffrement D k lui correspond-t-elle?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 45 Exercice Le texte chiffré c = 111 101 100 101 101 010 111 a été obtenu en effectuant un xor du texte clair p avec une suite z de bits générés en utilisant un générateur basé sur la congruence linéaire (z i+1 az i + b) mod 8 Les entiers z i ainsi générés sont interprétés comme des nombres à trois bits b i2 b i1 b i0 de façon telle que z i = b i2 2 2 + b i1 2 + b i0. Ainsi on aura : z = b 02 b 01 b 00 b 12 b 11 b 10 b 62 b 61 b 60 c = p z On connaît les premiers 9 bits du texte clair p : p = 100 111 001 Déterminez le reste du texte clair.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 46 Chiffrement à bloc Un système cryptographique est un chiffrement à bloc si P = C = Σ n Le système de César et le système par substitution sont des chiffrements à bloc où n = 1 et Σ = Z 26. On remarquera que les fonctions de chiffrement dans les chiffrements à bloc sont toujours des permutations. En pratique, on cherche des classes spéciales de permutations.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 47 Electronic codebook mode (ECB) Étant donné un chiffrement à bloc sur Σn et un document sur Σ, on décompose le document en blocs de longueur n. Si nécessaire, on complète le document (bourrage). Étant donnée une clef k, l émetteur applique la même fonction de chiffrement E k à chaque bloc et le récepteur applique la fonction de déchiffrement correspondente D k.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 48 Faiblesses du ECB A chaque bloc de texte clair correspond un bloc unique de texte chiffré. Il est donc possible de reconnaître un motif du texte clair en regardant le texte chiffré. Un attaquant actif peut substituer un bloc de texte chiffré avec un autre bloc de texte chiffré produit avec la même clef (un problème d authentification de blocs). Ces problèmes sont résolus par la méthode suivante (CBC).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 49 Cipherblock chaining mode (CBC) On suppose que Σ = {0, 1}. On a un vecteur d initialisation IV {0, 1} n qui peut être publique (mais dans certains cas IV doit être une suite aléatoire). Le chiffrement c 1,..., c t de blocs m 1,..., m t est maintenant défini itérativement comme suit : c 0 = IV c j+1 = E k (c j m j+1 ) j = 0,..., t 1 (xor avec texte chiffré précédent suivi de chiffrement).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 50 Le récepteur déchiffre en appliquant la définition suivante : n 0 = IV n j+1 = D k (c j+1 ) c j j = 0,..., t 1 Nous avons n j = m j, car : n j+1 = D k (E k (m j+1 c j )) c j = m j+1 c j c j = m j+1. NB Dans la suite du cours, nous préciserons comment utiliser le mode CBC de façon à avoir certaine propriétés de confidentialité et/ou authentification.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 51 Exercice A utilise un chiffrement à bloc E : 2 s 2 s en mode CBC et avec un vecteur initial IV 2 s. Pour chiffrer un texte clair (x 1, x 2,..., x N ) (2 s ) N, A procède comme suit : c 0 = IV c 1 = E(x 1 c 0 ) c i = E(x i c i 1 ) Ensuite le message chiffré (c 0, c 1,..., c N ) est envoyé à B qui connaît la fonction de déchiffrement D = E 1 : 2 s 2 s.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 52 1. Une erreur se présente pendant la transmission du premier bloc c 1, ainsi B reçoit un bloc c 1 plutôt que c 1. Quels blocs seront déchiffrés correctement par B?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 53 2. Maintenant, on suppose que A fait une erreur dans le chiffrement du deuxième bloc, ainsi il calcule un bloc c 2 plutôt que c 2. Quels blocs chiffrés seront affectés par cette erreur? Quels blocs de texte clair pourront être calculés par B, en supposant qu il n y ait pas d erreur de transmission?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 54 Système affine en dimension 1 Considérons un chiffrement à bloc où la longueur du bloc est n = 1. Fixons un entier positif m. L espace des clefs est donné par le couple (a, b) Z 2 m tel que a et m sont premiers entre eux. Pour k = (a, b), la fonction de chiffrement est donnée par E k (x) = (ax + b) mod m

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 55 Si a 1 est l inverse de a dans Z m (qu on peut déterminer avec l algorithme d Euclide) alors D k (x) = (a 1 (x b)) mod m On remarque que le système affine (comme le système par décalage) est un cas particulier de système par substitution.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 56 Pour m = 26, l espace des clefs contient φ(m) m = 312 éléments, où φ(m) est le nombre d éléments dans Z m premiers avec m. Évidemment, cet espace peut être analysé par une recherche complète. Une autre faiblesse : on peut utiliser une attaque par texte clair connu qui exploite la linéarité de la fonction de chiffrement. La connaissance de la fonction en deux points peut être suffisante à déterminer la clef.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 57 Exercice (attaque sur texte clair connu) On sait qu un système affine avec clef (a, b) envoie E sur R et S sur H. 1. Dérivez de ces hypothèses un système composé de deux congruences. 2. Essayez de résoudre le système et d obtenir la valeur de la clef.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 58 Système de Vigenère Attribué à Vigenère (16ème siècle). Généralisation du système de César où le décalage dépend de façon périodique de la position de la lettre dans le texte clair. On fixe une période n 1. On prend P = C = K = (Z 26 ) n

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 59 On pose : E k ( p) = ( p + k) mod 26 D k ( c) = ( c k) mod 26 Évidemment, la fonction de chiffrement est affine.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 60 Le système de Vigenère est un premier exemple de système poly-alphabétique : un caractère peut être transformé dans des caractères différents selon sa position dans le texte. Par opposition, dans le système par substitution chaque caractère est transformé dans un seul caractère, de façon indépendante de sa position. Dans ce cas, on parle de système mono-alphabétique. NB Dans un système mono-alphabétique, le diagramme de distribution des caractères aura des pics comme dans les langages naturels (6 lettres constituent environ moitié du texte).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 61 Attaque par texte chiffré Le nombre de clefs est maintenant (26) n, ce qui est déjà considérable pour n = 10. Ainsi une attaque par énumération semble inefficace. Si on connaît la période n, alors on peut disposer le texte sur n colonnes. Par exemple, pour n = 5 X U O L M A B D H J K Z W J M...

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 62 On sait que les lettres sur la même colonne dépendent du même décalage. Analyse de fréquence : la lettre la plus fréquente dans une colonne est probablement la lettre la plus fréquente dans le langage naturel. On calcule le décalage correspondant.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 63 Comment déterminer la période? La système a été considéré inattaquable pendant 3 siècles jusqu à Kasinski (1860). Il propose la méthode suivante pour déterminer la période. 1. On cherche dans le texte des répétitions du même mot (le plus long le mieux). 2. On calcule les distances entre les occurrences de chaque mot répété. Si un mot répété vient du chiffrement du même mot à partir de la même position alors les distances doivent être des multiples de la période n. 3. On calcule le pgcd des distances de mots (longs) répétés. 4. On applique l analyse de fréquence à chaque colonne.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 64 Indice de coïncidence Une autre méthode pour calculer la période. 1. On compte le nombre n i d occurrences de la lettre i dans un texte avec n lettres. 2. La probabilité que 2 lettres soient i est C(n i, 2)/C(n, 2). 3. L indice de coïncidence (IC) est obtenu en additionant cette probabilité pour toutes les lettres. 4. L indice est invariant par substitution (donc par décalage). 5. On calcule les IC par colonnes jusqu a trouver des IC proches du langage naturel. Langage Anglais Français Allemand IC 0,065 0,074 0,072

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 65 Algèbre linéaire sur les anneaux (rappel) On généralise le système affine aux espaces de dimension supérieure. D abord on rappelle certaines propriétés d algèbre linéaire sur un anneau. Soit R un anneau commutatif avec un élément 0 comme unité de l addition et un élément 1 comme unité de la multiplication. Par exemple, on peut penser à Z m. Soit R[m, n] la collection de matrices sur R avec m lignes et n colonnes, avec éléments génériques A, B,...

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 66 L addition et la multiplication de matrices est définie de façon standard. R[n, n] possède un structure d anneau avec élément unité I. Si A est une matrice alors on dénote avec A[i, j] l élément avec coordonnées (i, j).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 67 Déterminant Le déterminant d une matrice A R[n, n] est défini de façon inductive par si n = 1 alors det(a) = A[1, 1]. Autrement, det(a) = Σ j=1,...,n ( 1) i+j A[i, j]det(a i,j ) où A i,j R[n 1, n 1] est la matrice qui résulte de A en effaçant la ligne i et la colonne j. On sait que le déterminant ne dépend pas du choix de la ligne (ou colonne) i {1,..., n}.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 68 Exemple (déterminant 2 2) On suppose A = a 1,1 a 1,2 a 2,1 a 2,2 Alors en calculant par rapport à la première ligne : A 1,1 = [a 2,2 ] A 1,2 = [a 2,1 ] Donc det(a) = ( 1) 1+1 a 1,1 A 1,1 + ( 1) 1+2 a 1,2 A 1,2 = a 1,1 a 2,2 a 1,2 a 2,1

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 69 Exercice (déterminant 3 3) On suppose A = a 1,1 a 1,2 a 1,3 a 2,1 a 2,2 a 2,3 a 3,1 a 3,2 a 3,3 Donnez une formule pour calculer det(a).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 70 Adjoint et Inverse Une matrice A R[n, n] a une inverse multiplicative si et seulement si det(a) a une inverse dans R. Pour calculer l inverse, on définit la matrice adjointe (notez l inversion des indices) : adj (A)[i, j] = ( 1) i+j det(a j,i ). Alors A 1 = (1/det(A))adj (A) Il y des algorithmes polynomiaux en temps pour calculer déterminant et inverse basés sur l élimination de Gauss.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 71 Exercice (calculer une inverse) On travaille sur Z 11. On suppose A = 1 2 3 4 1. Calculez det(a). 2. Déterminez son inverse. 3. Ensuite calculez la matrice adjointe. 4. Enfin, calculez la matrice inverse.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 72 Fonctions linéaires affines Fait : Une fonction linéaire affine f : R n R n est déterminée par une matrice A R[n, n] et un vecteur b R[n] tels que f(x) = Ax + b Si b = 0 alors on parle d une fonction linéaire. Une fonction linéaire affine est bijective si et seulement si det(a) a une inverse dans R. Plusieurs systèmes historiques sont déterminés par une fonction linéaire affine. Par exemple celui de Vigenère. D autres exemples suivent.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 73 Permutation (ou transposition) Une permutation π : {1,..., n} {1,..., n} induit un chiffrement à bloc sur Σ n où E π (x 1,..., x n ) = (x π(1),..., x π(n) ) D π 1(x 1,..., x n ) = (x π 1 (1),..., x π 1 (n)) NB Ceci est différent d un système par substitution.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 74 Avec chaque permutation π, on associe une matrice I π R[n, n], obtenue de la matrice identité en permutant les lignes de la matrice identité selon la permutation π. Alors E π ( x) = I π x. Ainsi, le chiffrement par permutation peut être vue comme une fonction linéaire.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 75 Exemple (matrice de permutation) On suppose une permutation π telle que π(1) = 2 π(2) = 3 π(3) = 1 La matrice I π correspondante est : 0 1 0 0 0 1 1 0 0

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 76 Remarques La fréquence des lettres dans le texte chiffré est la même que dans le texte clair. Ainsi il est facile de voir si un texte chiffré a été chiffré avec un système par permutation. Pour réduire l espace des clefs, on peut sélectionner certains digrammes ou tri-grammes du langage du texte clair et ensuite chercher des permutations qui maximisent leur fréquence dans le texte chiffré. Aussi si un texte clair est connu, on peut chercher son anagramme dans le texte chiffré.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 77 Attribué à Hill (1929). Système de Hill La fonction de chiffrement est déterminée par une fonction linéaire inversible sur (Z m ) n. En d autres termes une matrice A Z m [n, n] avec un déterminant inversible. E A ( x) = (A x) mod m.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 78 Attaque par texte clair connu sur les systèmes linéaires affines Les systèmes linéaires affines avec alphabet Z m et longueur du bloc n sont vulnérables aux attaques par texte clair connu. On suppose que la fonction de chiffrement est E : (Z m ) n (Z m ) n, E( x) = (A x + b) mod m Si l attaquant connaît n + 1 textes clairs w i et les textes chiffrés correspondants c i = (Aw i + b) mod m, i = 0,..., n alors il y a une méthode pour calculer la clef (A, b).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 79 1. Soit W une matrice n n dont les colonnes sont les différences (w i w 0 ) mod m, pour i = 1,..., n. 2. Soit C une matrice n n dont les colonnes sont les différences (c i c 0 ) mod m, pour i = 1,..., n.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 80 3. On remarque que c i c 0 A(w i w 0 ) mod m. Ainsi on a (AW C) mod m. 4. Si, avec un peu de chance, det(w ) est premier avec m, alors soit w son inverse et soit W 1 = w adj (W ). Alors ( A CW 1 ) mod m et (b (c 0 Aw 0 )) mod m.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 81 Exercice (attaque par texte clair connu) On suppose savoir qu un système de Hill sur (Z 26 ) 2 chiffre HAND avec FOOT. Est-ce suffisant pour déterminer la clef?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 82 Sommaire Les fonctions linéaires affines (Z m ) n expliquent plusieurs systèmes classiques. Tous ces systèmes sont vulnérables aux attaques par texte clair connu.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 83 Confidentialité parfaite

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 84 Masque jetable (one time pad) Un message est maintenant représenté par une séquence de bits. Par exemple, codes ASCII de caractères du clavier. Si le texte clair a longueur n, on prend : P = C = K = {0, 1} n. Ces ensembles dépendent de la longueur du message qu on veut chiffrer!

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 85 Fonction xor Le xor (ou exclusif) : {0, 1} 2 {0, 1} x 1 x 2 0 0 0 0 1 1 1 1 0 1 0 1 On étend à {0, 1} n {0, 1} n {0, 1} point à point.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 86 Masque jetable (suite) Étant donné, k K = {0, 1}n, on définit : E k : {0, 1} n {0, 1} n D k : {0, 1} n {0, 1} n E k (p) = p k D k (c) = c k On observe que est associatif, k k = 0 et p 0 = p. Donc D k (E k (p)) = (p k) k = p.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 87 Ce système est attribué à Gilbert Vernam (1917). Il s agit d un système symétrique où la longueur de la clef est supérieure ou égale à la longueur du message envoyé. On dit que les communications top secret entre USA et URSS étaient chiffrées en utilisant ce système.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 88 Espace de probabilité On rappelle certains faits. Un espace de probabilité (Ω, A, P ) est un triplet où : Ω est un ensemble non-vide. A est un sous-ensemble non vide d événements de 2 Ω, stable par complément et unions (et intersections) dénombrables. P : A [0, 1] est une fonction qu on appelle mesure de probabilité telle que P (Ω) = 1 et telle que P est additive par rapport à des unions dénombrables d événements disjoints entre eux : P ( i 0 A i ) = Σ i 0 P (A i ) NB En pratique, si Ω est fini : A = 2 Ω et P (A) = Σ ω A P (ω).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 89 Probabilité conditionnelle Soient A, B deux événements sur un espace de probabilité (Ω, A, P ) tel que P (A) > 0. Alors : P (B A) = P (B A)/P (A) est la probabilité conditionnelle de B étant donné A. On remarquera que si P (A) = 0 alors P (B A) n est pas définie. Formule de Bayes : en supposant P (A), P (B) > 0 : P (B)P (A B) = P (A)P (B A)

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 90 Indépendance Deux événements A, B sont indépendants si P (A B) = P (A)P (B). Si P (B) > 0, l indépendance de A et B est équivalente à : P (A B) = P (A).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 91 Analyse de la masque jetable Cette analyse est due à Claude Shannon (1949), le père de la théorie de l information. On suppose que l espace de probabilité est défini sur Ω = P K.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 92 Événements à considérer (p, k) {(p, k)} est l événement où le texte clair p est chiffré avec la clef k. p {(p, k) k K} est l événement où le texte clair p est chiffré. k {(p, k) p P} est l événement où la clef k est utilisée pour chiffrer un texte clair. c {(p, k) E k (p) = c} est l événement où le texte chiffré est c.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 93 Hypothèses Les événements p et k sont indépendants, c est-à-dire P (p k) = P (p, k) = P (p)p (k). L attaquant connaît P (p), pour tout p P. NB Ceci est en faveur de l attaquant qui a une connaissance parfaite de la fréquence de tout texte clair de longueur n!

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 94 Confidentialité parfaite Un système cryptographique assure la confidentialité parfaite si le fait d observer un texte chiffré c ne fournit aucune information (probabiliste) sur le texte clair correspondant p. En d autres termes, si pour tout p P et c C avec P (c) > 0 P (p c) = P (p) On remarquera que ceci implique que p et c sont indépendants car P (p c)/p (c) = P (p) P (p c) = P (p)p (c).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 95 Exemple P = {0, 1}, K = {A, B}, C = {a, b}. La fonction de chiffrement est définie par p k E k (p) 0 A a 1 A b 0 B b 1 B a

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 96 La probabilité des textes clairs p et des clefs k : p P k P 0 1/4 A 1/4 1 3/4 B 3/4

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 97 La probabilité dérivée du texte chiffré c : c P a 10/16 b 6/16

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 98 Les autres probabilités dérivées : p c P (p c) P (p c)/p (c) 0 a 1/16 1/10 1 a 9/16 9/10 0 b 3/16 1/2 1 b 3/16 1/2 Ce système assure-t-il la confidentialité parfaite?

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 99 Non! Par exemple, supposons que l attaquant voit le texte chiffré a. La probabilité que le texte clair est 1 est 9/10. Ce qui est différent de 3/4 qui est la probabilité qu un texte clair est 1.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 100 Théorème Soit donné un système cryptographique tel que : P = C = K et pour tout p P et c C, P (p), P (c) > 0. Alors le système assure la confidentialité parfaite ssi 1. Les clefs sont sélectionnées avec une probabilité uniforme P (k) = 1/ K. 2. p, c!k (E k (p) = c).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 101 Preuve : confidentialité parfaite implique 1 et 2 Pour tout texte clair p, on doit avoir que {E k (p) k K} = C S il y avait un texte chiffré c qui diffère de E k (p) pour tout k, alors P (c p) = 0 P (c) > 0. ce qui contredit l hypothèse de confidentialité parfaite. Pourquoi? Ainsi pour tout texte clair p et texte chiffré c il existe unique k(p, c) K tel que E k(p,c) (p) = c.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 102 On remarque que K = {k(p, c) p P}. Maintenant, on démontre que P (k(p, c)) est constante par rapport à p, ce qui implique que P (k(p, c)) = 1/ K. Pour démontrer cette propriété, on calcule : P (p) = P (p c) (par confidentialité parfaite) = P (c p)p (p)/p (c) (par Bayes) = P (k(p, c))p (p)/p (c) (par définition). Ainsi P (k(p, c)) = P (c) pour tout texte clair p.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 103 Preuve : 1 et 2 impliquent la confidentialité parfaite Il suffit d observer que : P (p c) = P (p)p (c p)/p (c) (par Bayes) = P (p)p (k(p, c))/σ q P P (q)p (k(q, c)) (par hyp. (2)) = (P (p)1/ K)/(1/ K(Σ q P P (q))) (par hyp. (1)) = P (p).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 104 Corollaire Le système de la masque jetable avec choix uniforme des clefs assure la confidentialité parfaite. On vérifie sur {0, 1} que c, p! k (p k = c). Ceci se généralise de suite à {0, 1} n.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 105 Remarque (longueur de la clé) Supposons qu on dispose d un système cryptographique tel que : K < P. Pour tout p P, P (p) > 0. On a donc moins de clés que de textes à chiffrer. Or un tel système ne peut pas assurer la confidentialité parfaite. Soit c = E k (p) avec P (k) > 0. Il doit exister p P tel que pour tout k K, p D k (c). Il suit que 0 = P (p c) P (p ) > 0.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 106 Remarque (confidentialité authentification) Le système à masque jetable assure la confidentialité parfaite ma ne garantit pas l authentification du message. Par exemple, un attaquant peut complémenter les bits du message chiffré. Dans ce cas, le recepteur, après déchiffrement du message, va accepter un message qui est le complémentaire du message authentique.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 107 Sommaire Nous avons analysé deux systèmes extrêmes : Systèmes qu un élève de primaire peut utiliser et casser (décalage, substitution). Systèmes qui sont incassables (en théorie!) mais dont l utilisation n est pas très pratique. Pour avoir des systèmes pratiques qui assurent un bon niveau de confidentialité nous allons supposer que l attaquant : dispose d un pouvoir de calcul limité. a une probabilité de succès négligeable (mais pas forcement nulle).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 108 Générateurs pseudo-aléatoires et 1-confidentialité

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 109 Algorithme PPT Un algorithme PPT (probabilistic polynomial time) est un algorithme qui calcule en temps polynomial dans la taille de son entrée et qui peut utiliser pendant le calcul un générateur de bits aléatoires non-biaisé. Si les seuls résultats de l algorithme PPT sont 0 ou 1 on parle aussi d algorithme de décision PPT. On fait l hypothèse : attaquant raisonnable = algorithme de décision PPT Rappel On ne sait pas si le fait d avoir accès à une source aléatoire augmente vraiment le pouvoir de l attaquant.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 110 Algorithme avec oracle On s intéresse aussi à un algorithme PPT A f qui a la possibilité d appeler une fonction f. Par exemple, la fonction f pourrait être la fonction de chiffrement. Dans ce cas, f est utilisée comme un oracle capable de produire le chiffrement d un message arbitraire. L algorithme (=attaquant) peut donc calculer le chiffrement d un message sans pour autant connaître la clé.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 111 Paramètre de sécurité En général, on spécifie un système cryptographique qui depend d un paramètre de sécurité. Typiquement, ce paramètre est la taille de la clé du système (taille = nombre de bits). L analyse de la sécurité du système est fonction de n (comme en complexité asymptotique). Dans la mise-en-oeuvre on choisit un paramètre assez grand pour garantir un niveau de sécurité adéquat. Par exemple, on choisit n pour que la probabilité d attaque soit inférieure à 2 100.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 112 Fonction négligeable Une fonction ɛ : N N est négligeable si pour tout k 1 on a : en d autres termes : ɛ est O(n k ) k 1 c, n 0 N n n 0 ( ɛ(n) c n k ) De façon plus informelle, on dit que pour tout polynôme, ɛ décroit plus vite que l inverse du polynôme.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 113 Stabilité des fonctions négligeables 1. Si ɛ 1 et ɛ 2 sont négligeables alors ɛ 1 + ɛ 2 est négligeable. 2. Si ɛ est négligeable et p est un polynôme dans une variable alors p ɛ est encore négligeable.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 114 Familles de distributions (ensemble) Considérons le chiffrement d un message m. Ce chiffrement dépend du paramètre de sécurité n. De plus, si l on fixe le paramètre de sécurité, le chiffrement va dépendre du choix aléatoire de la clé. Pour un n fixé, le chiffrement du message m est une variable aléatoire discrète (v.a.d.) X n. Si n est variable, le chiffrement du message m est une famille de v.a.d. {X n } n ω En anglais : probability ensemble.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 115 Egalité et équivalence calculatoire de familles de v.a.d. Dans le système à masque jetable, les chiffrements de deux messages différents produisent deux distributions identiques (à savoir la distribution uniforme). En pratique, on relâche cette condition d égalité en une condition d équivalence calculatoire. On dit que deux familles de v.a.d. {X n } n ω, {Y n } n ω sont équivalentes si pour tout algorithme de décision PPT A (paramétré 1 n omis) la fonction : est négligeable. ɛ(n) = P [A X n = 1] P [A Y n = 1]

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 116 Remarque (symétrie de la définition) La définition implique que la quantité : est aussi négligeable. P [A X n = 0] P [A Y n = 0] En effet, si A est un algorithme de décision PPT alors l algorithme A qui calcule A et complémente le résultat est aussi un algorithme de décision PPT. On a donc : P [A X n = 1] = P [A X n = 0] P [A Y n = 1] = P [A Y n = 0] P [A X n = 0] P [A Y n = 0] = P [A X n = 1] P [A Y n = 1]

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 117 Subtilité de la définition Soit X n une fonction qui échantillonne n-bits avec probabilité uniforme et soit Y n = X c n. Soit A l algorithme PPT qui prend une suite de n-bits et retourne le premier bit. On a : P [A X n = 1] P [A Y n = 1] = 0 P [A X n A Y n ] = 1 Si maintenant X n échantillonne n-bits avec une probabilité 3/4 que le premier bit soit 1 on a : P [A X n = 1] P [A Y n = 1] = 1/2

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 118 Stabilité de la notion d équivalence calculatoire La notion d équivalence calculatoire se base sur l analyse d 1 seul échantillon de la v.a.d. Que se passe-t-il s il on peut disposer de m échantillons indépendants? Rien ne change tant que : le nombre d échantillons est borné par un polynôme dans le paramètre de sécurité. il y a un algorithme PPT pour échantilloner la v.a.d. ; on dit que la v.a.d. est échantillonable.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 119 Argument hybride La preuve consiste à construire des familles de v.a.d. hybrides qui interpolent les deux familles qui nous intéressent. On considère un cas simplifié. Soit X, Y v.a.d. échantillonnables telles que pour tout A algorithme de décision PPT d(a, X, Y ) = P [A X = 1] P [A Y = 1] ɛ On montre que les v.a.d. (X, X) et (Y, Y ) (on échantillonne 2 fois) ont la propriété que pour tout A algorithme de décision PPT d(a, (X, X), (Y, Y )) 2 ɛ

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 120 On utilise l inégalité triangulaire : d(a, (X, X), (Y, Y )) = P [A (X, X) = 1] P [A (X, Y ) = 1]+ P [A (X, Y ) = 1] P [A (Y, Y ) = 1] d(a, (X, X), (X, Y )) + d(a, (X, Y ), (Y, Y )) Si on pose A 1 = A (X, ) on a encore un algorithme de décision PPT (hyp. X échantillonnable) et d(a, (X, X), (Y, Y )) = d(a 1, X, Y ) ɛ. De façon similaire, on pose A 2 = A (, Y ) et on dérive : d(a, (X, X), (Y, Y )) = d(a 2, X, Y ) ɛ.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 121 Variations Les définitions de sécurité qui vont suivre (1-confidentialité, CPA-confidentialité, authentification...) sont des variations sur la notion d équivalence : On a deux familles de v.a.d.. On demande à que toute fonction PPT ait une probabilité négligéable de les distinguer. Dans ce contexte, les preuves de sécurité consistent à montrer que : si deux familles de v.a.d. sont équivalentes alors deux autres familles le sont aussi (exemple à suivre).

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 122 Équivalence calculatoire et PRG Intuitivement, un générateur pseudo-aléatoire (PRG) est une fonction qui prend n bits aléatoires et produit l(n) > n bits qui semblent aléatoires à un attaquant PPT. Formellement, G est un PRG s il consiste en une (famille de) fonctions : G n : 2 n 2 l(n) n ω, l(n) > n telle que les deux familles de v.a.d suivantes sont équivalentes : [k 2 n : G n (k)] [x 2 l(n) : x]

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 123 Tests pour PRG Le fait qu on fait référence à une distribution uniforme permet de tester un PRG. Voir, par exemple, https://en.wikipedia.org/wiki/diehard_tests pour une liste de tests. En général, il s agit de tests efficaces (PPT) et donc la définition proposée implique qu un PRG doit passer tous ces tests.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 124 Système cryptographique symétrique (revisité) Un triplet d algorithmes PPT : G : 1 n K E : K P C D : K C P (générateur) (chiffrement) (déchiffrement) tels que, pour tout k K, p P : D(k, E(k, p)) = p En général, on suppose que G(1 n ) n et que E et D traitent des textes clairs et chiffrés dont la longueur est polynomiale en n. Dans certains cas, on suppose que cette longueur est fixée.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 125 1-Confidentialité Dans le système à masque jetable, les distributions des chiffrements de deux messages différents sont identiques. Il en suit que le chiffrement d un message ne dévoile aucune information sur le message clair. On introduit un affaiblissement de cette notion que l on appelle confidentialité pour 1 message (abrégé en 1-confidentialité). On dit que le système cryptographique (symétrique) assure la 1-confidentialité si pour m, m messages tel que m = m, et avec un choix uniforme de la clef, la distribution du chiffrement de m est équivalente à la distribution du chiffrement de m.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 126 Ceci revient à dire que pour tout algorithme de décision PPT A et en fonction du paramètre de sécurité (la taille de la clef), la quantité : P [A (m, m, E k (m)) = 1] P [A (m, m, E k (m ))] = 1] est négligeable.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 127 PRG implique 1-confidentialité Si l on dispose d un PRG G n : 2 n 2 l(n) (à ne pas confondre avec les générateur de clé) alors on peut construire un système qui assure la 1-confidentialité de messages de longueur l(n) en définissant : E k (m) = G n (k) m k 2 n, m l(n) Argument Soient m 1, m 2 deux messages de longueur l(n). On sait que (masque jetable) : U l(n) m 1 = U l(n) m 2 Par ailleurs, on doit avoir pour i = 1, 2 : autrement, G n est pas un PRG. (G U n ) m i U l(n) m i

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 128 PRG : théorie et pratique En théorie, on peut construire un PRG à partir d une fonction à sens unique (preuve compliquée et construction pas très efficace). En pratique, on peut utiliser un (candidat pour un) PRF (pseudo-random function) comme DES ou AES. On a aussi des constructions spécialisées comme RC4, Fortuna,.... Voir https://en.wikipedia.org/wiki/cryptographically_ secure_pseudorandom_number_generator#designs.

Cours Cryptographie, R.M. Amadio, Master U. Paris-Diderot, October 19, 2015 129 Fonction à sens unique (définition formelle) Une fonction f : 2 2 est à sens unique si elle est : 1. facile à calculer, à savoir calculable en PPT. 2. difficile à inverser, pour tout g : 2 2 PPT, la fonction est négligeable. ɛ(n) = P [x 2 n : f(g(f(x))) = f(x)] De façon plus informelle, la probabilité de trouver une image inverse est négligeable.