Cryptographie. Master de cryptographie Chirement par blocs. 13 et 18 janvier Université Rennes 1

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

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

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

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

Modes opératoires pour le chiffrement symétrique

ÉPREUVE COMMUNE DE TIPE Partie D


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

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

Fonction de hachage et signatures électroniques

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Les fonctions de hachage, un domaine à la mode

Analyse de PRESENT avec peu de données

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

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

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

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

Sécurité de l'information

TP 2 : Chiffrement par blocs

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

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

TECHNIQUES DE CRYPTOGRAPHIE

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

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

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Authentification de messages et mots de passe

Signatures électroniques dans les applications INTERNET

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

LES SECURITES DE LA CARTE BANCAIRE

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

Création de maquette web

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

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

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

Vers l'ordinateur quantique

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Oracles Cryptographiques. Trouver une joke de padding

Sécurité des réseaux IPSec

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.

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

1 Recherche en table par balayage

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

Cryptographie et fonctions à sens unique

Compte-rendu de projet de Système de gestion de base 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

Couples de variables aléatoires discrètes

Cryptographie appliquée

Les Réseaux sans fils : IEEE F. Nolot

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

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

Master e-secure. VoIP. RTP et RTCP

DEVOIR MAISON : THEME : LES CLES DE CONTROLE. I. La clé des codes barres

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

INSTALLATION D'OPENVPN:

NOTIONS DE RESEAUX INFORMATIQUES

Reaper : utilisations avancées

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

TP a Notions de base sur le découpage en sous-réseaux

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

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

Projet Matlab : un logiciel de cryptage

Systemes d'exploitation des ordinateurs

TER Master Informatique : Etude du Single Sign-On (SSO) Sujet proposé par Francine HERRMANN. Etudiants LELOUP Julien & VAYEUR Guillaume

Cours admin 200x serveur : DNS et Netbios

Glossaire des nombres

Initiation à la programmation en Python

Le protocole sécurisé SSL

Cryptologie à clé publique

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

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Vers une Théorie du Chiffrement Symétrique

Système binaire. Algèbre booléenne

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Conception de circuits numériques et architecture des ordinateurs

Algorithmes de recherche

Routage Statique. Protocoles de Routage et Concepts. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Cryptographie. Cours 3/8 - Chiffrement asymétrique

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Le Protocole DHCP. Définition. Références. Fonctionnement. Les baux

Introduction à la sécurité informatique

Licence Sciences et Technologies Examen janvier 2010

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

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

MPI Activité.10 : Logique binaire Portes logiques

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Logiciel de base. Première année ENSIMAG

Programmation C. Apprendre à développer des programmes simples dans le langage C

TD 2 Chapitre 4 : Support des Services et Serveurs. Objectifs : Maîtriser l'exploitation des tables de routage dynamique.

Les techniques de multiplexage

Objets Combinatoires élementaires

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

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

L exclusion mutuelle distribuée

Transcription:

Cryptographie Master de cryptographie Chirement par blocs 13 et 18 janvier 2016 Université Rennes 1 Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 1 / 28

Principe des chirements par blocs Dénition Soit A un alphabet. Un cryptosystème est un chirement par blocs si P et C sont tous les 2 A n. n est la longueur des blocs. Propriétés Les fonctions de chirement par blocs sont des permutations. En pratique l'espace des clés n'est qu'un sous ensemble de S(A n ) facile à représenter et à évaluer. Les modes opératoires permettent de déterminer la façon dont on chire la suite des blocs d'un message long. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 2 / 28

Le mode ECB (Electronic Code Book) Principe : On découpe le message m en blocs m i de taille n et on chire indépendemment chaque m i avec la clé k. Propriétés La clé xée, le chirement d'un bloc ne dépend que du message clair. Les blocs sont chirés de manière indépendante. Pas de propagation d'erreur. Sensible aux attaques par répétition (rejeu). Sensible à des motifs de blocs répétés fréquemment. Attaque statistiques facilitées. Substitution d'un bloc chiré par un autre possible (intégrité). Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 3 / 28

Problème de la répétition de bloc Sur un texte JO HN 10 50 00 JA CK 50 00 00 Q9 2D FP VX C9 IO LD AS FP C9 IO IO Sur une image Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 4 / 28

Le mode CBC (cipher-block chaining) Principe : Avant d'être chiré, un bloc est "Xoré" avec le chiré du bloc précédent. Cela nécessite un vecteur d'initialisation (IV) pour chirer et déchirer. Chirement : c j = E k (c j 1 m j ) Déchirement : m j = c j 1 D k (c j ) avec c 0 = IV Propriétés Chirement dépendant du contexte. Permet de contrer les attaques par dictionnaire. Une erreur sur le chiré peut se propager sur deux blocs consécutifs. Le IV n'a pas besoin d'être secret, mais c'est une donnée sensible. Si un bloc clair est modié, le déchirage de la suite est impossible. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 5 / 28

Le mode CFB (Cipher FeedBack) Principe : La fonction de chirement sert à générer des clés qu'on Xor avec le message clair. Le message est coupé en bloc de r bits (r n). Chirement I 1 initialisé à IV {0, 1} n. A la j-ème étape, O j = E k (I j ) t j = les r premiers bits de O j c j = m j t j I j+1 = 2 r I j + c j mod 2 n Déchirement I 1 initialisé à IV. A la j-ème étape on reçoit c j, O j = E k (I j ) t j = les r premiers bits de O j m j = c j t j I j+1 = 2 r I j + c j mod 2 n Si r = n, cela revient à chirer les blocs de sortie en mode ECB et à faire un Xor avec les blocs de clair Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 6 / 28

Le mode CFB (Cipher FeedBack) Propriétés N'utilise pas la fonction de déchirement. Une erreur simple peut se propager sur plusieurs blocs consécutifs. Si un bloc clair est modié, le déchirage de la suite est impossible. L'émetteur et le récepteur engendrent simultanément les blocs de clé. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 7 / 28

Le mode OFB (Output FeedBack) Similaire à CFB sauf que la dernière étape est I j+1 = O j. Propriétés N'utilise pas la fonction de déchirement. Pas d'erreur de propagation. La suite des chireurs (O j ) peut être précalculée. Il faut changer de clé ou de IV à chaque message. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 8 / 28

Le mode CTR (CounTeR) Propriétés N'utilise pas la fonction de déchirement. Pas d'erreur de propagation. La suite des chireurs peut être précalculée. Accès aléatoire aux données possible. Très facilement parallélisable. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 9 / 28

Remarques sur les modes opératoires Il en existe de nombreux autres (CTS, EAX,...). Ces modes de chirement n'assurent pas l'intégrité, il faut les coupler avec des MAC (Message Authentication Code). Propagation d'erreur et intégrité sont contradictoires. Si on veut tout assurer il faut rajouter des MAC et des codes correcteurs ou utiliser des modes spéciques (XCBC, IACBC, IAPM, OCB, EAX, CWC, CCM, GCM) Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 10 / 28

Le mode GCM (Galois Counter Mode) Combinaison du mode CTR et de l'utilisation du corps ni F 2 128 = F 2 [X ]/X 128 + X 7 + X 2 + X + 1. Recommandé par le NIST et la NSA standard. Intègre l'authentication des données. Blocs de 128 bits impératif. Propriétés Mêmes propriétés que le mode CTR. Bon rapport vitesse/ressources nécessaires. La valeur initiale du compteur doit changer à chaque chirement. Libre de droits. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 11 / 28

Le mode GCM (Galois Counter Mode) Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 12 / 28

Chirement par blocs itérés Dénition Les paramètres d'un chirement par blocs itérés sont la taille des blocs n, le nombre de rondes (round) r et une clé K. Le chiré est obtenu par r applications itérées d'une fonction de ronde au même clair dépendant d'une clé de ronde. Les clés de ronde sont dérivées de la clé K. Ainsi dans un chirement par blocs itérés à r rondes C i = g(c i 1, K i ) pour i = 1,, r avec C 0 le clair, g la fonction de ronde, K i les clés de ronde et C r le chiré Le déchirement se déroule suivant le processus inverse. g doit être inversible. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 13 / 28

Chirement de Feistel Dénition Un chirement (ou réseau) de Feistel est un chirement par blocs itérés avec n pair. De plus, à chaque ronde, Les blocs sont séparés en deux parties égales L i et R i et une ronde se déroule de la manière suivante On retourne nalement (R n, L n ). L i+1 = R i, R i+1 = L i f (R i, K i ). Remarque : il n'est pas nécessaire d'inverser f pour déchirer. En fait chirement et déchirement utilisent le même algorithme. Exemples de chirement basés sur les réseaux de Feistel : DES, Blowsh, KASUMI, Twosh, FEAL, en fait une grande majorité. Réseau de substitution/permutation En théorie f est arbitraire. En pratique f est constitué d'une combinaison de permutation des bits et de subsitutions (non linéaires). Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 14 / 28

Schema de chirement de Feistel Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 15 / 28

Les paramètres du DES Taille des blocs : 64 bits. P = C = {0, 1} 64. K { = (b 1,, b 64 ) {0, 1} 64 tq } 8 b i=1 8k+i = 1 mod 2 pour k = 1 8 K est de cardinal 2 56. 16 rondes. 16 clés de ronde de 48 bits. En plus du réseau de Feistel, on rajoute un permutation initiale Restent à décrire la fonction f, la permutation initiale et la génération des clé de ronde. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 16 / 28

Schéma du DES Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 17 / 28

La permutation initiale IP Si p = p 1 p 2 p 3 alors IP(p) = p 58 p 50 p 42 IP 1 est également donnée par une table. Opération très rapide (lecture d'une table). Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 18 / 28

La fonction de ronde f Application de {0, 1} 32 {0, 1} 48 dans {0, 1} 32 fabriquée à partir de substitutions (S-box) Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 19 / 28

Les S-box Substitution de 6 bits sur 4 bits Utilisation des S-box Si l'entrée d'une S-box est b 1 b 2 b 3 b 4 b 5 b 6, sa sortie est le développement binaire de la valeur se situant sur à l'intersection de la ligne b 1 b 6 et de la colonne b 2 b 3 b 4 b 5 dans la S-box (on numérote les lignes et les colonnes à partir de 0). Les S-box sont le coeur du DES. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 20 / 28

Génération des clés de ronde avec PC-1 et PC-2 des permutations (tables) et LS i une permutation circulaire de 2 bits vers la gauche (ou 1 bit si i = 1, 2, 9, 16) Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 21 / 28

Historique et cryptanalyse du DES 1975 : DES est ocialisé 1977 : DES devient un standard FIPS 1992 : Attaque (théorique) de DES par Biham et Shamir via la cryptanalyse diérentielle. Nécessite 2 47 textes choisis. 1994 : Cryptanalyse linéaire de DES par Matsui (2 47 puis 2 36 ) 1998 : une machine dédiée casse une clé DES en 56h 1999 : clé DES cassée en 22h via un calcul distribué 2005 : DES est retiré des standards FIPS Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 22 / 28

Combiner plusieurs DES? Double-DES Idée : chirer le chiré, i.e. c = E k (E k (m)). Se casse en à peine plus longtemps qu'un DES (2 60 ) Triple-DES Avec 3 clés de 56 bits environ 120 bits de sécurité (et 3 fois plus long qu'un simple DES) Avec seulement 2 clés de 56 bits environ 112 bits de sécurité c = E k (D k (E k (m))) Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 23 / 28

La sélection de AES (Advanced Encryption Standard Appel d'ore lancé en 1997 par le NIST pour remplacer le DES. Conférence AES1 en 1998 pour présenter les candidats (15). Conférence AES2 en 1999 pour sélectionner les nalistes : MARS, RC6, Rijndael, Serpent et Twosh. Tous considérés comme sûrs (NSA). Critères de jugement Sécurité pour une même taille de clé Indiscernabilité entre la sortie et une suite aléatoire Resistance aux nouvelles méthodes de cryptanalyse Propriété intellectuelle Ecacité Facilité/Cout d'implémentation Conférence AES3 en 2000. Vainqueur : Rijndael. Eprouvé 3 ans par la communauté mondiale avant son avènement. Standardisé en 2001. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 24 / 28

Description rapide de l'aes Chirement par blocs itérés taille des blocs : 128 bits taille des clés : 128, 192 ou 256 bits 10,12 ou 14 rondes Travaille sur F 2 8 (ie sur les octets) Utilise des tableaux 4 4 d'octets (états) Déchirement identique au chirement mais diérent Conçu pour résister aux attaques linéaires et diérentielles. Nouvelles attaques (canaux cachés, algébriques, cube attack, attaques sur les rondes) pour l'instant inecaces. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 25 / 28

Les rondes de l'aes Constituées de 4 étapes SubBytes : substitution non linéaire où chaque octet est remplacé par un autre via une table (S-box sur des octets). ShiftRows : permutation où chaque ligne de l'état est soumise à une permutation circulaire de longueur variable. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 26 / 28

Les rondes de l'aes MixColumns : mélange sur les colonnes via une transformation linéaire. AddRoundKey : Chaque octet de l'état est combiné avec la clé de ronde. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 27 / 28

Paramètres d'évaluation d'un chirement par blocs Taille des clés, i.e. niveau de sécurité théorique. Niveau de sécurité estimé (résistance aux attaques connues, intensité de la cryptanalyse). Débit. Complexité de la fonction de chirement. Intégrité et propagation d'erreur. Master Crypto (2015-2016) Cryptographie 13 et 18 janvier 2016 28 / 28