INF4420: Sécurité Informatique

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

DECOUVERTE ET MISE EN OEUVRE
Chap. 4 Recherche en Table
Architecture de machines Codage des informations
État de l’art de la sécurité informatique
Classification et prédiction
SÉCURISATION DE DOCUMENTS ÉLECTRONIQUES PAR TATOUAGE
Une approche informationnelle de la restauration d’images
PRINCIPE SIMPLIFIE DE LA COMPRESSION MP3
1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
1 Jean-Paul Stromboni, mars 2005, Révision des cinq premières séances S.S.I. Jean-Paul Stromboni, mars 2005, ESSI1 Elève : ______________________ groupe.
Reconnaissance de la parole
Reconnaissance Automatique de la Parole
GEF 435 Principes des systèmes d’exploitation
Architecture de réseaux
Le codage de l ’information
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Sources discrètes & Entropie 3. Canaux discrets.
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin Introduction 2. Vue densemble 3. Sources discrètes & Entropie.
Dpt. Télécommunications, Services & Usages Théorie de l information H. Benoit-Cattin 1 Théorie de linformation Hugues BENOIT-CATTIN.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Bouyekhf Rachid-Lyuboumir Gruitch Laboratoire SeT UTBM
I CRYPTOLOGIE traditionnelle Sommaire 1.Les fondements p. 9 2.Confusion & Diffusion p Cryptages composés p. 39.
SÉCURITÉ DES RÉSEAUX.
SÉCURITÉ DES RÉSEAUX.
Introduction à la Théorie de l’Information
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
Améliorer les performances du chiffrage à flot SYND
Applications de la mécanique quantique: La Cryptographie Quantique
Cours Systèmes logiques
Christelle Scharff IFI 2004
Cryptographie Mener des Activités en classe
L'algorithme Blowfish.
Application des algorithmes génétiques
CryptoGraphy
INF4420: Sécurité Informatique
Finger Cryptosystem pour L’Authentification
Méthode des k plus proches voisins
? EPFL Playstations 3 Cryptologie Internet Sécurité Algorithme RSA
Les Algorithmes Cryptographiques Symétriques
Cryptographie Réalisé par TOUJENI Noura BEN SOUISSI Rania KARAOUD Imen
Maîtrise des risques et sûreté de fonctionnement – Avignon – 6-10 Octobre 2008 Modélisation des dysfonctionnements dun système dans le cadre dactivités.
Réalisé par: Jihen THOUIR Imen JENDOUBI Meriam BEN SALHA Marwa LAZHAR
Expressions régulières et hash tables
Courbes de Bézier.
LE CHOIX DU CONSOMMATEUR ET LA DEMANDE
Chapitre 3 Syntaxe et sémantique.
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Introduction au calcul quantique
Institut Supérieur des Etudes Technologiques de Djerba Exposé du Traitement de Données Réalisé par: Khalifa Marwa Magroun Amira Jawadi Souad L2MDW.
Les formats Débutant – Semaine 4.
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
La théorie de la communication de C. Shannon
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Expressions régulières et hash tables
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
USAM BRIDGE H O W E L L -CLASSIQUE
Controlled and secure direct communication using GHZ state and teleportation – Ting Gao Estelle GILET M2R III 21/03/06.
Le chiffrement asymétrique
9 paires séries de 3 étuis ( n° 1 à 27 )
Le chiffrement symétrique
La sécurité dans les réseaux mobiles Ad hoc
Le cryptage c’est tout un art
Le protocole d’authentification
Pr BELKHIR Abdelkader USTHB
Introduction classique Moderne Future … chiffrement par substitution
Cryptographie.
Réalisation d’un logiciel de Chiffrement RSA.
La sécurité informatique
Introduction à la cryptographie cours 2: Chiffrement par flot
Transcription de la présentation:

INF4420: Sécurité Informatique Cryptographie I

Aperçu du module – Cryptographie (3 sem.) Définitions et histoire Notions de base (théorie de l'information) Chiffrement Méthodes "classiques" Cryptanalyse de base Chiffrement symétrique Chiffrement à clé publique Autres primitives cryptographiques Principes d'applications Risques résiduels RÉFÉRENCES : Stinson, « Cryptography : Theory and Practice », chap. 1,2,3,4. Bishop, « Computer Security : Art and Science », chap. 9,10,11,32.

Aperçu – Crypto I (aujourd’hui) Définition et nomenclature Historique Modèle de Shannon Source d’information Codage et compression Entropie et redondance Chiffrement Chiffrement et codage Algorithmes « classiques » Cryptanalyse de base Force brute Reconnaissance de texte Analyse de fréquences Texte et cryptogramme choisi

Définitions et terminologie Un peu de grec classique… Kryptos = "caché", "secret" Graphos = écriture => Cryptographie => Cryptanalyse Logos = "savoir" => Cryptologie Stéganos = "couvert", "étanche" => Stéganographie Un peu d'américain… Alice Bob Ève (Charlie) Encrypt and Decrypt Un peu de français !!! Chiffrer et déchiffrer Coder et décoder Crypter et décrypter (!) Irène !!! (l'ingénieure) Un peu de math…

Les trois ères de la cryptographie Historique Les trois ères de la cryptographie « Classique » Jusqu’au masque jettable « Moderne » Crypto électro-mécanique et WWII Guerre froide … Crypto électronique et informatique - DES « Âge d’or » Chiffrement à clé publique Cryptologie et autres tâches cryptographiques Internet et enjeux commerciaux

Modèle de Shannon Source Codeur Décodeur Récepteur Canal Source Codage Alice Bob Irène Source Produit des symboles d'un "alphabet" (sigma) Fonctionne "sur demande" (d'où le "bouton") Codage Regroupe et transforme les symboles de la source dans un format pouvant être transmis ou sauvegardé Canal Peut introduire du bruit Transmission peuvent être interceptés Décodage Permet de reconstruire le message original (séquence des symboles de source)

Source d'informations Alphabet Contrôle Principe de la boîte noire Ensemble discret fini  = {1, …, M} Par convention taille de , || = M Contrôle un "bouton" qui permet d'obtenir un symbole à la fois Principe de la boîte noire Autre que le bouton et un nombre petit d'observations (symboles), on ne peut rien savoir sur le contenu ou fonctionnement de la source (sauf peut-être Alice, mais pas Ève, Irène ou Bob). Pourquoi cette abstraction ?? Permet de discuter de l'efficacité du codage (théorie de l'information) Permet d'analyser correctement la résistance à certaines menaces Algorithmes de chiffrement Choix de mots de passes et phrases de passe

Source par échantillonnage Sources dérivées Source par bloc Étant donné une source S, et un entier positif b, la source Sb représente la source obtenue en encapsulant S par une boîte qui mets b symboles de S dans un tampon ("buffer") avant de les sortir à l'extérieur Noter que l'alphabet de Sb est maintenant b Source par échantillonnage Étant donné une source S, et un entier positif b, la source S1/b représente la source obtenue en encapsulant S par une boîte qui émet seulement le 1er symbole de chaque b symboles sortie de S dans L'alphabet de S1/b est le même que S, soit  Ajouter dessein

Modélisation de la source Interprétations "Déterministe" La boîte "connaît" à l'avance toute la séquence de symboles (potentiellement infinie…) Probabiliste La boîte choisit les symboles au fur et à mesure selon un distribution de probabilité Processus markovien ou "sans mémoire" : p_i = Prob (S => " i"),  1<i<M e.g. Prob (Sb => " i , j") = pi pj Processus non-markovien Les probabilités de symboles peuvent dépendre des symboles antérieurs sortis de la source…

Codage Translittération Fonction de codage Fonction de décodage Un codage traduit les symboles de source vers un autre "alphabet"  = {1, …, N}, Fonction de codage F :   ,  = F(), représente comment le symbole  devra être transmis Fonction de décodage F-1:     ' = F-1(), si  ' ≠ , il n'y a eu une erreur de transmission/codage

Efficacité du codage - Compression Dans certaines circonstances, on voudrait pouvoir coder en utilisant moins de bande passante, p.ex. tel que N < M Efficacité du code est mesuré en bits transmis par chaque symbole de source émis 1er Théorème de Shannon 1. Efficacité maximum d'un code compresseur est approx. égale à H(S) 2. Il existe un code compresseur (sans erreur) avec efficacité H(S)+1

Entropie de Shannon Définitions Propriétés H(S) =  i pi log2 1/pi Q: Comment est-ce qu'on calcule pi si la source n'est pas Markovienne? A: En utilisant les fréquences de symboles, calculés sur la chaîne infinie… Propriétés  = 0,1 Prob (S="0") = Prob (S="1") = 1/2 => H(S) = 1 bit (valeur maximal) Prob (S="1") = 1; Prob (S="0") = 0 => H(S) = 0 bit (valeur minimal)  arbitraire, || = N Valeur minimale H(S) = 0 , quand Prob (S= )=1 pour un  donné Valeur maximale H(S) = log N bits, quand Prob (S= i) = Prob (S= j),  i , j   Source markovienne Si S est markovien, alors H(Sb) = b*H(S) Sinon, en général H(Sb)  b*H(S)

Interprétation de l’entropie d’une source Interprétation de H(S) 1er théorème dit que chaque symbole émit par S peut être codé individuellement avec en moyenne H(S) bits Mais si, on permet que le codage regroupe 2 lettres à la fois ?  Alors, par 1er théorème on peut coder chaque digramme (2 symboles) avec H(S2) bits, soit H(S2)/2 bits par symbole Taux de compression Sans compression  log N bits par symbole Avec compression par bloc de b lettres H(Sb)/b bits par lettre Taux de compression =

Entropie du langage de la source À cause des propriétés de H, plus b est grand plus le taux de compression sera élevé, jusqu’à une certaine limite On définit l’entropie HL du langage associé à la source S (langage = ensemble de chaînes que S génère) qui représente le « minimum » de bits par symboles qu’il sera nécessaire pour coder des chaînes de symboles émises par S, même si on permet de coder par blocs de plusieurs symboles à la fois.

Code correcteur d'erreur Correction d'erreur Code correcteur d'erreur L'introduction de bruit dans le canal est compensé en utilisant code "correcteur d'erreur" t.q. Prob (F-1(') = )  1, quand ' est le symbole reçu via le canal L'efficacité du code correcteur d'erreur Dépend du niveau de bruit introduit par le canal  celui-ci peut être mesuré avec l'entropie de Shannon Se mesure également en nombre de bits nécessaires par symbole de source, pour un code qui corrige "presque toutes les erreurs" 2e Théorème de Shannon Établit le lien entre l'efficacité du code correcteur d'erreur et le niveau de bruit du canal

Modèle de Shannon révisé Ève   '   Source Codeur Chiffr. Déchif. Décodeur Récepteur Alice Bob Irène

Modèle de Shannon révisé Ève Peut intercepter impunément tous les mots de codes  transmis sur le canal Irène Choisit l'algorithme de chiffrement Détermine la politique de choix et gestion de clés Doit tenir en compte le codage en considérant les caractéristiques de la source (DP, entropie, etc.) en influençant le choix de codage (si possible) en choisissant et adaptant l'algorithme de chiffrement en conséquence (choix de taille de clés, compression/décompression, etc.) Pourquoi : voir TP 1…

Algorithme de chiffrement – Concepts généraux Alphabet Entrée :  Sortie : en général , mais peut-être un autre alphabet Fonction de chiffrement Clé de chiffrement = ke ' = E(ke, ) = Ek1 () Fonction de déchiffrement Clé de déchiffrement = kd  = D(kd, ') = Dk2() Ne corrige pas les erreurs donc, En général  = '

Algorithmes "classiques" mono-alphabétiques Algorithme de César Source texte en caractères latin Codage lettres  chiffres de 1 à 26 (20 pour être historiquement exact) Chiffrement x  x+3 mod 26 Clés  nil Algorithme de décalage Source et codage idem x  x + k mod 26 Clés k  {1,…,26} Algorithme de substitution Source Idem Codage aucun Chiffrement x  (x) Clé  (une table de substitution) Algorithme afin Source et codage  lettres en chiffres x  a x + b mod 26 (a,b) où a, b  {1,…,26}

Algorithme de Vigenère Source Texte en caractères latin Codage lettres  chiffres de 1 à 26 Clé K = k1 k2 … km , mot/phrase de longueur m Chiffrement xi  (xi + k i mod m ) mod 26 C E C I N E S T P A U N E P I P E ... S E X Y S E X Y S E X Y S E X Y S ... 3 5 3 9 14 5 19 20 16 1 21 14 5 16 9 16 5 ... 19 5 24 25 19 5 24 25 19 5 24 25 19 5 24 25 19 ... + 22 10 1 8 7 10 17 19 9 6 19 13 24 21 7 15 24 ... V J A H G J Q S I F S M N U G O X ...

Méthode de cryptanalyse de base Force brute Taille de l’espace de clés Critère de reconnaissance ou succès Patron ou format reconnaissable Le texte « fait du sens » Le texte « marche », e.g. mot de passe, etc. Analyse fréquentielle Établir le tableau des fréquences Connaître les fréquences de la source Codage connu Rétro-ingénierie de l'algorithme de chiffrement: Marche pour les algorithmes de substitution mono-alphabétiques Peut marcher pour les poly-alphabétiques, si fréquences connues Mesure de facilité ENTROPIE !!!! (mais attention : entropie de la source vs. entropie du langage) COMPRÉSSIBILITÉ !!!