Cryptographie et Cryptanalyse. Yohan Boichut, Cours Sécurité Master 1

Documents pareils
MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Sécurité de l'information

Projet Matlab : un logiciel de cryptage

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Calculateur quantique: factorisation des entiers

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

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

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

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

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

Petite introduction aux protocoles cryptographiques. Master d informatique M2

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Signatures électroniques dans les applications INTERNET

Système binaire. Algèbre booléenne

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

TECHNIQUES DE CRYPTOGRAPHIE

Cryptologie à clé publique

INF 4420: Sécurité Informatique Cryptographie II

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

Des codes secrets dans la carte bleue. François Dubois 1

V- Manipulations de nombres en binaire

Initiation à la programmation en Python

ÉPREUVE COMMUNE DE TIPE Partie D

I- Définitions des signaux.

Le codage informatique

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Vers l'ordinateur quantique

Cryptographie et fonctions à sens unique

Audit des risques informatiques. Introduction à la Cryptographie Pierre-François Bonnefoi

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

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

CH.6 Propriétés des langages non contextuels

Uniformiser la mise en forme du document. Accélère les mises à jour. Permets de générer des tables de matières automatiquement.

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

MEMOIRE DE MAGISTER EN ELECTRONIQUE. OPTION : Télédétection. Application des techniques de cryptage pour la transmission sécurisée d images MSG

Cryptographie appliquée

Codage d information. Codage d information : -Définition-

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

LA SECURITE DES CARTES A BANDE MAGNETIQUE

Reaper : utilisations avancées

TEXT MINING von 7

Cryptographie Quantique

Chapitre 1 I:\ Soyez courageux!

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

Cours admin 200x serveur : DNS et Netbios

Définitions. Numéro à préciser. (Durée : )

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

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

Annexe : La Programmation Informatique

La cryptographie dans le système bancaire

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

Cryptographie et Sécurité informatique

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

1 Introduction au codage

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

1.1 L EXPLORATEUR WINDOWS

Documentation Cobian

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Oracles Cryptographiques. Trouver une joke de padding

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Modes opératoires pour le chiffrement symétrique

TP 1 : 1 Calculs en binaire, octal et hexadécimal

Les probabilités. Chapitre 18. Tester ses connaissances

Fonction de hachage et signatures électroniques

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

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.

CHAPITRE VIII : Les circuits avec résistances ohmiques

Projet Active Object

Programmation parallèle et distribuée (Master 1 Info )

Code_Aster. Procédure IMPR_RESU aux formats 'RESULTAT' et 'ASTER' 1 But

Panorama de la cryptographie des courbes elliptiques

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Informatique Générale

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

constitue le point d'entrée pour accéder au paramétrage de votre poste.

Chapitre 1 : Introduction aux bases de données

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Introduction à l étude des Corps Finis

Physique Chimie. Utiliser les langages scientifiques à l écrit et à l oral pour interpréter les formules chimiques

Principes de cryptographie pour les RSSI

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Manuel Utilisateur Téléphone IP Thomson ST 2030

Tune Sweeper Manuel de l'utilisateur

Déploiement d'une Infrastructure de Gestion de Clés publiques libre

L AUTOMATISME LE SIGNAL

Une version javascript sera disponible directement dans le cours prochainement.

Année Universitaire 2009/2010 Session 2 de Printemps

O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée

Structures algébriques

Assemblage couleur & trait en InDesign pour fichier Acrobat - 1

Questionnaire sur les Antécédents Linguistiques. (Version 2.0, 2012)

Cours Informatique 1. Monsieur SADOUNI Salheddine

Transcription:

Cryptographie et Cryptanalyse Yohan Boichut, Cours Sécurité Master 1

Un peu d'histoire avant de commencer Yohan Boichut, Cours Sécurité Master 2

De la stéganographie à la cryptographie Stéganographie : Étymologie grecque Steganos : Couvert Graphein : Ecriture Vers 600 avant J.C. : Nabuchodonosor utilisait des crânes rasés Vers 480 avant J.C. : Dematarus (Grec) isolé en Perse utilise des tablettes de cire pour prévenir son pays des projets de Xerxes (Perse) 1ier siècle : Apparition de l'encre invisible (fluides organiques riches en carbone) Si le message est intercepté... Yohan Boichut, Cours Sécurité Master 3

De la stéganographie à la cryptographie Cryptographie : Étymologie grecque Kryptos : Caché Graphein : Ecriture 5 siècle avant J.C., Spartiates : Utilisation de scytales Chiffre de César : Décalage alphabétique 1580 : Chiffre par substitution de symboles - Marie Stuart 1586 : Traité des chiffres Chiffre de Vigenère 1930 : Enigma Fin 20e : Apparition du chiffrement à clé publique - RSA Yohan Boichut, Cours Sécurité Master 4

La cryptographie Étude des algorithmes et des protocoles utilisés pour préserver la confidentialité de l'information et garantir son intégrité. Elle constitue la base de la plupart des techniques de sécurité: échanges sécurisés sur Internet, confidentialité des transactions bancaires, protection des secrets industriels et commerciaux, protection du secret médical, protection des systèmes informatiques contre les intrusions, Par le biais de la signature électronique: identification des correspondants, non répudiation des transactions, Garantie d'intégrité des documents. Yohan Boichut, Cours Sécurité Master 5

Cryptanalyse but de la cryptanalyse: trouver des attaques permettant de casser les protections mises en place à l'aide de la cryptographie. Yohan Boichut, Cours Sécurité Master 6

Codes et Chiffres Yohan Boichut, Cours Sécurité Master 7

Les Codes et leurs Limites Yohan Boichut, Cours Sécurité Master 8

Une table à double entrée, le code secret, constituait la clé. Elle donnait la correspondance entre les unités du texte clair et les unités correspondantes du message secret. Exemple. Le sous marin est attendu à Jean 10 heures est là 20 heures n'est pas là On voit que la taille de la clé était nécessairement supérieure ou égale à celle du message. La confidentialité de l'information était fondée sur le fait que seules les personnes autorisées connaissaient la clé. Le message secret pouvait masquer totalement la structure du texte clair. Yohan Boichut, Cours Sécurité Master 9

Dans l'exemple précédent, un attaquant ne disposant pas du code, ne peut pas déterminer si le message secret annonce l'arrivée d'un sous-marin ou le décollage d'un avion. Un code secret peut donc apporter une excellente garantie de confidentialité (tant que le code utilisé reste ignoré des attaquants!). le type d'information que l'on peut ainsi échanger est très limité : une information qui n'a pas d'entrée dans la table ne peut pas être codée. Yohan Boichut, Cours Sécurité Master 10

Quelques Principes du Chiffrement Yohan Boichut, Cours Sécurité Master 11

Codes modernes A la différence des codes, les algorithmes cryptographiques actuels, appelés chiffres, fonctionnent au niveau des bits ou des groupes de bits, permettant ainsi la transmission de toute information : texte, fichier binaire, image,... Un algorithme cryptographique comprend deux fonctions, une fonction E (Encryption) pour chiffrer le message et sa fonction inverse D (Decryption) pour le déchiffrer. Yohan Boichut, Cours Sécurité Master 12

Fonctions de bases fonction E (Encryption): C=E(K1,M) chiffre le message M avec la clé de chiffrement K1 fonction D (Decryption): M=D(K2,C) déchiffre C avec la clé de déchiffrement K2 Yohan Boichut, Cours Sécurité Master 13

On pourrait envisager de fonder la confidentialité sur le fait que seules les personnes autorisées connaissent les algorithmes E et D: il faut changer les algorithmes chaque fois qu'un initié, quitte le groupe. Toute standardisation des logiciels de communication est impossible. On préfère rendre publics les algorithmes utilisés. On fonde alors la confidentialité sur le fait que seules les personnes autorisées connaissent la clé de déchiffrement K2. Yohan Boichut, Cours Sécurité Master 14

Chiffres par décalage Yohan Boichut, Cours Sécurité Master 15

Exemple: chiffre alphabétique par décalage. Permutation circulaire sur l'ensemble des lettres de l'alphabet 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 Avec la clé K=3 (chiffre de César), le texte ABC est chiffré par DEF La clé K=13 donne le chiffre ROT13, encore parfois utilisé dans certains systèmes UNIX Yohan Boichut, Cours Sécurité Master 16

Exemple: chiffre alphabétique par décalage. Algorithme On numérote de 0 à 25 les lettres de l'alphabet. On choisit une clé K comprise entre 1 et 25 et on chiffre le caractère X par: E(K,X) = (X+K) mod 26 Chiffrement du message ZORRO avec K = 3 Z = 25, 25 + 3 = 28, 28 mod 26 = 2 : C O = 14; 14 + 3 = 17, 17 mod 26 = 17 : R R = 17, 17 + 3 = 20, 20 mod 26 = 20 : U ZORRO devient CRUUR Yohan Boichut, Cours Sécurité Master 17

Petite pause exercice... Exercice. Ecrire la fonction D de déchiffrement correspondant au chiffre par décalage. Quelle est la clé de déchiffrement? Yohan Boichut, Cours Sécurité Master 18

Vraiment petite... Exercice. Ecrire la fonction D de déchiffrement correspondant au chiffre par décalage. Quelle est la clé de déchiffrement? Fonction= la même Clef= 26-k -k mod 26 = 26 -k mod 26 Yohan Boichut, Cours Sécurité Master 19

De manière générale, les chiffres par substitutions... Yohan Boichut, Cours Sécurité Master 20

Chiffres alphabétiques par substitution Un chiffre alphabétique par substitution généralise le chiffre par décalage. Le principe consiste à choisir comme clé une permutation arbitraire P des 26 lettres de l'alphabet et à chiffrer le caractère X par: E(P,X)=P(X) Yohan Boichut, Cours Sécurité Master 21

Comment construire une permutation sans trop de difficultés? Etablir une clé qui peut être un mot ou une phrase Exemple : prenons le mot «securite» Nettoyer la clé i.e. supprimer les lettres doubles «securite» devient «securit» Faire correspondre les premières lettres de l'alphabet aux lettres de la clé et complèter S E C U R I T V W X Y Z A B D F G H J K L M N O P Q 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 Yohan Boichut, Cours Sécurité Master 22

Les limites d'un Chiffre alphabétique par substitution Un chiffre alphabétique par substitution généralise le chiffre par décalage. Le principe consiste à choisir comme clé une permutation arbitraire P des 26 lettres de l'alphabet et à chiffrer le caractère X par: E(P,X)=P(X) Les chiffres par substitution ne permettent pas de garantir la confidentialité de l'information. Yohan Boichut, Cours Sécurité Master 23

Voici un diagramme des fréquences des lettres en français: Le texte chiffré laisse apparaître la structure du texte clair. Toutes les occurrences d'une même lettre ou d'un même groupe de lettres sont toujours chiffrées de la même manière. Une analyse statistique simple permet alors de reconstituer le texte clair. Yohan Boichut, Cours Sécurité Master 24

Comment avoir un chiffrement résistant à l'analyse des fréquences? Idée: essayer de masquer autant que possible la structure du texte clair (répétitions de caractères ou de petits groupes de caractères) Une approche possible consiste à appliquer un décalage fonction de la position du caractère dans le texte. Yohan Boichut, Cours Sécurité Master 25

Chiffre de Vigenère Le chiffre de Vigenère utilise des substitutions alphabétiques multiples par décalage. On choisit un mot comme clé. Le rang de chaque lettre de la clé définit un décalage à appliquer. Exemple: avec la clé DECEPTION, on chiffrera le texte clair NOUSSOMMESDECOUVERTS Yohan Boichut, Cours Sécurité Master 26

Le carré de Vigenère 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 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 A C 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 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 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 D... I J K L M N O P Q R S T U V W X Y Z A B C D E F G H... N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O... T U V W X Y Z A B C D E F G H I J K L M N O P Q R S Yohan Boichut, Cours Sécurité Master 27

Le carré de Vigenère 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 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 A C 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 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 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 D... I J K L M N O P Q R S T U V W X Y Z A B C D E F G H... N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O... T U V W X Y Z A B C D E F G H I J K L M N O P Q R S Texte clair N O U S S O M M E S D E C O U V E R T S Clé répétée D E C E P T I O N D E C E P T I O N D E Yohan Boichut, Cours Sécurité Master 28

Le carré de Vigenère 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 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 A C 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 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 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 D... I J K L M N O P Q R S T U V W X Y Z A B C D E F G H... N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O... T U V W X Y Z A B C D E F G H I J K L M N O P Q R S Texte clair N O U S S O M M E S D E C O U V E R T S Clé répétée D E C E P T I O N D E C E P T I O N D E Texte chiffré Q S W W H H U A R V H G G D N D S E W W Yohan Boichut, Cours Sécurité Master 29

Version «light» du carré de Vigenère 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 N O U S S O MMESDECOUVERTS 13 14 20 18 18 14... D E C E P T IONDECEPTIONDECE 3 4 2 4 15 19... 16 18 22 22 7 7... Q S W W H H... Yohan Boichut, Cours Sécurité Master 30

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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 N O U S S O MMESDECOUVERTS 13 14 20 18 18 14... D E C E P T IONDECEPTIONDECE 3 4 2 4 15 19... 16 18 22 22 7 7... Q S W W H H... Yohan Boichut, Cours Sécurité Master 31

Des chiffrements de plus en plus pointus... Yohan Boichut, Cours Sécurité Master 32

Chiffre de Hill Le chiffre de Hill substitue m caractères X1,..., Xm du texte clair par m caractères C1,..,Cm, selon le système d'équations linéaires suivant: C 1 =K 11 X 1 +...+ K 1m X m mod 26 C 2 =K 21 X 1 +...+ K 2m X m mod 26... C m =K m1 X 1 +...+ K mm X m mod 26 ou encore, sous forme matricielle: C=KX Yohan Boichut, Cours Sécurité Master 33

La matrice K constitue la clé de chiffrement. Elle doit évidemment être inversible pour que le déchiffrement soit possible. L'algorithme de déchiffrement est alors le même que l'algorithme de chiffrement, en remplaçant simplement K par On voit que, si p<m, alors deux occurrences d'une même chaîne X1...Xp de p caractères ne seront en général pas chiffrées de la même manière Exemple. Avec la clé = 17 17 5 K 21 18 21 2 2 19 K 1 le texte PAYMOREMONEY est chiffré par LNSHDLEWMTRW. Yohan Boichut, Cours Sécurité Master 34

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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Exemple. Avec la clé le texte: = 17 17 5 K 21 18 21 2 2 19 P A Y M O R E M O N E Y 15 0 24 12 14 17 4 12 14 13 4 24 Yohan Boichut, Cours Sécurité Master 35

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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Exemple. Avec la clé le texte: P A Y M O R E M O N E Y 15 0 24 12 14 17 4 12 14 13 4 24 = 17 17 5 K 21 18 21 2 2 19 17 17 5 21 18 21 2 2 19 15 0 24 Yohan Boichut, Cours Sécurité Master 36

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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Exemple. Avec la clé le texte: P A Y M O R E M O N E Y 15 0 24 12 14 17 4 12 14 13 4 24 est chiffré par: 11 13 18 7 3 11 4 22 12 19 17 22 L N S H D L E W M T R W. = 17 17 5 K 21 18 21 2 2 19 17 17 5 21 18 21 2 2 19 15 0 24 17*15+5*24=255+120=375 375 mod 26 = 11 21*15+21*24=315+504=819 819 mod 26 = 13 Yohan Boichut, Cours Sécurité Master 37

Chiffre XOR Le chiffre XOR manipule les bits et non plus les caractères. Il est basé sur l'opération ou exclusif bit à bit (XOR, noté encore ). On utilise comme clé une chaîne de bits K de longueur donnée L. On chiffre en effectuant le ou exclusif bit à bit de la clé K avec le texte clair, découpé en blocs M de longueur L. Yohan Boichut, Cours Sécurité Master 38

Chiffre XOR Exemple. Avec la clé K=0101 le texte clair 11110000 sera chiffré ainsi: 11110000 texte clair 01010101 clef 10100101 texte codé Rappelons que le ou exclusif est associatif, commutatif, qu'il possède un élément neutre 0, et que toute chaîne K est son propre inverse: K K=0 Ainsi, on voit que l'algorithme de déchiffrement est identique au chiffrement, avec la même clé : M=(M K) K=C K Yohan Boichut, Cours Sécurité Master 39