CHAPITRE 3. PROTOCOLES DE CRYPTOGRAPHIE À



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

INF 4420: Sécurité Informatique Cryptographie II

TP 2 : Chiffrement par blocs

ÉPREUVE COMMUNE DE TIPE Partie D

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

Conversion d un entier. Méthode par soustraction

Modes opératoires pour le chiffrement symétrique

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

Représentation des Nombres

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Théorie et codage de l information

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

Les fonctions de hachage, un domaine à la mode

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

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

Transmission d informations sur le réseau électrique

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

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

Projet Matlab : un logiciel de cryptage

Fonction de hachage et signatures électroniques

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

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

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

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

TECHNIQUES DE CRYPTOGRAPHIE

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

V- Manipulations de nombres en binaire

IV- Comment fonctionne un ordinateur?

La prise de conscience de la Cyber Sécurité est en hausse

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

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

Authentification de messages et mots de passe

Informatique Générale

TD 1 - Transmission en bande de passe

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

Le protocole sécurisé SSL

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

LES SECURITES DE LA CARTE BANCAIRE

Algorithme. Table des matières

EMV, S.E.T et 3D Secure

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

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

La sécurité dans un réseau Wi-Fi

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

Représentation d un entier en base b

Licence Sciences et Technologies Examen janvier 2010

Les opérations binaires

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Cryptographie et fonctions à sens unique

Cours d Analyse. Fonctions de plusieurs variables

Logiciel de Base. I. Représentation des nombres

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

1 Introduction au codage

GPA770 Microélectronique appliquée Exercices série A

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Vers une Théorie du Chiffrement Symétrique

Limitations of the Playstation 3 for High Performance Cluster Computing

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Sécurité de l'information

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

Sécurité des réseaux IPSec

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

Cryptologie à clé publique

Dimensionnement d une roue autonome pour une implantation sur un fauteuil roulant

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

Exercices Corrigés Premières notions sur les espaces vectoriels

Analyse de PRESENT avec peu de données

Calculateur quantique: factorisation des entiers

Note technique. Recommandations de sécurité relatives aux mots de passe

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

Protocoles d authentification

Introduction à l étude des Corps Finis

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

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Représentation d un nombre en machine, erreurs d arrondis

Documentation SecurBdF

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

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Signatures électroniques dans les applications INTERNET

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

Programmation linéaire

Livre blanc. Sécuriser les échanges

Chapitre 1 I:\ Soyez courageux!

GPA435 SE et PS. Sécurité Informatique. Étude de cas: ios Version 2013

VIII- Circuits séquentiels. Mémoires

Objets Combinatoires élementaires

Transcription:

CHAPITRE 3. PROTOCOLES DE CRYPTOGRAPHIE À CLÉ SECRÈTE http://math.univ-lyon1.fr/~roblot/masterpro.html

Propriétés Propriétés Clés. La clé de cryptage et la clé de décryptage sont les mêmes et donc doivent être gardées secrètes. Transformations. Transformations similaires pour codage et décodage (protocoles symétriques). Avantage. Algorithmes en général très rapides. Inconvénient. Il faut pouvoir échanger la clé!

Propriétés Nombres binaires et hexadécimaux Concaténation. Pour w 1, w 2 {0, 1} l, on définit w 1 w 2 {0, 1} 2l Découpage. Pour w {0, 1} 2l, on définit w = (w 1 w 2 ) avec w 1, w 2 {0, 1} l Ecriture binaire. Tout entier N 1 s écrit de manière unique N = a k 2 k + a k 1 2 k 1 + + a 1 2 + a 0 = (a k a k 1 a 1 a 0 ) 2 avec a 0, a 1,..., a k {0, 1} et k = log 2 (N). On identifie par la suite les deux ensembles {0, 1} l {n N avec 0 n < 2 l }. Exercice. Convertir 453 et 2034 en binaire. Combien vaut 101101 2?

Propriétés Nombres binaires et hexadécimaux Nombres hexadécimaux. Les chiffres vont de 0 à F et permettent de travailler en base 16 : 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Un chiffre hexadécimal représente 4 bits (car 2 4 = 16), donc, par exemple, il faut 32 chiffres hexadécimaux pour représenter 128 bits. 0 1 2 3 4 5 6 7 0000 0001 0010 0011 0100 0101 0110 0111 8 9 A B C D E F 1000 1001 1010 1011 1100 1101 1110 1111 Exercice. Convertir 6453 en hexadécimal, puis en binaire.

Codage par blocs Codage par blocs Principe. Le message est coupé en blocs de même taille (64 bits, 128 bits, 196 bits, 256 bits...) qui sont encryptés et combinés suivant plusieurs modes d opération. 4 Modes d opération. ECB (Electronic CodeBook), CBC (Cipher-Block Chaining), CFB (Cipher Feedback), OFB (Output Feedback)

Codage par blocs Codage par blocs : mode ECB (Electronic CodeBook) M Cryptage M 1,..., M i,... E Clé C C 1,..., C i,... C Décryptage C 1,..., C i,... E 1 Clé M M 1,..., M i,... Avantages. Simplicité, intégrité des blocs indépendante. Inconvénients. Expose le format des données, usure de la clé (cf. attaque par le paradoxe des anniversaires). Exercice. Donner l expression des blocs C i.

Codage par blocs Codage par blocs : mode CBC (Cipher-Block Chaining) M Cryptage M 1,..., M i,... + E Clé IV, C 1,..., C i,... C C 1,..., C i,... C Décryptage C 1,..., C i,... E 1 Clé IV, C 1,..., C i,... M M 1,..., M i,... + Remarque. IV vecteur d initialisation (public) Avantage. Plus sûr et presque aussi rapide que EBC. Exercice. Donner l expression des blocs C i. En déduire que si C i est corrompu, les C j, pour j > i + 1, peuvent être décodés mais pas C i+1.

D.E.S. (Data Encryption Standard) D.E.S. (Data Encryption Standard) Histoire. Créé par IBM. Standard du NIST (National Institute of Standards and Technology) depuis 1976 : norme FIPS 46-3. Bloc. Codage par blocs de 64 bits. Clé. 64 bits avec 8 bits de parité chaque 8 bits donc 56 bits effectifs (recherche exhaustive divisée par 256). Spécificités : Plusieurs applications augmentent la sûreté ; vulnérable aux attaques par relations linéaires ; considéré comme obsolète et non sûr car l espace des clés est trop petit ; repose sur les diagrammes de Feistel.

Diagrammes de Feistel Message à crypter : w {0, 1} 2l Clé : deux fonctions f 1 : {0, 1} l {0, 1} l et f 2 : {0, 1} l {0, 1} l (2 rondes) Cryptage w = (w 1 w 2) Décrypage w = (w 1 w 2 ) w 1 w 2 w 1 w 2 f 1 + + f 2 w 1 w 2 w 1 w 2 f 2 + + f 1 w 1 w 2 w 1 w 2 w = w 1 w 2 w = w 1 w 2

Diagrammes de Feistel Exercice sur les diagrammes de Feistel w = 101110 {0, 1} 6 f 1 : {0, 1} 3 {0, 1} 3 Cryptage 101110 = (101 110) 000 101 001 100 010 111 100 000 011 001 101 101 110 010 111 110 f 2 : {0, 1} 3 {0, 1} 3 000 010 001 001 010 110 100 111 011 110 101 011 110 001 111 100 f 1 f 2 011 011 = 011011 + + Décrypage 011011 = (011 011) + f 2 + f 1 101110 = 101 110

Diagrammes de Feistel Exercice sur les diagrammes de Feistel Soit un diagramme de Feistel avec comme entrée w 1 w 2 et sortie w 1 w 2. Montrer que w 1 = f 2 (f 1 (w 1 ) w 2 ) w 1 et w 2 = f 1 (w 1 ) w 2 En déduire l inversibilité des diagrammes de Feistel. Déterminer les expressions des mots de sorties en fonction des mots d entrée des diagrammes de Feistel où les fonctions f 1 et f 2 vérifient les propriétés suivantes : 1 f 1 et f 2 sont la fonction nulle. 2 f 1 et f 2 sont la fonction de négation binaire. 3 f 1 et f 2 sont des fonctions linéaires.

D.E.S. (Data Encryption Standard) w σ w 1 w 2 F f 1, f 2,, f 16 w 1 w 2 σ 1 CODAGE D.E.S. 1ère étape. Expansion de la clé : 16 fonctions f 1,..., f 16 sont construites à partir de la clé par des permutations sur 4 bits (S-boîtes) et des sous-clés 2ème étape. Chiffrement : application du diagramme de gauche avec w un bloc de 64 bits σ une permutation sur 64 bits fixée w

D.E.S. (Data Encryption Standard) Expansion de la clé dans D.E.S. Les sous-clés K i de D.E.S. sont au nombre de 16 et de taille 48 bits. On utilise deux fonctions : PC1 : {0, 1} 64 {0, 1} 28 {0, 1} 28 PC2 : {0, 1} 28 {0, 1} 28 {0, 1} 48 Puis la procédure suivante : 1 Faire (C 0, D 0 ) PC1(K) 2 Pour i = 1,..., 16, faire 1 C i est le mot obtenu à partir de C i 1 par une permutation circulaire à gauche de 1 bit si i = 1, 2, 9 ou 16, ou 2 bits sinon. 2 D i est le mot obtenu à partir de D i 1 par une permutation circulaire à gauche de 1 bit si i = 1, 2, 9 ou 16, ou 2 bits sinon. 3 Faire K i PC2(C i, D i).

D.E.S. (Data Encryption Standard) Construction des fonctions f i Chaque fonction f i : {0, 1} 32 {0, 1} 32 est construite comme suit 1 On applique E : {0, 1} 32 {0, 1} 48 2 On ajoute (ou exclusif) la sous-clé K i 3 On coupe le résultat en 8 mots w 1,..., w 8 de 6 bits 4 On applique S i : {0, 1} 6 {0, 1} 4 à chaque w i (i = 1,..., 6) 5 On concatène les mots obtenus en un mot de 32 bits 6 On applique une S-boîte finale E est construit en permutant les bits de l entrée avec 16 bits répétés. On part du 32ème bit, on prend 6 bits (avec permutation circulaire), puis on repart de 1 bit en arrière et on recommence : E(x 1 x 2 x 32 ) = x 32 x 1 x 2 x 3 x 4 x 5 x 4 x 5...

D.E.S. (Data Encryption Standard) Exercice sur les clés faibles de D.E.S. PC1 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 PC2 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 1 Supposons que les sous-clés K i sont toutes égales. Montrer que les bits de C 0 sont tous égaux, ainsi que ceux de D 0. 2 En déduire qu il existe exactement 4 clés D.E.S. pour lesquelles toutes les sous-clés sont les mêmes. 3 Déterminer ces 4 clés faibles.

D.E.S. (Data Encryption Standard) Résultats de cryptanalyse contre D.E.S. Recherche exhaustive. On essaie toutes les clés possibles : 2 56, soit 2.3 années/machine pour un test de 1 000 000 000 clés par seconde. En 1998, le EFF (Electronic Frontier Foundation) a construit pour environ $250,000 une machine spécialisée qui casse une clé D.E.S. en une soixantaine d heures. Attaques différentielles. D.E.S. a (sans doute) été conçu pour résister aux attaques différentielles. Néanmoins, on peut casser une clé D.E.S. avec une attaque différentielle avec 2 46 textes clairs. Attaques linéaires. D.E.S. n a pas été conçu pour résister aux attaques linéaires (qui ont été inventées après D.E.S.). Les meilleures attaques permettent de retrouver une clé D.E.S. avec 2 43 textes clairs. Triple D.E.S.. Le protocole Triple D.E.S. qui consiste à appliquer trois fois le protocole D.E.S. avec trois clés différentes est considéré comme étant plus sûr puisque l espace des clés est beaucoup plus grand. Cependant D.E.S. est désormais obsolète avec l arrivée de A.E.S.

I.D.E.A. (International Data Encryption Algorithm) I.D.E.A. (International Data Encryption Algorithm) Histoire. Développé par Lai et Massey en 1992 Bloc. Codage par blocs de 64 bits Clé. Clé de 128 bits Spécificités. Utilise trois structures différentes pour une plus grande sécurité ; pas d attaque efficace connue autre que la recherche exhaustive (mais certaines clés présentent des faiblesses). Inconvénients : bloc trop petit par rapport à la longueur de la clé ; problèmes de brevet.

I.D.E.A. (International Data Encryption Algorithm) Opérations de base de I.D.E.A. (mots de 16 bits) Ou exclusif : a b 0100010101001011 0111000011010110 = 0011010110011101 Addition modifiée : a b := (a + b) mod 2 16 Exercice. Montrer que 0100010101001011 0111000011010110 = 1011011000100001 Multiplication modifiée : a b := a b mod (2 16 + 1) (note : 2 16 + 1 est premier et 0 2 16 ) Exercice. Montrer que 0100010101001011 0111000011010110 = 1001111000101000

I.D.E.A. (International Data Encryption Algorithm) Exercice sur les opérations de bases de I.D.E.A. On travaille sur des mots de 2 bits (au lieu de 16 bits). 1 Donner la description des trois opérations de l I.D.E.A. pour les mots de 2 bits et un exemple de calcul. 2 Donner les représentations logiques des FBV correspondants aux trois opérations. 3 Calculer les transformées de Fourier et Walsh de ces FBV. 4 Donner les représentations algébriques des FBV correspondants aux trois opérations. 5 En déduire le degré de ces opérations.

I.D.E.A. (International Data Encryption Algorithm) Diagramme de base pour I.D.E.A. (une ronde) w 1 w 2 w 3 w 4 K 1 + K 2 K 3 + K 4 + + K 5 + + K6 + + + + w 1 w 2 w 3 w 4 K 1, K 2, K 3, K 4, K 5, K 6 sont des sous-clés Exercice. Donner l expression des w i en fonctions des w i et des K i

I.D.E.A. (International Data Encryption Algorithm) Les rondes dans I.D.E.A. Rondes. I.D.E.A. consiste à l application de 8 rondes successives, nécessitant chacune 6 sous-clés, et d une dernière demi-ronde comme suit w 1 w 2 w 3 w 4 K 1 + + K 4 K 2 K 3 w 1 w 2 w 3 w 4 Il faut donc engendrer 8 6 + 4 = 52 sous-clés de 16 bits.

I.D.E.A. (International Data Encryption Algorithm) Expansion de la clé dans D.E.S. Sous-clés. On coupe la clé (de 128 bits) en 8 sous-clés de 16 bits. Puis, on décale la clé de 25 bits sur la gauche (de manière circulaire) et découpe le mot obtenu en 8 sous-clés de 16 bits. En faisant cela 7 fois, on obtient 56 sous-clés (les 4 dernières ne sont pas utilisées). Exercice. 1 Montrer que les sous-clés obtenues sont toutes différentes. 2 Étudier la position d un même bit dans les différentes sous-clés. 3 Que se passe-t-il si on répète l opération une 8ième fois?

I.D.E.A. (International Data Encryption Algorithm) Résultats de cryptanalyse contre I.D.E.A. En 1996, I.D.E.A. était considéré par certains experts comme le meilleur et le plus sûr des protocoles de cryptographie à clé secrète. Attaques récentes. Les attaques les plus récentes peuvent casser un I.D.E.A. limité à 5 rondes, alors que I.D.E.A. utilise normalement 8 rondes et demi. Inconvénients. I.D.E.A. souffre d un manque d efficacité fasse à des protocoles plus modernes et aussi son utilisation est limitée par de nombreux brevets. La méthode d expansion des sous-clés est trop simple et donc il existe un nombre anormalement élevé de clés faibles ou semi-faibles.