LES FONCTIONS DE HACHAGE

Documents pareils
ÉPREUVE COMMUNE DE TIPE Partie D

Fonction de hachage et signatures électroniques

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

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.

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

Les fonctions de hachage, un domaine à la mode

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

TECHNIQUES DE CRYPTOGRAPHIE

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

Administration de Bases de Données : Optimisation

Corrigé des TD 1 à 5

Cryptographie et fonctions à sens unique

INF 4420: Sécurité Informatique Cryptographie II

Représentation d un entier en base b

Authentification de messages et mots de passe

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

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

Rapport de certification

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

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

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

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

Continuité et dérivabilité d une fonction

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Image d un intervalle par une fonction continue

Programmation linéaire

ASR1 TD7 : Un microprocesseur RISC 16 bits

Signatures électroniques dans les applications INTERNET


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

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Programmation parallèle et distribuée

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

Informatique Générale

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

UE Programmation Impérative Licence 2ème Année

Les opérations binaires

TP 2 : Chiffrement par blocs

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Jeux de caracte res et encodage (par Michel Michaud 2014)

OPAL un système d'authentification par mots de passe non réutilisables

Programmation parallèle et distribuée

Sécurité des réseaux IPSec

Exigences d aléa pour la sécurité

Calculateur quantique: factorisation des entiers

Port de Saint Laurent du Var - Barème des redevances Année /10

Microprocesseur + Logiciel

Conversion d un entier. Méthode par soustraction

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

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

Équations non linéaires

Algorithme. Table des matières

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

Les Réseaux sans fils : IEEE F. Nolot

La sécurité dans les grilles

Représentation des Nombres

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

IFT3245. Simulation et modèles

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

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

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

Cryptographie appliquée

Algorithmique, Structures de données et langage C

Rappels d architecture

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

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

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Continuité en un point

Sécurité de l'information

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

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

Série D65/D75/D72 Afficheurs digitaux modulaires

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Logiciel de Base. I. Représentation des nombres

Architectures PKI. Sébastien VARRETTE

L exclusion mutuelle distribuée

Étudiant : Nicolas Favre-Félix IFIPS Info 3. Les One Time Passwords, Mots de passe à usage unique

Algorithmique et Programmation, IMA

Initiation à l algorithmique

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

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

TD1 Signaux, énergie et puissance, signaux aléatoires

Plus courts chemins, programmation dynamique

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

Rappels Entrées -Sorties

Annexe 8. Documents et URL de référence

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

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

MIS 102 Initiation à l Informatique

Transcription:

LES FONCTIONS DE HACHAGE Les procédés de signatures électroniques ne permettent de signer, en fait, que des petits messages. Le procédé «DSS» signe un message de 160 bits en lui adjoignant une signature de 320 bits Or, nous désirerons signer la plupart du temps des messages beaucoup plus longs pouvant faire jusqu à plusieurs mégaoctets. Il serait possible de signer de tels documents, bloc par bloc, mais alors le document final sera très volumineux et les temps de traitement très importants. La solution à cette problématique est d utiliser une fonction, rapide à calculer, dite de hachage cryptographique («hash function») qui associe à un texte t une empreinte, d une taille fixe (pourquoi pas de 160 bits!). Le processus de signature consistera ensuite à signer cette empreinte et non le texte lui-même. t, un texte e, une empreinte avec e = h(t) s, une signature avec s = sig K (e) L utilisateur du message signé devra recalculer e = h(t) puis vérifier la validité de la signature de l empreinte associée à ce document. L utilisation «en cascade» de deux fonctions, celle de hachage puis celle de signature impose une condition à la première, celle de ne pas fragiliser la fonction qui suit, celle de signature Attaques et conditions en résultant sur la fonctions de hachage La première attaque possible d un tel document signé consiste à partir d un couple (t, s) authentique, à calculer e = h(t) puis à chercher un t t tel que h(t ) = h(t). Si quelqu un y parvient, le couple (t, s) sera un message signé valide. conditions. Pour empêcher cela, la fonction de hachage devra donc satisfaire à certains Une fonction de hachage est dite à «collisions faibles difficiles» si et seulement si étant donné un message t, il est calculatoirement difficile d obtenir un message t t tel que h(t ) = h(t). Deuxième type d attaque : le faussaire recherche deux messages différents t et t tels que h(t) = h(t ) puis il arrive à convaincre le signataire de signer le message t, donc de signer l empreinte de ce message h(t). Il réussit alors à proposer un couple (t, h(t)) tout à fait valide. LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 1 / 10

Une fonction de hachage est dite à «collisions fortes difficiles» s il est calculatoirement difficile d obtenir deux messages différents t et t tel que h(t) = h(t ). Bien évidemment si une fonction est à collisions fortes difficiles, elle est à collisions faibles difficiles. Troisième type d attaque : le faussaire dispose d une signature valide d un message de type empreinte. Il peut alors chercher un message t tel que h(t) soit cette empreinte. Une fonction de hachage est «à sens unique» si et seulement si, pour une empreinte donnée e, il est calculatoirement difficile de trouver un message t tel que h(t) = e Une fonction élémentaire Une des plus simple des fonctions de hachage peut être réalisée avec un «OU exclusif» ou «XOR». Il suffit de découper un texte en bloc de n bits puis de calculer e i = b i,1 b i,2 b i,m, ou exclusif des b i,j i ème bit du j ème bloc, m étant le nombre de n bits dans le texte. bit 1 bit 2 bit n bloc 1 b 1,1 b 2,1 b n,1 bloc 2 b 1,2 b 2,2 b n,2 bloc m b 1,m b 2,m b n,m hash code h 1 h 2 h n Cette fonction reste fort simpliste et ne vérifie pas les principes énoncés ci-dessus. La fonction de hachage MD4 Cette fonction fut proposée en 1990 par Ron Rivest. Elle est à l origine d une famille de fonctions plus sûres. Elle fut remplacée, en effet, par «MD5», présentée en 1991. Le sigle «MD» signifie «Message Digest». Cet algorithme produit une empreinte sur 128 bits du texte d entrée. Le standard de hachage «SHS» ou «Secure Hash Standard» repose sur les mêmes principes. Il fut publié dans un «Federal Register» en 1992, adopté comme LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 2 / 10

standard en 1993 mais corrigé en 1994 suite à la mise en évidence d une faiblesse technique maintenue secrète. D après Rivest, les objectifs de conception de «MD4» étaient les suivants : Sécurité : il est impossible de trouver par le calcul deux textes qui aient la même empreinte ; aucune attaque n est plus efficace que l attaque exhaustive. Sécurité directe : la sécurité de «MD4» n est basée sur aucune hypothèse telle que la difficulté de factorisation. Vitesse : «MD4» est adapté pour des réalisations logicielles rapides. Simplicité : «MD4» est aussi simple que possible sans grandes structures de données ni programme compliqué. Architecture matérielle : «MD4» est optimisé pour les architectures à microprocesseurs (telles qu INTEL) dites à «octet de poids faible en premier» (architectures «little-endian»» par opposition aux architectures «big-endian» telles que les stations «SPARC»). Mise en place du processus Soit une chaîne de bits t, nous définissons le tableau T : T[0] T[1] T[2] T[N-1] tel que chaque T[i] soit d une longueur de 32 bits et N 0 mod 16. La réalisation des T[i] suit l algorithme ci-dessous. Toutefois auparavant pour construire T, nous ajouterons un «1» à la chaîne t suivi d un nombre suffisant de «0» pour obtenir une chaîne de longueur congrue à 448 modulo 512 et enfin, nous ajouterons la représentation binaire de la longueur de t, codée sur 64 bits. La chaîne résultante aura donc une longueur multiple de 512, chaîne que nous pourrons découper en un tableau T. Algorithme Cet algorithme permet donc de calculer une empreinte numérique codée sur 128 bits. Cette empreinte est la concaténation de 4 registres nommés A, B, C et D. Ces 4 registres sont initialisés par 4 valeurs hexadécimales : «67452301», «EFCDAB89», «98BADCFE» et «10325476». LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 3 / 10

A = 67452301 (hexadécimal) B = EFCDAB89 (hexadécimal) C = 98BADCFE (hexadécimal) D = 10325476 (hexadécimal) Pour i = 0 à N/16 1 Faire Pour j = 0 à 15 Faire X[j] = M[16 i + j] AA = A BB = B CC = C DD = D étape 1 (voir ci-dessous) étape 2 (voir ci-dessous) étape 3 (voir ci-dessous) A = A + AA B = B + BB C = C + CC D = D + DD Fin Faire Fin Faire Avant d étudier en détail les trois étapes évoquées dans l algorithme ci-dessus, il nous faut préciser la symbolique utilisée : X Y ET logique bit-à-bit de X et de Y X Y OU logique bit-à-bit de X et de Y X Y OU exclusif bit-à-bit de X et de Y X complémentation bit-à-bit de X X Y addition modulo 2 32 X << s rotation circulaire de s bits vers la gauche de X avec 0 s 31 puis définir trois fonctions f, g et h par : f(x, Y, Z) = (X Y) (( X) Z) g(x, Y, Z) = (X Y) (X Z) (Y Z) h(x, Y, Z) = X Y Z LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 4 / 10

Etape 1 A = A + f(b, C, D) + X[0] <<3 D = D + f(a, B, C) + X[1] <<7 C = C + f(d, A, B) + X[2] <<11 B = B + f(c, D, A) + X[3] <<19 A = A + f(b, C, D) + X[4] <<3 D = D + f(a, B, C) + X[5] <<7 C = C + f(d, A, B) + X[6] <<11 B = B + f(c, D, A) + X[7] <<19 A = A + f(b, C, D) + X[8] <<3 D = D + f(a, B, C) + X[9] <<7 C = C + f(d, A, B) + X[10] <<11 B = B + f(c, D, A) + X[11] <<19 A = A + f(b, C, D) + X[12] <<3 D = D + f(a, B, C) + X[13] <<7 C = C + f(d, A, B) + X[14] <<11 B = B + f(c, D, A) + X[15] <<19 Etape2 A = (A + g(b, C, D) + X[0] + 5A827999) << 3 D = (D + g(a, B, C) + X[4] + 5A827999) << 5 C = (C + g(d, A, B) + X[8] + 5A827999) << 9 B = (B + g(c, D, A) + X[12] + 5A827999) << 13 A = (A + g(b, C, D) + X[1] + 5A827999) << 3 D = (D + g(a, B, C) + X[5] + 5A827999) << 5 C = (C + g(d, A, B) + X[9] + 5A827999) << 9 B = (B + g(c, D, A) + X[13] + 5A827999) << 13 A = (A + g(b, C, D) + X[2] + 5A827999) << 3 D = (D + g(a, B, C) + X[6] + 5A827999) << 5 C = (C + g(d, A, B) + X[10] + 5A827999) << 9 B = (B + g(c, D, A) + X[14] + 5A827999) << 13 A = (A + g(b, C, D) + X[3] + 5A827999) << 3 D = (D + g(a, B, C) + X[7] + 5A827999) << 5 C = (C + g(d, A, B) + X[11] + 5A827999) << 9 B = (B + g(c, D, A) + X[15] + 5A827999) << 13 Etape 3 A= (A + h(b, C, D) + X[0] + 6ED9EBA1) << 3 D= (D + h(a, B, C) + X[8] + 6ED9EBA1) << 9 C= (C + h(d, A, B) + X[4] + 6ED9EBA1) << 11 B= (B + h(c, D, A) + X[12] + 6ED9EBA1) << 15 A= (A + h(b, C, D) + X[2] + 6ED9EBA1) << 3 D= (D + h(a, B, C) + X[10] + 6ED9EBA1) << 9 C= (C + h(d, A, B) + X[6] + 6ED9EBA1) << 11 B= (B + h(c, D, A) + X[14] + 6ED9EBA1) << 15 A= (A + h(b, C, D) + X[1] + 6ED9EBA1) << 3 D= (D + h(a, B, C) + X[9] + 6ED9EBA1) << 9 C= (C + h(d, A, B) + X[5] + 6ED9EBA1) << 11 B= (B + h(c, D, A) + X[13] + 6ED9EBA1) << 15 A= (A + h(b, C, D) + X[3] + 6ED9EBA1) << 3 D= (D + h(a, B, C) + X[11] + 6ED9EBA1) << 9 C= (C + h(d, A, B) + X[7] + 6ED9EBA1) << 11 B= (B + h(c, D, A) + X[15] + 6ED9EBA1) << 15 «MD4» utilise des opérations «bit-à-bit» très rapides. Seule, l addition modulo 2 32 est arithmétique. Elle fut ainsi construite pour être très rapide d exécution. La sécurité de «MD4» ne repose pas sur un problème difficile à résoudre. Comme pour le «DES», pendant longtemps, toute la sécurité était basée sur la durée pendant laquelle aucune attaque n avait été proposée. Toutefois, très vite des chercheurs ont cryptanalysé avec succès les premières rondes de l algorithme. En 1995, Dobbertin a même mené une attaque mettant en évidence une collision forte. Ron Rivest renforça son algorithme et le résultat de cette riposte aux attaques fut «MD5». La fonction de hachage «MD5» (1991) «MD5» bien que plus complexe est très similaire à «MD4». Elle produit également des empreintes sur 128 bits. Son algorithme met en œuvre 4 tours (64 étapes) au lieu de 3. Cette sophistication se fait au dépend de sa vitesse d exécution, «MD5» tournant environ 30 % moins vite que «MD4». Les 4 vecteurs d initialisation sont les suivants : A = 01234567, B = 89ABCDEF, C = FEDCBA98 et D = 76543210 (preuve d une grande imagination ). Les 4 rondes mettent en œuvre 4 fonctions non linéaires différentes, une pour chaque ronde : LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 5 / 10

f(x, Y, Z) = (X Y) (( X) Z), fonction conditionnelle si X alors Y sinon alors Z, g(x, Y, Z) = (X Y) ( Y Z), h(x, Y, Z) = X Y Z, opérateur de parité bit à bit i(x, Y, Z) = Y ( X Z). Amélioration de «MD5» par rapport à «MD4» Une quatrième ronde a donc été ajoutée. A chaque étape «i» (il y en a 4 x 16 = 64) est ajoutée une constante unique égale à la partie entière de 2 32 x valeur absolue( sinus (i)), i étant exprimé en radian. La nouvelle fonction g est moins symétrique que celle de «MD4». Des effets d avalanche ont été accélérés, au sein de chaque étape par l ajout du résultat de l étape précédente, par des nombres plus optimisés de décalage circulaire qui plus est différents d une ronde à l autre. Les résultats d attaques, partiellement réussies, menées contre «MD5» n ont pas mis en cause l utilisation de «MD5» dans les algorithmes et produits de chiffrements. LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 6 / 10

La fonction de hachage «MD2» Elle fut conçue également par Ron Rivest. Sa sécurité dépend d une permutation aléatoire de l ensemble de tous les octets, permutation fixée et dépendant des 255 décimales de p : S i. Algorithme 1) Complément de texte avec i octets de valeur «i» de telle façon que sa longueur finale en octets devienne un multiple de 16 2) Ajout d une somme de contrôle de 16 octets au nouveau texte ainsi complété 3) Initialisation d un bloc de 48 octets : X 0, X 1,, X 47. 4) Mise à zéro des 16 premiers octets 5) Copie des 16 premiers octets du message dans les 16 suivants 6) Calcul du XOR, «OU exclusif bit-à-bit», de ces deux séries de 16 octets et mise du résultat dans les 16 derniers octets. 7) Application de la fonction de compression : t = 0 Pour j = 0 à 17 Faire Pour k = 0 à 47 Faire t = X k S t X k = t t = (t + j) mod 256 Fin Faire Fin Pour Fin Faire Fin Pour 8) Copie du deuxième morceau de 16 octets du message dans le second tiers de X 9) Calcul du XOR des deux premiers tiers de X et mise du résultat dans le troisième tiers 10) Exécution de l étape 7 puis de l étape 8 et ce, pour chaque morceau de 16 octets du texte. 11) Récupération des 16 premiers octets de X comme empreinte du message. «MD2» est plus lente que les deux précédentes fonctions de hachage mais ne présente pas de faiblesses connues. LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 7 / 10

Le «SHA», «Secure Hash Algorithm» Cet algorithme fut développé par le «NIST» et la «NSA» pour être utilisé dans le «DSA», le standard de signature numérique («DSS»). Le «SHA» produit une empreinte de 160 bits pour tout texte d une longueur inférieure à 2 64. Cette empreinte est fournie comme entrée au «DSA» qui calcule alors la signature du texte. Le «SHA» est qualifié de sûr car il fut conçu pour qu il soit impossible : de retrouver par le calcul un message correspondant à une empreinte donnée et de trouver deux textes différents qui produiraient la même empreinte. Processus Le texte est complété de telle façon que sa longueur en bits soit un multiple de 512 par ajout d un «1» suivi d autant de «0» que nécessaire pour que seuls 64 bits manquent par rapport à un multiple de 512. Puis, on ajoute à ce texte complété 64 bits contenant la longueur du message avant remplissage. «MD5», comme «MD4», utilise 4 registres (mais produit des empreintes sur 128 bits). «SHA» utilise 5 variables initialisées par les valeurs hexadécimales suivantes : A = 67452301, B = EFCDAB89, C = 98BADCFE, D = 10325476 et E = C3D2E1F0. L algorithme traite le texte par bloc de 512 bits et utilise des fonctions nonlinéaires différentes en fonctions de l opération : f t (X, Y, Z) = (X Y) (( X) Z) pour t entre 0 et 19 f t (X, Y, Z) = X Y Z pour t entre 20 et 39 f t (X, Y, Z) = (X Y) (X Z) (Y Z) pour t entre 40 et 59 f t (X, Y, Z) = X Y Z pour t entre 60 et 79. La boucle principale comprend 4 rondes de 20 opérations («MD5» compte, elle, 4 rondes de 16 étapes) et utilise 4 constantes hexadécimales K t : 5A827999, 6ED9EBA1, 8F1BBCDC et CA62C1D6 égalant respectivement à 2 / 4, 3 / 4, 5 / 4 et 10 / 4 Algorithme Le bloc de texte découpé en 16 mots de 32 bits (M 0 à M 15 ) est transformé en 80 mots de 32 bits (W 0 à W 79 ) par l algorithme suivant : W t = M t pour t = 0 à 15 LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 8 / 10

W t = W t-3 W t-8 W t-14 W t-16 pour t = 16 à 79. Si t est le numéro de l opération (de 1 à 80), M j représente le j ème sous-bloc du message (j allant de 0 à 15), si << s représente un décalage circulaire à gauche de s bits alors la boucle principale ressemble à : Pour t = 0 à 79 Faire TEMP = (A<<5) + ft(b, C, D) + E + Wt + Kt) E = D D = C C = (B << 30) B = A A = TEMP Fin Faire Fin Pour Analyse du «SHA» - Comparaison avec «MD4» et «MD5» Ron Rivest a rendu public les choix de conception de «MD5». Le «NIST» et la «NSA» ne l ont pas fait «SHA», similaire à «MD4», met en œuvre toutefois une étape d expansion, la sommation de l étape précédente à l entrée de l étape suivante afin d obtenir un «effet d avalanche». Une quatrième ronde a également été ajoutée mais dans le «SHA» la fonction utilisée est la même ce qui n est pas le cas de «MD5». LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 9 / 10

MD4 MD5 mélange de bits amélioré ; une ronde supplémentaire ; meilleur effet d avalanche ; empreinte sur 128 bits SHA addition d une transformation d expansion ; une ronde supplémentaire ; meilleur effet d avalanche même par rapport à «MD5» ; empreinte sur 160 bits meilleure résistance à une attaque massive RIPE-MD et HAVAL La fonction «RIPE-MD» a été développée par le projet «RIPE» de la Communauté Européenne et est une variante de «MD4» conçue toutefois pour résister à toutes les attaques connues. «HAVAL» est une fonction de hachage produisant des empreintes de longueur variable. C est une variante de «MD5». LES FONCTIONS DE HACHAGE PHILIPPE JEULIN - 10 / 10