Introduction à la cryptographie (cours 3): Chiffrement par bloc (DES)

Documents pareils
INF 4420: Sécurité Informatique Cryptographie II

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

Cryptographie et fonctions à sens unique

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

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

Sécurité de l'information

ÉPREUVE COMMUNE DE TIPE Partie D

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

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

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

TECHNIQUES DE CRYPTOGRAPHIE

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

Cryptographie appliquée

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

Cryptographie Quantique

Modes opératoires pour le chiffrement symétrique

Programmation linéaire

LES SECURITES DE LA CARTE BANCAIRE

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

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

Cryptologie à clé publique

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

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

Steganos présente Security Suite 2007, son incontournable suite de sécurité pour PC.

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

Les Réseaux sans fils : IEEE F. Nolot

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

Technologie SDS (Software-Defined Storage) de DataCore

Fonction de hachage et signatures électroniques

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

IPSEC : PRÉSENTATION TECHNIQUE

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

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


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

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.

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

Sécurité des réseaux IPSec

Authentification de messages et mots de passe

Chapitre 5 : Flot maximal dans un graphe

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

La cryptographie du futur

Sécurité et sûreté des systèmes embarqués et mobiles

Calculateur quantique: factorisation des entiers

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

LES DECIMALES DE π BERNARD EGGER

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

INF6304 Interfaces Intelligentes

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Architecture des Systèmes d Information Architecture des Systèmes d Information

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

Programmation parallèle et distribuée

Qu est-ce qu un ordinateur quantique et à quoi pourrait-il servir?

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.

Objets Combinatoires élementaires

Correction du baccalauréat ES/L Métropole 20 juin 2014

Introduction à l étude des Corps Finis

Quatrième partie IV. Test. Test 15 février / 71

Calcul différentiel sur R n Première partie

Conservation des documents numériques

Le protocole sécurisé SSL

Comment réaliser physiquement un ordinateur quantique. Yves LEROYER

Programmation parallèle et distribuée

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

Résolution d équations non linéaires

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

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

Gestion des Clés Publiques (PKI)

De la sécurité physique des crypto-systèmes embarqués

Chapitre 1 : Évolution COURS

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

Parallélisme et Répartition

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Etat de l art du chiffrement de données

Analyse de la variance Comparaison de plusieurs moyennes

Analyse de PRESENT avec peu de données

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Vers une Théorie du Chiffrement Symétrique

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

Limitations of the Playstation 3 for High Performance Cluster Computing

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

Les fonctions de hachage, un domaine à la mode

Du 03 au 07 Février 2014 Tunis (Tunisie)

Chapitre VI - Méthodes de factorisation

Programmation linéaire et Optimisation. Didier Smets

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

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

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

1 Complément sur la projection du nuage des individus

Signature électronique. Romain Kolb 31/10/2008

Sauvegarde collaborative en pair-à-pair

De la sphère de Poincaré aux bits quantiques :! le contrôle de la polarisation de la lumière!

Signatures électroniques dans les applications INTERNET

Transcription:

Introduction à la cryptographie (cours 3): Chiffrement par bloc (DES) Université Paris 13 Villetaneuse 01/02/2016 Houda FERRADI

Plan Rappel du chiffrement symétrique Introduction chiffrement par blocs Chiffrement par blocs vs chiffrement par flots Construction du DES Attaques sur le DES Alternatives du DES

Rappel : chiffrement symétrique ou à clé secrète Alice Bob Eve m E C C D m C K E (Fonction de chiffrement) et D (Fonction de déchiffrement): Fonctions inversibles et efficaces K: Clé secrète ou symétrique C: Le message chiffré m, k, et c sont de taille déterminée!

Rappel : chiffrement symétrique Définition : Un algorithme de chiffrement symétrique transforme un message en clair M avec une clé secrète K. Le résultat est un message chiffré C M= 0,1 n E C = {0,1} n K={0,1} k

Deux grandes catégories Chiffrement par blocs M est traité par blocs de données (ex: 64 bits ou 128 bits) Chiffrement par flots M est traité bit par bit (cours précédent) Exemple d algorithmes : DES, AES, IDEA, RC6, BLOWFISH, Exemple d algorithmes: RC4, Bluetooth E0/1, GSM A5/1,

Introduction: Chiffrement par bloc Les exemples historiques de chiffrement (par transposition et par substitution) vus en début de cours sont des chiffrements par blocs. La substitution ajoute de la confusion au procédé de chiffrement et la transposition ajoute de la diffusion en éparpillant l influence moyenne (selon les différentes clés) de chaque bit du clair, sur les bits du chiffré. Mais aucun de ces deux procédés ne produit à la fois de la confusion et de la diffusion pas une réelle sécurité. Les systèmes modernes, pour assurer une véritable sécurité, doivent produire à la fois de la confusion et de la diffusion, faute de quoi ils ne résistent pas aux attaques que nous décrirons plus loin.

Introduction: Chiffrement par bloc Une des primitives («briques») les plus largement utilisées en cryptographie symétrique mais aussi dans les fonctions de Hachage, générateur pseudo aléatoire etc Dans un système par blocs, chaque texte clair est découpé en blocs de même longueur et chiffré bloc par bloc. La taille du texte clair est fixe => Plus de maitrise sur le propriétés du chiffrement Le système de chiffrement par blocs le plus utilisé jusqu à l an 2000 est le DES => Ce cours va être focalisé sur le fonctionnement de DES (le prochain sur AES)

Introduction: Chiffrement par bloc Dans un système par blocs, chaque texte clair est découpé en blocs de même longueur et chiffré bloc par bloc. La taille de bloc (n = 64 ou 128 bits) Les modes opératoires permettent généralement des attaques quand plus de 2 n/2 blocs sont chiffrés avec une même clé. La clé soit être suffisamment grande (k>128): Pour un bon algorithme, la meilleure attaque doit coûter 2 k opérations ( la technique utilisée est l attaque exhaustive). Exemple: AES: n= 128 bits, k=128, 192, 256 bits 3 DES: n= 64 k=, 168 bits

Construction: Fonction aléatoire Nouvelle définition dans le chiffrement par blocs Permutation aléatoire Tel que: pour une fonction de chiffrement E(k,m) : Il existe une façon efficace d évaluer cette permutation Il existe un algorithme d inversion efficace D(k,c) E(k,m) doit être une fonction bijective

Chiffrement par permutation général o Même principe que la permutation classique. Pour un message M dont les lettres sont numéroté de 1 à n M = m 1 m 2 m 3 m n. Mais ici les m i sont des bits. o Et une permutation (bijection): P : {1,...,k} {1,...,k} (Slide suivant) o On découpe M en bloc de k bits: M = [m 1, m 2, m 3 m n ] où M i {0,1} k

Exemple de fonction bijective E (m, k) est fonction de chiffrement bijective E (m,k) m 1 c 2 m 2 c 3 m 3 c 1 m 4 c 4

2 Principes fondamentaux pour le chiffrement par blocs La confusion vise à cacher n importe quelle structure algébrique dans le système pour la rendre intelligible (table de substitution S-box). La diffusion doit permettre à chaque bit de texte clair d avoir une influence sur une grande partie du texte chiffré. Ce qui signifie que la modification d un bit du bloc d entrée doit entraîner la modification de nombreux bits du bloc de sortie correspondant. Les 2 notions ont été introduites par Shannon. La confusion est assuré par une substitution non-linéaire (S- Box) La diffusion est assuré par une permutation linéaire

Réseaux Feisteld Méthode: Chiffrement: un bloc de texte en clair est découpé en deux ; la transformation de ronde est appliquée à une des deux moitiés, et le résultat est combiné avec l'autre moitié par ou exclusif. Les deux moitiés sont alors inversées pour l'application de la ronde suivante. Déchiffrement: est structurellement identique au chiffrement. Remarque: La fonction de tour n a pas besoin d être inversible L i = R i 1 ቐR i 1 = L i 1 f(r i 1, K i ) avec K i est dérivée de K

Théorème de Sécurité des Réseaux Feistel: Si une fonction aléatoire sûre est utilisée pour trois tours de Feistel avec trois clés indépendantes, on obtient alors une fonction pseudo aléatoire avec des permutations pseudo aléatoire (Luby-Rackoff, 1985). Exemple: DES utilise 16 rondes (ou cycles) du réseau Feistel

Construction du DES

Introduction : DES 1970: Chiffrement par bloc «Lucifer» développé par IBM : k=128 et m=128 1973: DES (Data Encryption Standard) Adopté comme standard US par le Bureau National des Standards Américains NBS (FIPS 46-2) pour le chiffrement par blocs 1976: Le DES, un variant de Lucifer, est adopté comme ce standard : Taille de bloc = 64 bits, k = 56 bits, m = 64 1997: DES cassé par la recherche exhaustive (AES en 2000.)

Construction : DES On utilise une combinaison de substitutions et de permutations pour le calcul générique de F(k i, m) sur 32 bits: Le texte clair et le texte chiffré sont des suites de bits de longueur l La substitution (appelée aussi S-boîte ) est notée S (non linéarité) La permutation P (fonction aléatoire)

Fonctionnement de F du DES Pour le calcul générique de F(k i, m) sur 32 bits, 4 étapes: Entrée du tour Sous-clé (48 bits) 1. m est expansé en m sur 48 Bits (pour obtenir la même taille que la clé k i ) 2. Application du XOR: S=E(R i 1 ) k i = S 1 S 2 S 3 S 8 sur 48 bits donc chaque S i sur 6 bits Boite S (fonction de 6 à 4) 3. La substitution C i = S(S i ) sur 4 bits. Pour tout 1 i 8 avec S i est la I ème S_box 4. La permutation (diffusion) f(r i_1, k i ) = P(C 1 C 2 C 8 ) Permutation de 32 bits Sortie du tour (32 bits)

Algorithme DES : Table de substitution (S-box) La sortie de 4 bits est obtenue à partir de l'entrée de 6 bits. Méthode: On divise ces 6 bits en deux parties : les deux bits aux extrémités et les quatre bits restants (au centre). Les deux bits indiquent la ligne et les bits centraux donnent la colonne correspondante. Exemple: avec une entrée "011011", on divise en "0 1101 1". Ce qui donne pour la ligne "01" et pour la colonne "1101". La sortie de la table est alors "1001".

Pourquoi «S-box»? oun DES sans S-Box est simplement une fonction XOR + permutations linéaires fonction linéaires. oles fonctions linéaires peuvent être prédites, reversées et transformées d une façon algorithmique. Les S-Boxes permettent donc de casser la linéarité de la structure de chiffrement

Critère d un bon S-Box Aucune transformation doit être proche à une transformation linéaire ou affine: pas de relation statistique entre le texte et son cryptage Transformation avec une relation Linéaire Transformation sans relation linéaire

Historique des Attaques contre DES En 1975: DES a été choisi comme norme au Etats-Unis est devenu le système cryptographique le plus utilisé dans le monde. 1997: Le DES commence à être critiqué à cause de la taille trop faible de sa taille de clés k = 56 En 1998, le défi «DES Challenge» a été lancé pour casser DES: la machine Deep Crack (spécialement conçu pour attaquer DES) a réussi en quelques jours à retrouver la clé par une attaque exhaustive. Attaque exhaustive: ce que l'ordinateur sait faire de mieux en traitant très rapidement une quantité gigantesque de données (notions introduites lors de premier cours)

Problèmes du DES Etant taille de clé est très petite car une recherche exhaustive en 2 56 est très «faisable» par un ordinateur Utilisation du Triple-DES Taille du bloc (attaques avec 2 32 messages) Cryptanalyse linéaire et différentielle

Chiffrement multiple Pourquoi pas un chiffrement double (2 DES)? E(x) = E(k 1, E(k 2, x)) Clé k 1 Clé k 2 M DES DES C

Attaque par le milieu (chiffrement double) Attaque naïve: Essayer toutes les clés du chiffrement double e.g. 2 112 clés possibles Attaque par le milieu: Attaque plus judicieuse qui consiste à trouver un compromis entre temps-mémoire, e.g: Operations à effectuer: 2 56 stockage couples (clair, chiffré) en mémoire: 2 56 couples

Attaque par le milieu (chiffrement double) Étant donné un couple clair-chiffré (M,C): calculer N i = DES i (M) pour 0 i < 256 (i.e. pour chacune des 256 valeurs possibles de k 1 ) calculer P j = DES 1 (j,c) pour 0 j < 256 (i.e. pour chacune des 256 valeurs possibles de k 2 ) On cherche les indices (i,j) tels que P j = N i

Attaque par le milieu (chiffrement double) Clé k 1 Clé k 2 M DES DES C 2 56 calculs N i = DES i (M) Pour chaque P j = DES 1 (j,c) Trouver P j = N i

Problème du 2 DES Attaque par le milieu : Attaque en 2 56 en temps et 2 56 couples (chiffré, clé) en mémoire Taille de clés très courte: Par conséquent : la sécurité du double DES n atteint pas 2 112 ( la sécurité minimal pour se protéger contre les attaques exhaustives) mais seulement 2 56, comme le DES Triple DES

Chiffrement triple Chiffrement triple (3 DES) avec 3 clés indépendantes : E(x) = E(k 1, D k 2, E k 3, x ) Clé k 1 Clé k 2 Clé k 3 M DES DES DES C

Problème du 3DES Avantage: La construction 3DES évite l attaque par le milieu du 2DES et résout le problème de la taille de clé dans DES et 2DES Inconvénient: Le problème de la taille du bloc subsiste Le Triple-DES est lent à calculer Migration vers AES