Algorithmes de chiffrement par flot. Fouque Pierre-Alain Département d Informatique Ecole normale supérieure

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

INF 4420: Sécurité Informatique Cryptographie II

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

Système binaire. Algèbre booléenne

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Les Réseaux sans fils : IEEE F. Nolot

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

Modes opératoires pour le chiffrement symétrique

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


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

DECLARATION DES PERFORMANCES N 1

Une introduction aux codes correcteurs quantiques

Algorithmes pour la planification de mouvements en robotique non-holonome

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

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

Simulation de variables aléatoires

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

aux différences est appelé équation aux différences d ordre n en forme normale.

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

L exclusion mutuelle distribuée

L ordinateur quantique

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

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

IFT1215 Introduction aux systèmes informatiques

Limitations of the Playstation 3 for High Performance Cluster Computing

Table des matières. I Mise à niveau 11. Préface

La haute disponibilité de la CHAINE DE

Résolution d équations non linéaires

Exemple d implantation de fonction mathématique sur ST240

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

Chapitre 7. Récurrences

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Quelques tests de primalité

Processus d Informatisation

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Dynamic Host Configuration Protocol

Solutions hautes performances pour le gardiennage et la surveillance

Chapitre 5 : Flot maximal dans un graphe

Polynômes à plusieurs variables. Résultant

Informatique Générale

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

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Calculs de probabilités conditionelles

ELP 304 : Électronique Numérique. Cours 1 Introduction

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

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Correction de l examen de la première session

Chaine de transmission

Le service IPv4 multicast pour les sites RAP

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


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

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Calculer avec Sage. Revision : 417 du 1 er juillet 2010

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

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

IFT3245. Simulation et modèles

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Programmation linéaire

Partie 7 : Gestion de la mémoire

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test


Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Sécurité des réseaux IPSec

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

Les fonctions de hachage, un domaine à la mode

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

Initiation au binaire

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

La (les) mesure(s) GPS

Cryptographie et fonctions à sens unique

Chapitre VI - Méthodes de factorisation

Algorithmique des Systèmes Répartis Protocoles de Communications

Université de La Rochelle. Réseaux TD n 6

Fonction de hachage et signatures électroniques

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

Asynchronisme : Cadres continu et discret

Programmation linéaire et Optimisation. Didier Smets

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Cours 7 : Utilisation de modules sous python

! analyse du fonctionnement

Object Removal by Exemplar-Based Inpainting

1 Recherche en table par balayage

Python - introduction à la programmation et calcul scientifique

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

Document d Interconnexion - Raccordement via IP Version applicable à compter du 1 er janvier 2015

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Initiation à la programmation en Python

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Transcription:

Algorithmes de chiffrement par flot Fouque Pierre-Alain Département d Informatique Ecole normale supérieure

Chiffrement symétrique Définition : Un algorithme de chiffrement symétrique transforme un message en clair P avec une clé secrète K. Le résultat est un message chiffré C K P Chiffrement C 2

Chiffrement symétrique La fonction de chiffrement doit être inversible K K P Chiffrement C Déchiffrement P 3

Deux grandes catégories Chiffrement par bloc P est traité par blocs de données (ex: 64 bits ou 128 bits) Algorithmes : DES, AES, IDEA, RC6, BLOWFISH, Chiffrement par flot P est traité bit par bit Algorithmes : RC4, Bluetooth E0/1, GSM A5/1, 4

Chiffrement par bloc - le message est traité par blocs de n bits - E est une fonction fixe K P n bits E n bits C 5

Chiffrement par flot - le message est traité bit par bit - E change en cours de chiffrement K P E 1 bit 1 bit C 6

En général E GPA Clé K Clair P 1 bit Chiffré C Pseudo-aléa 1 bit 1 bit Générateur Pseudo-Aléatoire (GPA) 7

GPA Message en clair 0 1 1 1 0 1 0 0 1 0 0 Pseudo-aléa généré 1 1 0 1 0 0 0 1 1 0 1 Message chiffré 1 0 1 0 0 1 0 1 0 0 1 8

Idée sous-jacente Chiffrement de Vernam (masque jetable) Clé = pseudo-aléa Taille de clé = Taille du message Inconditionnellement sûr Les algorithmes de chiffrement par flot s en inspirent mais utilisent une suite pseudo-aléatoire générée à partir de quelques bits de clé réellement aléatoires 9

Sécurité parfaite Déf1: Sécurité parfaite. (Gen,Enc,Dec) sur un espace de clair M, est parfaitement sûr si pour tout m M, c C tq Pr(C=c)>0, Pr(M=m C=c)=Pr(M=m) ou, Pr(C=c M=m)=Pr(C=c) Lemme: parfaitement sûr ssi M, m0,m1, c, Pr(C=c M=m0)=Pr(C=c M=m1) 10

One-Time Pad Th.: Le chiffrement de Vernam est parfaitement sûr Limitations: Sécurité parfaite: K M Th. Shannon: Chiffrement tq K = M = C est parfaitement sûr ssi k K, elle est choisie avec proba 1/ K m M, c C, il existe une unique clé k K, Ek(m)=c 11

Pseudo-aléa Propriété attendue : impossible à distinguer de vrai aléa Plus précisément : Équilibre : sortie = 0 ou 1 avec probabilité ½ Indépendance : chaque bit de sortie est indépendant des suivants et des précédents 12

Fabrication d un GPA Constitué de : État Interne suffisamment grand (recherche exhaustive) Fonction d évolution Fonction d extraction 13

Fabrication d un GPA Clé K État Interne Fonction d évolution Fonction d extraction Pseudo-aléa (1 bit) 14

Vecteur d initialisation En pratique, problème pour chiffrer plusieurs messages avec la même clé Même clé Même pseudo-aléa E K (M1) E K (M2) = M1 M2 Solution : entrée auxiliaire IV (Vecteur d initialisation ou Marquant) 15

Vecteur d initialisation GPA Clé K IV Clair P Chiffré C Génération de plusieurs séquences de sortie avec 1 seule clé 16

Tailles critiques Taille de la clé : recherche exhaustive Taille de l IV : collisions Taille de l état interne : recherche exhaustive 17

Caractéristiques Algorithmes de chiffrement par flot : Rapidité (software - hardware) Peu de portes logiques (surface matérielle) Problèmes : synchronisation en cas d erreur Théorie : message arbitrairement longs En pratique : trames (GSM : 224 bits, Bluetooth : 2700 bits) 18

Exemples d algorithmes RC4 (norme 802.11) E0 (norme Bluetooth) A5/1 et A5/2 (norme GSM) Basé sur un algorithme de chiffrement par bloc 19

Le mode OFB Algorithme de chiffrement par bloc Clé K P C 20

Revenons au GPA Schéma général Évolution linéaire (cela permet d étudier des propriétés mathématiques comme la période) Extraction non-linéaire («briser» la linéarité de la construction) La clé K constitue l état initial (même s il arrive qu elle soit réutilisée ensuite) 21

Schéma général Clé K État Interne Fonction d évolution LINEAIRE Fonction d extraction NON LINEAIRE Pseudo-aléa (1 bit) 22

Critères Soit F la fonction d évolution F doit avoir une grande période (sinon les sorties vont se répéter) Soit G la fonction d extraction Doit résister à toutes les attaques connues : Non-linéarité Attaque par corrélations (approximation linéaire) Attaques algébriques Guess-and-determine 23

Non-linéarité Supposons que le pseudo-aléa s exprime comme une fonction linéaire de l état initial On est ramené à un problème d algèbre linéaire z 1 z 2 = M. k 1 k 2 z n Bits de pseudo-aléa k n Clé K = (k 1 k n ) Algorithme de Gauss inverser la matrice M complexité en n 3 24

Attaques par corrélation Idée générale : L algorithme est non-linéaire Mais on le représente par des équations linéaires vraies avec probabilité p = 0,5 + ε Plus ε est grand, mieux c est pour l attaquant 25

Attaques algébriques Idée générale L algorithme est non-linéaire Mais on le représente par des équations polynômiales z i = P(k 1 k n ) de degré d Plus d est petit, mieux c est pour l attaquant 26

Guess-and-determine Idée générale L algorithme est non-linéaire Mais certains bits de sortie ne dépendent pas de toute la clé : z i = P(k 1 k t ) avec t < n Plus t est petit, mieux c est pour l attaquant 27

Remarque Cette liste d attaque n est pas exhaustive! Il existe de nombreux critères à satisfaire Certains critères sont contradictoires! 28

Période de F? Peut-on construire des fonctions d évolution telles que Période et Efficacité soient satisfaisants? 29

Observation Période de F? état interne de n bits période 2 n état initial x 0 {0,1} n itérés x i = F i (x 0 ) Il existe forcément (a,b) < (2 n +1) t.q. x a = x b sinon 2 n +1 états différents de n bits!!! 30

Registres à décalage Linear Feedback Shift Register (LFSR) Registre à Décalage à Rétroaction Linéaire (RDRL) Outil de base très souvent utilisé pour fabriquer des GPA Propriétés mathématiques simples à étudier Implémentation efficace en hardware 31

Les LFSR L cases mémoires contenant 1 bit d information Rebouclage linéaire 1 0 1 1 0 L = 5 32

Exemple 1 0 1 1 0 33

Exemple 1 0 1 1 0 1 Décalage (bit de sortie = 0) 33

Exemple 1 01 10 1 01 1 Décalage (bit de sortie = 0) 33

Exemple 1 01 10 1 01 1 Décalage (bit de sortie = 0) 2 Nouvelle valeur : 0 1 = 1 33

Exemple 1 01 10 1 01 1 Décalage (bit de sortie = 0) 2 Nouvelle valeur : 0 1 = 1 33

Propriétés La fonction de rebouclage s écrit : X(t) = c 1 X(t-1) c L X(t-L) où { X(i), i 0 } est la suite des bits de sortie du LFSR Le Polynôme de rebouclage associé : P(X) = 1 + c 1 X + + c L X L Les propriétés du LFSR dépendent fortement de P 34

Propriétés L état (0,, 0) est un point fixe Impossible d atteindre la meilleure période possible (2 L ) Si P est primitif, alors un seul cycle de période maximale 2 L 1 (critère important pour éviter les collisions d état interne) P polynôme dense efficacité 35

Les LFSR Très utilisés pour construire des algorithmes de chiffrement par flot Comportement purement linéaire : ne pas utiliser seul! L algorithme de Berlekamp-Massey permet de reconstruire P et l état interne 36

Constructions Avec des LFSR, 3 techniques : Combinaison Filtrage Contrôle de l horloge 37

Combinaison LFSR numéro 1 LFSR numéro 2... Texte F Pseudo-aléa LFSR numéro n 38

Filtrage LFSR F Pseudo-aléa 39

Contrôle de l horloge Horloge & LFSR numéro 2 LFSR numéro 1 Horloge & LFSR numéro 3 40

Synthèse LFSR Les registres à décalage sont utilisés historiquement dans les algorithmes Efficacité en hardware, beaucoup moins en software Problèmes de sécurité Linéarité de la construction Attaques par corrélation Attaques algébriques 41

Synthèse Flot Problèmes liés au chiffrement par flot Sécurité (pas de standard) Traitement «par paquet» de l information Critères d efficacité Le présent Les algorithmes de chiffrement par flot sont progressivement remplacés par du chiffrement par bloc (ex : GSM) Standardisation (NESSIE, ecrypt, ) 42

Synthèse Flot (2) Le futur Besoin d algorithmes «hardware», très «légers» (puces RFID). Besoin d algorithmes «software», très rapides (routeurs IP). Solution = chiffrement par flot? Quels algorithmes existent aujourd hui? 43

Algorithmes actuels RC4 : utilisé dans de nombreux logiciels + norme 802.11 A5/1 et A5/1 : norme GSM E0 : norme Bluetooth Algorithmes basés sur les LFSR Algorithmes avec contrôle de l horloge Autres constructions plus récentes (Helix, SNOW, SEAL, SOBER, Rabbit, ) 44