Chiffrement par Bloc: Cryptanalyse Linéaire/Différentielle. Cours 5: 14/03/2016

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

INF 4420: Sécurité Informatique Cryptographie II

Les Réseaux sans fils : IEEE F. Nolot

Modes opératoires pour le chiffrement symétrique

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

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

Les fonctions de hachage, un domaine à la mode

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

Oracles Cryptographiques. Trouver une joke de padding

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

1 Recherche en table par balayage

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

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

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Simulation de variables aléatoires

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

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

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

Bases de données documentaires et distribuées Cours NFE04

LES GENERATEURS DE NOMBRES ALEATOIRES

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

Réplication des données

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

L évolution des modes de communication, comment adapter les enquêtes en population générale? L expérience de l enquête KABP VIH/sida 2010

Résolution d équations non linéaires

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

données en connaissance et en actions?

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

Programmation linéaire

Projet Matlab : un logiciel de cryptage

Limitations of the Playstation 3 for High Performance Cluster Computing

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

Cryptologie à clé publique

Object Removal by Exemplar-Based Inpainting

LES SECURITES DE LA CARTE BANCAIRE

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

le système d alarme sans fil avec caméra intégrée permettant la levée de doute évènementielle. Sans fil Fonctionne sur piles 128 Bit AES crypté

Rappels sur les suites - Algorithme

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

Signatures électroniques dans les applications INTERNET

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Les Français et le chauffage. Résultats de l étude menée

Apprentissage Automatique

Calculateur quantique: factorisation des entiers

Fonction de hachage et signatures électroniques

Introduction au Data-Mining

Le protocole RADIUS Remote Authentication Dial-In User Service

Dynamic Host Configuration Protocol

Cryptographie appliquée

Sécuristation du Cloud

3. Caractéristiques et fonctions d une v.a.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Coup de Projecteur sur les Réseaux de Neurones

Optimisation, traitement d image et éclipse de Soleil

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

DNS Poisoning. Pollution de cache sur des serveurs DNS. Xavier Dalem, Adrien Kunysz, Louis Plair. 15 mars Université de Liège

Exemples de Projets SAFI

Les équations différentielles

Ordonnancement temps réel

WIFI (WIreless FIdelity)

Optimisation des fonctions de plusieurs variables

Théorie et codage de l information

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

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

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

Initiation à LabView : Les exemples d applications :

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

Trouver un vecteur le plus court dans un réseau euclidien

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

ÉPREUVE COMMUNE DE TIPE Partie D

Les devoirs en Première STMG

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

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

IFT3245. Simulation et modèles

Les clients puissance cube

La nouvelle planification de l échantillonnage

FORMULAIRE DE STATISTIQUES

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

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

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Une introduction aux codes correcteurs quantiques

L identité numérique. Risques, protection

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

Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL

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

Analyse des Systèmes Asservis

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

DETERMINATION DE L INCERTITUDE DE MESURE POUR LES ANALYSES CHIMIQUES QUANTITATIVES

TP 2 : Chiffrement par blocs

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

INSTALLATION D'OPENVPN:

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

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

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

Transcription:

Chiffrement par Bloc: Cryptanalyse Linéaire/Différentielle Cours 5: 14/03/2016

Plan du cours 1) Principes généraux: Rappel : block ciphers Attaques génériques 2) Cryptanalyse contre le DES Cryptanalyse différentielle Cryptanalyse linéaire 3) Critères de résistance pour l AES 4) Autres techniques de cryptanalyse

Rappel : Block Cipher 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 chiffré C M= 0,1 n E C = {0,1} n Notation: E: {0,1} n {0,1} k {0,1} n K={0,1} k 3

Cryptanalyse linéaire C est une attaque à texte clair connu contre les protocoles de cryptographie dont la confusion est faible. Texte clair connu. L attaquant dispose de un ou plusieurs message(s) clair(s) avec le(s) message(s) crypté(s) correspondant, tous cryptés avec la même clé. L attaquant cherche à retrouver (de l information sur) la clé. Une idée. Trouver des relations linéaires de dépendance de probabilités exceptionnelles entre les bits d entrée et de sortie. En effet, une relation linéaire ne peut pas être vraie pour tous les messages sinon le protocole a une faiblesse.

Sécurité Idéalement, C ne doit laisser fuir aucune information sur M ou sur K Mais la sécurité n est jamais «parfaite». Un attaquant connaissant C et M peut «tester toutes les clés» 2 K Modèle de la boîte noire

la recherche exhaustive Fonction à sens unique: f: E F x f(x): Facile Etant y=f(x), trouver x: Difficile la recherche exhaustive: consiste à calculer les images par f de tous les éléments x de E jusqu'à en trouver un qui donne y. Cette technique est très coûteuse en temps de calcul et doit être répétée pour chaque nouvelle valeur de y ; Utiliser un pré calcul?

La recherche par dictionnaire Phase de précalcul (une fois pour toutes fait indépendamment de y ) 1. Calculer à l'avance les f(x) 2. Stocker en mémoire tous les couples (x, f(x)) en les triant suivant la valeur de f(x) Phase du calcul: Trouver x à partir de y est extrêmement rapide (avantageux par rapport à la méthode précédente). L inconvénient: la taille de la mémoire utilisée, puisqu'il faut stocker tous les couples (x, f(x)) Compromis temps/mémoire de Hellman

Compromis temps/mémoire de Hellman Points de départ Points d arrivée Pour inverser f(x) : mémoire nécessaire = #lignes temps nécessaire = #colonnes (#lignes)x (# colonnes) = espace des clés

Recherche exhaustive (ou attaque par Force Brute) Complexité théorique de l'attaque 2^{31} Cycles / seconde (2GHz) 2^{56} Recherche exhaustive DES (RC5-1997 distributed.net) 2^{64} «Record» de recherche exhaustive (RC5 2002- distributed.net) 2^{72} Tentative en cours (RC5 distributed.net) 2^{128} Sécurité de AES

Compromis temps/mémoire de Hellman Clé de k bits Temps 2^2k/3 Mémoire 2^2k/3 Précalcul 2^k Exemple DES : 56 bits Précalcul 2^56 Temps 2^39 Mémoire 2^39

Introduction: Cryptanalyse Les deux principales méthodes connues de cryptanalyse des chiffrements par blocs symétriques sont la cryptanalyse différentielle et la cryptanalyse linéaire. Elles exploitent toutes deux des comportements statistiques non uniformes dans le processus de chiffrement. La cryptanalyse différentielle date de 1990 et est due à Biham et Shamir. La cryptanalyse linéaire date de 1992 et est due à Matsui. Appelons x le texte clair, y son chiffré.

Fonctions linéaires/non linéaires Soit L une fonction linéaire {0,1} n {0,1} n L(x y) = L(x) L(y) Alors la différentielle de L est très simple, en tout point x : L*(Δ) = L(x Δ) L(x) = L(Δ): Donc L* = L en tout point Soit L une fonction affine Ajout d une sous-clé K: L k (x) = x K L* (Δ) = L k (x Δ) L k (x) = (x Δ K) (x K) = Δ La différentielle L k * en tout point est indépendant de K!

Fonctions non-linéaires La différentielle F* dépend du point x concerné Exemple F : {0,1} 2 {0,1} 2 F(x,y) = (x.y, x)

Fonctions non-linéaires Différentielle en (0,0) F*(0,0) = (0,0) F*(0,1) = (0,0) F*(1,0) = (0,1) F*(1,1) = (1,1) Différentielle en (1,1) F*(0,0) = (0,0) F*(0,1) = (1,0) F*(1,0) = (1,1) F*(1,1) = (1,1)

Cas des block ciphers K K K X Fonction F F(X) X Δ F(X Δ)= F(x) Δ

Pour résumer Fonctions linéaires : Différentielle prévisible de façon exacte Fonctions affines (XOR de sous-clé) Différentielle indépendante de la clé Fonctions non-linéaires On ne peut rien dire de façon générale Donc on ne peut pas calculer directement la différentielle pour tout le block cipher On adopte une approche statistique

Cryptanalyse différentielle Il s agit d une attaque à clairs choisis. La cryptanalyse différentielle s intéresse à l évolution les différences x i +x i pour deux clairs x, x. On détermine que, si x i + x i = α, alors x r 1 + x r 1 = β avec une probabilité non négligeable. On utilise cela pour déterminer la clé inconnue k r à partir de plusieurs messages x et de leurs chiffrés x r obtenus par E k.

Cryptanalyse différentielle Le principe général de cette attaque consiste à considérer des couples de clairs X et X présentant une différence X fixée et à étudier la propagation de cette différence initiale à travers le chiffrement. On traite les couples d entrée et de sortie comme des variables aléatoires que l on note X, Y, X, Y. Les différences sont définies par une loi de groupe, en général le xor bit à bit. Cette attaque utilise la faiblesse potentielle de la fonction itérée f dans une dérivation à l'ordre 1.

Exemple: cryptanalyse différentielle La cryptanalyse différentielle utilise la comparaison du XOR de deux entrée avec le XOR des deux sorties correspondantes. On considère x = (x _1, x _2... x _n ) et x = (x _1, x _2... x _n ) deux entrées et y = (y _1, y _2... y _n ) et y = (y _1, y _2... y _n ) les sorties correspondantes. On note x = x x y = y y

Exemple: cryptanalyse différentielle Si le système cryptographique était parfait alors la probabilité pour qu un y provienne d un x devrait être de 1/2^n où n est le nombre de bits de X. La cryptanalyse différentielle exploite le fait qu il peut arriver qu un y particulier arrive avec une très grande probabilité, p >> 1/2^n, d un x particulier. Le couple ( x, y) est appelée une différentielle.

Méthodologie On suppose que le cryptanalyste dispose d un grand nombre de quadruplets (x, x, y, y ) où la valeur de x est fixée et que tous les textes sont chiffrés avec la même clef inconnue K. Pour chacun des quadruplets on commence par déchiffrer y et y en utilisant toutes les sous clefs candidates pour le dernier étage. On commence par regarder les caractéristiques différentielles des S-boites. On remarque que dans ce cas y = S(x ) S(x ).

Approche statistique Caractéristique différentielle Différence Δ en entrée de F Différence Δ en sortie de F Probabilité p associée (moyennée sur tous les x possibles) Notation : Δ Δ [proba = p]

La cryptanalyse linéaire s intéresse aux relations linéaires entre les bits au cours de l algorithme. Cryptanalyse linéaire Idée générale proche de la cryptanalyse différentielle (attaque à clairs choisis) On utilise des approximations linéaires des algorithmes de chiffrement par bloc La cryptanalyse linéaire consiste à simplifier l algorithme de chiffrement en faisant une approximation linéaire. En augmentant le nombre de couples disponibles, on améliore la précision de l approximation et on peut en extraire la clé.

Forme linéaire Soit F : {0,1} n {0,1} n Une forme linéaire λ : {0,1} n {0,1} n est définie par un masque a = (a 1 a n ) λ (x 1 x n ) = a 1. x 1 a n. x n

Caractéristique linéaire Une caractéristique linéaire de F est un couple de formes linéaires (λ 1, λ 2 ) ayant pour masques associés a 1 et a 2 telles que λ 1 (x) = λ 2 F(x) avec probabilité p (prise sur tous les x possibles)

Méthodologie On suppose qu il existe une F 2 -combinaison linéaire des bits d entrée et de sortie qui ait lieu avec une probabilité nettement supérieure ou nettement inférieure à 1/2. Autrement dit qu il existe i 1, i 2,..., i U et j 1, j 2,..., j v tels que si x = (x 1 x n sont les bits d entrée (du message en clair) considérés comme des variables aléatoires définies sur {0, 1} et y 1 y n sont les bits de la sortie (du message chiffré) considérés comme des variables aléatoires définies sur {0, 1} on ait Pr { X i1 X i2 X in Y i1 Y i2 Y im = 0} >> 1/2 Le principe est alors d approximer une partie de l algorithme de chiffrement par cette combinaison linéaire sur F 2.

Table des app. linéaires En général, deux formes linéaires aléatoires sont égales avec probabilité 0,5 On s intéresse donc à l écart avec p = 0,5 aussi appelé biais ε a1 a2 [proba = 0.5 (1+ ε)] a1 a2 [biais = ε] Plus ε est grand, mieux c est pour l attaquant

Méthodologie Par analogie avec la cryptanalyse différentielle, on note souvent a_1 a_2 [proba = p] On utilise une table des caractéristiques linéaires ( table des différences) Exemple: (1,0) (0,1) [proba = 1]