49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
<header><h1>
|
|
Information Security
|
|
</h1></header>
|
|
|
|
[Labs about information security](/infotro/SDi/labs/SSL/README.md)
|
|
|
|
# Clé sysmétrique
|
|
Alice et Bob ont la même clé secrète pour chiffrer et déchiffrer les messages.
|
|
On peut encrypter par bloc ou par flux.
|
|
- Par bloc : on découpe le message en blocs de taille fixe et on chiffre chaque bloc.
|
|
On doit obligatoirement finir par un byte de padding.
|
|
- Par flux : on chiffre le message en continu. (Convolution)
|
|
|
|
Un cryptage ECB (Electronic Code Book) encrypt un message par bloc indépendant.
|
|
Cela signifie que si deux blocs sont identiques, ils seront chiffrés de la même manière.
|
|
Cela peut être dangereux si un attaquant peut deviner le contenu du message.
|
|
|
|

|
|
|
|
Un cryptage CBC (Cipher Block Chaining) utilise un vecteur d'initialisation pour chiffrer le premier bloc.
|
|
Le vecteur d'initialisation peut être public.
|
|
Ensuite, on utilise le bloc chiffré précédent pour chiffrer le bloc suivant.
|
|
Cela permet de ne pas avoir le même chiffrage pour deux blocs identiques.
|
|
|
|

|
|
|
|
Sans utiliser de vecteur d'initialisation, un message bien qu'encrypté peut être deviné.
|
|
Cela permet de trouver la clé secrète.
|
|
Il vaut mieux utiliser un vecteur d'initialisation.
|
|
|
|

|
|
|
|
|
|

|
|
|
|
# Échange de clé avec Diffie-Hellman
|
|
Diffie-Hellman permet d'échanger une clé secrète sans que les deux parties se soient jamais rencontrées.
|
|
- Alice et Bob se mettent d'accord sur un nombre premier p et un générateur g.
|
|
- Alice choisit un nombre $a$ et Bob choisit un nombre $b$.
|
|
- Alice envoie à Bob $g^a \mod p$ et Bob envoie à Alice $g^b \mod p$.
|
|
- Alice calcule $(g^b)^a \mod p$ et Bob calcule $(g^a)^b \mod p$.
|
|
|
|
Les deux calculs donnent la même clé secrète.
|
|
|
|

|
|

|
|
|
|
# Clé asymétrique
|
|
#RTFM |