diff --git a/README.md b/README.md index 63ddf2d..aa620ba 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,4 @@ -Mémoire sécurité ADSILLH ------------------------- +Projet sécurité ADSILLH +----------------------- -Ce mémoire, rédigé par Luc Lauriou et Yorick Barbanneau parle de -l'authentification par smartcard et infrastructure à clefs publiques. Il est -écris en markdown et optimisé pour l'export PDF par `pandoc`. - -## Creation du PDF - -Les méta données pour la création du fichier PDF sont inclue directement dans -l'entête YAML du fichier markdown, pour créer le PDF : - -``` -pandoc -s memoire.md -o memoire.pdf -``` - -## Licence - -Les fichier SVG sont contenus dans le répertoire `files/` sont sous licence Art -Libre. +Projet de Sécurité : l'authentification par certificats X.509. diff --git a/files/padding.svg b/files/pagging.svg similarity index 100% rename from files/padding.svg rename to files/pagging.svg diff --git a/memoire.md b/memoire.md index c90fc1f..8047080 100644 --- a/memoire.md +++ b/memoire.md @@ -292,7 +292,7 @@ $$ ##### Le padding -![Fonctionnement du padding](./files/padding.svg) +![Fonctionnement du padding](./files/pagging.svg) Dans notre exemple, notre bloc doit faire 128 bits mais les données ne représente que 104 bits [1]. Nous allons donc rajouter trois octets avec pour @@ -306,7 +306,7 @@ le déchiffre et avertit l'utilisateur si le padding est correct ou non. Le chiffrement par bloc en mode *CBC* a un énorme défaut : l'intégrité des messages n'est pas vérifiée. Du coup un attaquant peut modifier le résultat de `cleartext[n]` en modifiant `cblock[n-1]`, ou tout simplement en le -forgeant à sa convenance. +forgeant à notre convenance. Prenons `X` comme bloc de chiffrement forgé pour l'occasion, et `cblock[n]` bloc de chiffrement à attaquer et `cleartexthack` le résultat du déchiffrement @@ -350,7 +350,7 @@ booléennes. Comme nous avons accès à une **oracle de padding** nous n'avons qu'à tester toutes les valeurs du dernier octet de `X` jusqu'à obtenir un padding correct -(`0x01`). Dans le cadre de notre bloc de 16 octets : +(`0x01`). Dans le cadre de notre block de 16 octets : $$ cleartext[n][15] = 0x01 \oplus cblock[n-1][15] \oplus X[15]