Vous êtes sur la page 1sur 24

Synthèse SECU

Introduction
L’objectif de la sécurité informatique consiste en 5 points :
- Disponibilité : s'assurer qu'un service soit disponible pour les utilisateurs autorisés.
- Authentification : S’assurer qu’uniquement les utilisateurs autorisés ont accès à
leurs propres ressources et services
- Non-répudiation : s'assurer qu'un contrat entre x et y vient bien de x et qu'il est bien
conclu avec y.
- Confidentialité : s'assurer que les données confidentielles sont confidentielles pour
toute personne non autorisée
- Intégrité : s'assurer que les données ne sont pas altérées pendant le transit.

Les différentes méthodes pour sécuriser ces


données
Chiffrement des données
L’idée est de crypter les données avec une ou plusieures clés.
- Avec une clé : La clé est secrète.
- Avec 2 clés : Une clé Public pour encoder et une clé Privée pour décoder. Seul la clé
privée est secrète.

Signature numérique
L’idée est de s’assurer que l'expéditeur est bien celui que nous pensons.
Le but est que ce soit plus compliqué que juste signé un document.
Pour cela nous utilisons une clé pour la signature et une autre clé pour l’identification. Si les
deux clé sont stockées à des endroits différents et qu'à la réception du message, sont
identiques, c’est probablement la même personne

Echange de clé
L’échange de clé pose un problème : Comment s'échanger les clé de manière sécurisée ?
La solution serait d’utiliser un intermédiaire tiers en qui les deux acteurs ont confiance.

Certificat
Document électronique prouvant la propriété d'une clé publique.
Largement utilisé pour le premier échange de clés
Contient
- des informations de clé publique
- des informations des clés du propriétaire
- la signature numérique de l'autorité de certification.
L'autorité de certification s'assure que les informations stockées dans le certificat sont
correctes et les signe.

Les principes de Kerckhoff’s


1) Le système doit être matériellement et mathématiquement incassable sans la clé.
2) Le système ne doit nécessiter aucun secret (au-delà de la clé), et ne doit pas être
compromis s'il tombe entre les mains de l'ennemi.
3) Le système doit être "facile" à utiliser.
En gros : La sécurité ne peut pas reposer sur le secret.

Le secret est une faiblesse.


Des arguments tels que "votre système est dangereux parce que nous pouvons voir le code
source" ou "mon système est plus sûr que le vôtre parce que mon code source est caché"
sont naïfs, et invalides.
Il est difficile (voire impossible) de contourner la sécurité sans les codes appropriés.
Ces codes doivent être facilement modifiables
Le système de sécurité doit être analysé par des experts

La sécurité d'un système doit reposer uniquement sur la clé et non sur le système lui même

Authentification
Il existe plusieurs types de protocoles d'authentification
- Mot de passes (populaires)
- Token sécurisé
- Clés cryptographiques
Les règles d’une authentification sont :
- Fournir une preuve que c’est bien vous :
- Quelque chose que vous savez (MDP, code PIN)
- Quelque chose que vous avez (des clés, badge)
- Quelque chose que vous êtes (empreinte digital, empreinte faciale)
Les inconvénients avec ce genre d'authentification c’est que :
- Quelque chose que vous savez : Cela peut être culturel ou social
- Quelque chose que vous avez : Peut être volé ou perdu
- Quelque chose que vous êtes : Nécessite une mesure initiale

Authentification multi-facteurs
L’idée est de forcer l’utilisateur a présenter plus d’un élément pour s’identifier (Exemple :
MDP + clé physique)

Cela permettrait aux personnes non identifiées de fournir tous les éléments.
Différents types de Tokens
Nous pouvons classer les Tokens en trois catégories
- Tokens papier : mots de passe à usage unique, jeux de codes
- Tokens logiciels : s'appuie sur un logiciel installé sur l'ordinateur ou le périphérique
client.
- Tokens matériels : nécessite un périphérique physique

Les jetons peuvent être physiquement connectés (transmission automatique des données)
ou non.

Contrainte : Le Token doit être quelque chose que vous et vous seul avez constamment sur
vous.

Un Token est unique !

Token Software
Un Token peut être généré via un logiciel mais dans ce cas il devient lié à son ordinateur et
l’ordinateur devient le jeton matériel.

Token Hardware
Un Token Hardware doit être impossible à falsifier et et doit être protégé contre la rétro
ingénierie.

Conclusion
Les jetons logiciels sont considérés comme des instances de "quelque chose que vous
connaissez".

Un mot de passe + un jeton logiciel sont deux exemples de "quelque chose que vous
connaissez".

Token mot de passe


Idée : cacher des informations secrètes à l'intérieur d'un jeton
Types de jetons de mot de passe :
- Statique : stocker directement et en toute sécurité le mot de passe
- Vulnérable pour rejouer les attaques
- “One-time password” token
- Token de mot de passe asynchrone
- Token de mot de passe Synchrone
Replay Attack

One-time password
Idée : un mot de passe n'est valable que pour un seul login / transaction
Not vulnerable to replay attacks :
- Si un attaquant récupère un mot de passe déjà utilisé, il ne peut pas en abuser.
- Ce mot de passe devient invalide
La génération est souvent basée soit sur
- la synchronisation du temps entre le serveur et le client
- le mot de passe généré précédemment
- un défi

Exemple asynchrone : Schéma de Lamport


Chaque mot de passe généré repose sur
- quelques fonctions de hachage cryptographique
- quelques graines (pas secrètes)
- le mot de passe généré précédemment
L’algorithme :
Algorithm
1) Dans un premier temps, calculez la chaîne

for some k "large"


2) Stocker p0 sur le serveur.

3) Le premier mot de passe requis est . Stock p1


- p1 est calculé par le client dès le début de la chaîne

4) Le second mot de passe requis est , stocker p2


Avantages et Inconvénients
Avantage : Sécuritaire contre les attaques de rediffusion(replay attack)
Inconvénients : Si un mot de passe est compromis, chaque mot de passe généré
antérieurement le son également

One-time synchronous password tokens


Le principe :
- En interne, le token génère un mot de passe unique à chaque unité de temps.
- Le serveur stock la graine pour chaque token
- Le mot de passe généré par le client doit être le même que celui généré par le
serveur.
- Si les horloges sont désynchronisés, les tokens sont aussi bien stockés.

Cryptographie à seuil
L’idée : Nous voulons partager un secret.
- Clé cryptographique pour le chiffrement ou la signature
- Code d'accès
Motivation : permettre le service si au moins x personnes acceptent de coopérer.

Définition :
Un système cryptographique est appelé système cryptographique à seuil si plusieurs
personnes (plus que le seuil) doivent coopérer dans le protocole utilisé pour (dé)crypter un
message.

Un tel système est un “(k,n) - seuil” si au moins k personnes parmi n doivent coopérer pour
(dé)crypter le message.

Partage de clé V1
Example : secret Password to share
1) People 1 : Pa......
2) People 2 : ..ss....
3) People 3 : ....wo..
4) People 4 : ......rd
Quelqu'un qui n'a pas de pièces doit deviner entre 26^8 soit environ 208 milliards
possibilités
Quelqu'un avec une seule pièce doit deviner parmi 26^6 soit environ 308 millions
possibilités
Donc c’est un Partage non sécurisé.

Partage de clé V2
Si le mot de passe est crypté sur k clé publics.
Le k correspond au nombre de clé privée qui sont distribuée aux n acteurs.
Padding
Aucun algorithme cryptographique ne traite toutes ses entrées en une seule fois.
L'entrée est arbitrairement grande
Idée : découper l'entrée en blocs de taille égale et traiter chaque bloc séparément.
- Hash : saisie itérative de blocs pour une fonction de compression unidirectionnelle
- Cipher : chaque bloc est chiffré séparément et indépendamment
- Signature : chaque bloc est haché et chiffré
La taille d'un bloc dépend de l'algorithme

Algorithmes de Chiffrements
C’est pas très inspirant comme titre !

Chiffrement César
Principe :
Exemple et faiblesses
Seulement 25 touches possibles
Analyse séquentielle : la lettre la plus fréquente en anglais est 'e'.
Cochez la lettre la plus fréquente dans le texte chiffré

Chiffrement Vigenère
Idea : variable shift César
Avantages : plus de clés, analyse fréquentielle inutile
Exemple : avec les nombres (8 ; 5 ; 3 ; 3 ; 14) la première lettre est décalée de 8,
le deuxième de 5, le troisième de 3, le quatrième de 14, le cinquième de 8, etc.
The key is encoded as a word : (8; 5; 3; 14) = HECM
Une analyse fréquentielle "directe" est inutile car une lettre n'est pas toujours codée par le
même caractère de la clé.

Comment décrypter sans la clé ?


Essayez de découvrir la taille de la clé (pour réduire le problème à Cesar)
Si la clé a une longueur de 4, il y a au maximum 4 façons de chiffrer chaque caractère
Si la distance entre deux répétitions est k, la longueur de la touche divise k
Exemple :

Distance entre ULY : 24


Distance entre JOZ : 32
PGCD(24,32) = 8

Chiffrement symétriques et
décryptage clé publique
Chiffrement symétriques
Le principe : Une seule clé, connue uniquement des acteurs, est utilisée pour crypter et
déchiffrer
Exemple :
- Alices chiffre son texte avec la lettre et l'envoie à Bob.
- Bob utilise la clé pour déchiffrer le message
Les problèmes :
- Sécurité et échange de clés

- Pour n acteurs, clés sont requises.


Illustration :
L’échange de clé
Problème
Un problème se pose lorsque nous transmettons la clé : elle ne peut pas être interceptée.
Soit nous utilisons un canal sécurisé (difficile dans la pratique), soit nous rencontrons
l'acteur en face à face.(pas pratique)

Solution
La cryptographie à clé publique résout intelligemment le problème
Technique d'emballage des clés (rapide)

Chiffrement asymétriques
Principe : Une paire de clés par acteur : une pour chiffrer, une pour déchiffrer

Exemple :
- Alice chiffre son texte avec la clé publique de Bob et l'envoie.
- Bob déchiffre le message avec sa propre clé privée.
- Puisque Bob est le seul à avoir cette clé privée, lui seul peut lire ce qui a été envoyé.

Problème :
Premier échange de clé publique

Illustration :

Emballage des clés


Principe :
- Alice veut parler à Bob
- Elle génère une clé symétrique aléatoire (clé de session)
- Elle chiffre la clé de session avec la clé publique de Bob et l'envoie.
- Bob reçoit la clé de session qu'il déchiffre avec sa clé privée.
- Alice et Bob peuvent maintenant chiffrer leurs messages avec la clé de session

Avantages :
Rapide, puisque le chiffrement asymétrique n'est utilisé que sur la clé secrète.
Sécurisé, si Alice a déjà la clé publique de Bob.
Illustration :
Fonctions de hachage
cryptographique
Bonne fonction de hachage
- La fonction de hachage doit être publique (pas de clé, pas de secret)
- La sortie doit avoir une taille fixe, quelle que soit la taille de l'entrée.
- Facilite l'utilisation pratique
- Vous rend vulnérable aux attaques d'anniversaire
- Basé sur la construction Merkle-Damgård et les fonctions de compression
unidirectionnelle
- Les images sont normalement distribuées
- La fonction de hachage "suffit bien à l'entrée".

Mauvaise fonction de hachage


- Ajouter les valeurs ACSII des caractères d'un message, modulo n
- Problèmes de collisions, non résistant à la seconde pré-image
- Concaténer les valeurs ASCII des caractères d'un message, modulo n
- Ne résiste pas à la pré-image

Fonction de compression uni-directionnel


Principe : Mappage de fonction de deux entrées de taille fixe à une sortie de taille fixe (plus
petite)

Doit avoir les exigences des fonctions de hachage cryptographique:


1) Facile à calculer
2) Résistant au pré-image
3) Résistance à la pré-image en secondes
4) Résistant aux collisions
Merkle-Damgard : Construction
Nous voulons construire des fonctions de hachage avec les caractéristiques désirées.
Pour cela, ils doivent être capables de traiter un message de taille arbitraire en un hachage
de taille fixe.
Principe : construire des fonctions de hachage à partir de fonctions de compression
unidirectionnelle

Théorème : Si un schéma de rembourrage approprié est utilisé et que la fonction de


compression unidirectionnelle est résistante aux collisions, alors la fonction de hachage
intégrée est résistante aux collisions.

Etapes de construction
1) Découper le message en blocs de taille fixe.
2) Le dernier bloc est rempli de valeurs arbitraires (c'est-à-dire fixes) pour obtenir la
longueur requise.
3) Nous définissons un vecteur d'initialisation (IV)
4) Lors de la première itération, nous entrons IV et le premier bloc à f
5) Dans le cas général, nous entrons le résultat courant ainsi que les blocs k à f
6) Utilisation possible d'une fonction de finalisation (brassage, avalanche, etc.)

Schéma

Birthday Attack
Attaque exploitant le "paradoxe de l'anniversaire" (théorie des probabilités)

Comment ça fonctionne ?
Dans un groupe de n personnes, quelle est la probabilité que deux d'entre elles aient le
même anniversaire ?
Le principe du “pigeonhole”, cette probabilité est nulle lorsque n=1(Il n’y a qu’une seule
personne) et 1 lorsque n=367(Il y a 367 personne).

Illustration
Mot de passe
Le gros problème avec les mots de passes
- Faible entropie : dictionnaire des mots de passe courants
- Trop difficile à retenir donc --> "post-it sur l'écran"
- Réutilisation du mot de passe
- “Key logging”

Transmission
Un mot de passe ne peut pas être transmis en texte clair, il a besoin d’être crypté !

Storage
La pair (login, password) est stockée sur une base de donnée.
Compte tenu de leur taille et de la fréquence des demandes d'authentification, le chiffrement
des tables est déconseillé.

Question importante
Comment stocker les mots de passe pour qu'un attaquant capable de voir les tables ne
puisse rien faire avec cette information ?

Réponse importante
- Utiliser les fonctions de hachage cryptographique
- Stocker les hachages de mots de passe, pas les mots de passe

Principe du stockage de mot de passe


1) Réception d’une pair chiffrée (login, password)
2) Décoder cette paire avec la clé privée du serveur, ou avec une clé de session.
3) Calculer le hashage du MDP
4) Checker si la pair (login, hash password) est dans la base de donnée

Avantage de ce principe
- Rapide : les hachages sont faciles à calculer
- Sûr : résistant à la pré-image
- Collisions peu probables
Sel password
Inconvénients sans le sel
- Deux mots de passe identiques ont le même hashes
- Réutilisation du mot de passe
- Même mot de passe pour différents utilisateurs

Solution avec le sel


Le principe du sel est d’apposer une chaîne en clair aux mots de passes
On hach le résultat
Le sel est différent pour chaque utilisateur
Le sel n’est pas secret
Il faut alors stocké le login, le sel et le hash du password

Attaque par dictionnaire


L’attaque par dictionnaire est une attaque très courante contre l'authentification

Le principe
Créez une liste de mots de passe communs
- Avec leurs hachages parmi plusieurs fonctions de hachage cryptographiques
Cherchez un hash connu dans le tableau
S'il y a une correspondance, l'attaque est réussie.

Comment se protéger de l’attaque par


dictionnaire
1) Limiter le nombre de demandes dans le temps
2) Limiter le nombre d'échecs
3) Rendre la politique sur les mots de passe plus sévère

Pré-traitement du hash
Le principe est d'alterner entre une fonction de hachage et une fonction de réduction pour
créer une chaîne
Nous stockeron uniquement la tête et la queue de cette chaîne dans une base de donnée
Récupération du mot de passe
Lorsqu’on reçoit un hash, on applique la réduction, puis le hash et ainsi de suite.
Objectif : à un moment après avoir calculé R, découvrir la queue de certaines chaine.

Construire le mot de passe à partir de la tête de la chaîne correspondante


1) En partant de la tête, on applique H, puis R, puis H, etc.
2) Si nous obtenons h, l'élément précédent est le mot de passe que nous recherchons
3) Il est possible de ne pas trouver h, puisque R peut avoir des collisions

Problème
Il est possible d’avoir des collision dans les hash de chaîne

Solution
Utiliser plusieurs fonctions de réduction
En pratique, nous en utilisons beaucoup.

Rainbow Table
Construire un certain nombre de fonction de réduction (environ 50 000)
Pour couvrir un maximum de mot de passe nous prenons un hash de base, nous lui
appliquons R1 ensuite nous le hachon, puis R2 ensuite le hachon etc etc.
Quand ceci est fait, nous stockons la tête et la queue sous forme de pair
Pour optimiser le tout nous pouvons trié par queue et supprimé les doublons de queue

Rainbow Attack
Objectif : Craquer les hash
Comment faire :
1) Vérifier si la réduction du hash (que l'on veut craquer) est une queue. Si s’en est une,
regarder la réduction précédente
2) Itéré cette technique jusqu'à trouver la chaine
Plus la table est grande, plus les chances de succès sont élevées.
Nécessite beaucoup de fonctions de réduction pour éviter les collisions
Illustration

Fonction de réduction
Objectif :
- Mapper un hachage avec un mot de passe
- Pas d'exigence de non-collision
- Doit normalement distribuer la sortie

Exemple de fonction de réduction


1) Analyser le hachage comme un entier x
2) Retourner (x+i) mod |P|
3) Mappé la sortie en un string avec une table de caractère

Signature Numérique
L’idée est d'envoyer un message et son hachage séparément
Le problème est : Est-ce qu’ils sont tous les deux interceptés correctement ?
Le principe
Il est difficile de créer un canal de communication sûr. Par conséquence nous allons utiliser
une signature numérique qui va permettre d’authentifier les messages.
Quand un message s'authentifie, nous savons que :
- le contenu du message n'a pas été modifié
- le message a été envoyé par l'expéditeur présumé

QUESTIONS EXAMEN
Question 1. Décrivez les caractéristiques globales qu’un système de sécurité doit posséder
pour être considéré comme « sûr » en termes de principes de Kerckhoff.

1) Le système doit être matériellement et mathématiquement incassable sans la clé.


2) Le système ne doit nécessiter aucun secret (au-delà de la clé), et ne doit pas être
compromis s'il tombe entre les mains de l'ennemi.
3) Le système doit être "facile" à utiliser.
En gros : La sécurité ne peut pas reposer sur le secret.

Question 2. Que sont les principes de non répudiation, d’intégrité, et de confidentialité dans
le contexte d’échange de données ? Illustrez ces principes avec un exemple d’échange d’un
fichier entre deux acteurs qui ne se sont jamais rencontrés auparavant.

La Non-répudiation c’est le fait de s'assurer que, lors d’un contrat entre x et y, le contrat
soit bien de x et qu'il est bien conclu avec y.

La Confidentialité c’est le fait de s'assurer que les données confidentielles sont


confidentielles pour toute personne non autorisée. C’est à dire que quelqu’un qui n’a pas les
droits pour accéder aux données ne puisse pas y accéder.

L’Intégrité c’est le fait de s'assurer que les données ne sont pas altérées pendant le transit.
Dans le cas d’un contrat entre “x” et ”y”, il faut vérifier que “y” a bien reçu l’intégralité des
données que “x” a envoyé.

//Faire un beau schéma

Question 3. Expliquez le principe d’authentification dans le cadre des « tokens de sécurité »

Les Tokens sont classé en trois catégories


- Tokens papier : mots de passe à usage unique, jeux de codes
- Tokens logiciels : s'appuie sur un logiciel installé sur l'ordinateur ou le périphérique
client.
- Tokens matériels : nécessite un périphérique physique

Les jetons peuvent être physiquement connectés (transmission automatique des données)
ou non.
Contrainte : Le Token doit être quelque chose que vous et vous seul avez constamment sur
vous.

Un Token est unique !

Token Software
Un Token peut être généré via un logiciel mais dans ce cas il devient lié à son ordinateur et
l’ordinateur devient le jeton matériel.

Token Hardware
Un Token Hardware doit être impossible à falsifier et et doit être protégé contre la rétro
ingénierie.

Conclusion
Les jetons logiciels sont considérés comme des instances de "quelque chose que vous
connaissez".

Question 4. Expliquez le principe de « one time password », comment cela permet de lutter
contre les « replay attacks », et détaillez le schéma de Lamport dans ce cadre.

Le “One-Time Password” :
C’est un mot de passe qui n'est valable que pour un seul login / une seule transaction.
Il n’est pas vulnérable contre les replay attacks car :
Si un attaquant récupère un mot de passe déjà utilisé, il ne peut pas en abuser car ce mot
de passe devient invalide

L’algorithm du schéma le Lamport


1) Dans un premier temps, calculez la chaîne

for some k "large"


2) Stocker p0 sur le serveur.

3) Le premier mot de passe requis est . Stock p1


- p1 est calculé par le client dès le début de la chaîne

4) Le second mot de passe requis est , stocker p2

En français :
On crée un MDP
On le sauvegarde sur un serveur
Le deuxième MDP est créé à partir du premier et est stocké sur le serveur

Question 5. Décrivez le principe de cryptographie à seuil, ses applications, et la manière


dont ce principe peut être implémenté avec un exemple concret.

L’idée de la cryptographie à seuil est que nous voulons partager un secret.


La caractéristique est de permettre le service si au moins x personnes acceptent de
coopérer.

Définition :
Un système cryptographique est appelé système cryptographique à seuil si plusieurs
personnes (plus que le seuil) doivent coopérer dans le protocole utilisé pour (dé)crypter un
message.

Un tel système est un “(k,n) - seuil” si au moins k personnes parmi n doivent coopérer pour
(dé)crypter le message.

Il existe 2 types de partage de clé :


Partage de clé V1
Example : secret Password a partager
5) People 1 : Pa......
6) People 2 : ..ss....
7) People 3 : ....wo..
8) People 4 : ......rd
Quelqu'un qui n'a pas de pièces doit deviner entre 26^8 soit environ 208 milliards
possibilités
Quelqu'un avec une seule pièce doit deviner parmi 26^6 soit environ 308 millions
possibilités
Donc c’est un Partage non sécurisé.

Partage de clé V2
Si le mot de passe est crypté sur k clé publics.
Le k correspond au nombre de clé privée qui sont distribuée aux n acteurs.
(Help me)

Question 6. Décrivez
— le principe de padding, son utilité et comment le mettre en oeuvre dans son contexte,
— le principe de génération de nombres aléatoires vrais

Padding
L’idée du Padding : découper l'entrée en blocs de taille égale et traiter chaque bloc
séparément :
- Hash : saisie itérative de blocs pour une fonction de compression unidirectionnelle
- Cipher : chaque bloc est chiffré séparément et indépendamment
- Signature : chaque bloc est haché et chiffré

Aucun algorithme cryptographique ne traite toutes ses entrées en une seule fois.
L'entrée est arbitrairement grande
La taille d'un bloc dépend de l'algorithme

Nombre aléatoires vrais


En cryptographique nous avons besoin de générer des nombres aléatoires vrais !
Il y a 2 manières de générer de vrais nombres aléatoires
- Manière physique
- Méthode de calcule
Manière physique
Les problèmes de la manière physique :
- Bruit de tir (poisson)
- Rayonnements radioactifs thermiques et électromagnétiques
- Interférences radio

Méthode de calcule
La méthode consiste à :
Utiliser un algorithme déterministe
L'informatique imite un processus aléatoire
Concept de semence : tout repose sur la première valeur

Question 7. Décrivez les caractéristiques que doit posséder une fonction de hachage
cryptographique, et pourquoi ces caractéristiques sont-elles requises. Décrivez également
plusieurs applications des fonctions de hachage cryptographiques et pourquoi leur utilisation
est pertinente dans ces cas.

Question 8. Qu’est-ce qu’une fonction de compression one-way ? Décrivez comment


construire une fonction de hachage cryptographique à l’aide d’une fonction de de
compression one-way.

Le Principe de la compression one-way est de faire un Mappage de fonction de deux


entrées de taille fixe à une sortie de taille fixe (plus petite)

Cette compression doit avoir les exigences des fonctions de hachage cryptographique:
1) Facile à calculer
2) Résistant au pré-image
3) Résistance à la pré-image en secondes
4) Résistant aux collisions

Pour construire la fonction de hachage cryptographique à l’aide d’une fonction de


compression one-way
Etapes de construction
1) Découper le message en blocs de taille fixe.
2) Le dernier bloc est rempli de valeurs arbitraires (c'est-à-dire fixes) pour obtenir la
longueur requise.
3) Nous définissons un vecteur d'initialisation (IV)
4) Lors de la première itération, nous entrons IV et le premier bloc à f
5) Dans le cas général, nous entrons le résultat courant ainsi que les blocs k à f
6) Utilisation possible d'une fonction de finalisation (brassage, avalanche, etc.)

Schéma

Question 9. Décrivez le principe


— d’effet avalanche est pourquoi cet effet est désiré ou non, et dans quel contexte,
— « d’attaque par anniversaire » et pourquoi cette « attaque » crée une vulnérabilité dans
son contexte.

Principe d’effet avalanche


L’idée est que si nous changeons un peu le début du texte, la fin aura énormément changé
- Changer un peu le texte brut changera fortement le texte chiffré.
Si cet effet n'est pas assez fort, le caractère aléatoire de la sortie est faible, et le
cryptanalyste peut en déduire des indices

Il y a 2 critères
1) Critère d'avalanche strict
Si un seul bit est retourné dans l'entrée, chaque bit de la sortie a 50% de chances de
changer.
2) Critère d'indépendance des bits
Deux bits i et j de la sortie changent indépendamment lorsqu'un bit k de l'entrée est
retourné, pour chaque i, j, k.

Pourquoi cet effet est désiré ou non, et dans quel contexte ?

Principe « d’attaque par anniversaire »


Attaque exploitant le "paradoxe de l'anniversaire" (théorie des probabilités)
Comment ça fonctionne ?
Dans un groupe de n personnes, quelle est la probabilité que deux d'entre elles aient le
même anniversaire ?
Le principe du “pigeonhole”, cette probabilité est nulle lorsque n=1(Il n’y a qu’une seule
personne) et 1 lorsque n=367(Il y a 367 personne).

Illustration

Pourquoi cette « attaque » crée une vulnérabilité dans son contexte ?

Si une fonction de hachage a n valeurs de sortie possibles, √n calculs sont suffisants pour
avoir une collision probable d’environ 50 %.

Question 10. Décrivez le principe de cryptographie de clé publique et ses applications, ainsi
que ses avantages et inconvénients par rapport aux algorithmes de chiffrement symétriques.

Question 11. Décrivez le principe de signature numérique et ses applications, ainsi que
comment construire un tel système sur base d’un algorithme de chiffrement et d’une fonction
de hachage cryptographique.

Vous aimerez peut-être aussi