fin crypto
This commit is contained in:
parent
d2218d9e5d
commit
e10897a646
6 changed files with 137 additions and 1 deletions
BIN
Crypto/Images/AES_round1.png
Normal file
BIN
Crypto/Images/AES_round1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 136 KiB |
BIN
Crypto/Images/ECB.png
Normal file
BIN
Crypto/Images/ECB.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
BIN
Crypto/Images/IND-CPA.png
Normal file
BIN
Crypto/Images/IND-CPA.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 39 KiB |
BIN
Crypto/Images/spnet_sch.png
Normal file
BIN
Crypto/Images/spnet_sch.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 131 KiB |
136
Crypto/cours.md
136
Crypto/cours.md
|
@ -174,4 +174,138 @@ Une autre techinque de chiffrement consiste à faier passer le message dans une
|
|||
- Plus il y a de round, plus le chiffré en sortie sera uniforme
|
||||
- Ici, on considère que le niveau de sécurité est proche de celui d'une attaque par force brute qui est une recherche à tatons de la clé de chiffrement
|
||||
|
||||
on a donc ici $nb_{itération de recherches} = 2^{security level} = 2^{taille de la clé}$
|
||||
En pratique, on va avoir un algorithme qui délivre une clé maitre qui sera dérivée pour chaque étage. autrement dit, les clés de chaque étagesont conditionnées par une seule clé maître, et ne sont pas toutes indépendantes.
|
||||
|
||||
on a donc ici $nb_{itération de recherches} = 2^{security level} = 2^{taille de la clé}$
|
||||
|
||||
<p align="center">
|
||||
<img src="./Images/spnet_sch.png">
|
||||
</p>
|
||||
|
||||
On parle de S-Box pour les substitions et P-Box ou D-Box pour Permutation ( Ou diffusion).
|
||||
|
||||
## S-Box
|
||||
|
||||
Substitue un symbole pour un autre. Cela contribue à la confusion puisque ça rend la sortie inintelligible. D'une pière deux coups, cela accentue également la non linéarité de la sortie.
|
||||
|
||||
## P-Box ou D-Box
|
||||
|
||||
Echange deux symboles les uns par rapport aux autres. Cela contribue à la diffusion puisque cela déplace les symboles d'un endroit à l'autre. Par contre cela n'a aucun effet sur la linéarité de la sortie.
|
||||
|
||||
# AES
|
||||
|
||||
Il s'agit d'un mécanisme basé sur un réseau de S/P. Sa conception est très intéressante puisque la sécurité et l'implémentation ont été étudié lors du design de la solution.
|
||||
|
||||
Nous sommes ici avec un chiffrement symétrique.
|
||||
|
||||
<p align="center">
|
||||
<img src="./Images/AES_round1.png">
|
||||
</p>
|
||||
|
||||
On est sur des blocs de 128 bits en général.
|
||||
|
||||
L'état interne est composé d'une matrice d'octets de 4x4. 4 operations sont exécutées sur l'état interne à chacun des rounds.
|
||||
|
||||
1 - AddRoundKey
|
||||
- xor between state and round-key.
|
||||
- if message independant from key, and key uniform, then the new state
|
||||
- looks uniform.
|
||||
|
||||
2 - SubBytes
|
||||
- Non-linearity: Minimization of input-output correlation.
|
||||
- Complexity: Complex expression in GF(28).
|
||||
- Simple implementation: Look-up table (and must be since litteral expression complex).
|
||||
|
||||
3 - ShiftRows
|
||||
- Variable byte rotation of each line depending on line index.
|
||||
- First line: no rotation.
|
||||
- Second row: 1 byte rotation.
|
||||
- Third row: 2 bytes rotation.
|
||||
- Fourth row: 3 bytes rotation.
|
||||
|
||||
4 - MixColumns
|
||||
- Column per column scrambling of coefficients. Equivalent to multiplying each column by following matrix:
|
||||
|
||||
$\begin{pmatrix}
|
||||
2 & 3 & 1 & 1\\
|
||||
1 & 2 & 3 & 1\\
|
||||
1 & 1 & 2 & 3\\
|
||||
3 & 1 & 1 & 2
|
||||
\end{pmatrix}$
|
||||
|
||||
# Chiffrement de grands messages
|
||||
|
||||
## Electronic Code Block
|
||||
|
||||
<p align="center">
|
||||
<img src="./Images/ECB.png">
|
||||
</p>
|
||||
|
||||
The message is split into blocks matching the size of Block-Cipher’s block
|
||||
length. Each block is encrypted with the same key.
|
||||
Pros:
|
||||
- Simplest construction.
|
||||
- Destination can decrypt a specific block without extra computations.
|
||||
- Vulnerabilities?
|
||||
|
||||
# Comment évaluer la sécurité ?
|
||||
|
||||
Propriétés de Sécurité :
|
||||
|
||||
Sans information sur la clé, aucune info du chiffré n'informe d'aucune info du clair. : Sécurité Sémantique
|
||||
|
||||
Adversary capabilities are defined as indistinguishability games:
|
||||
- IND-KPA (known plaintext-attack): adversary sees pairs $(m_i
|
||||
, Enc(m_i))$.
|
||||
- IND-CPA (chosen plaintext-attack): adversary SELECTS messages mi
|
||||
and ASKS an entity to encrypt $m_i$
|
||||
|
||||
- IND-CCA: More information during asymmetric encryption lesson.
|
||||
|
||||
## IND-CPA
|
||||
<p align="center">
|
||||
<img src="./Images/IND-CPA.png">
|
||||
</p>
|
||||
|
||||
Win condition
|
||||
- L'adversaire gagne si : $Pr[b = b'] > 1/2$.
|
||||
- Si Pr[b = b'] = 1/2, alors l'adversaire peut seulement deviner au hasard quel message a été chiffré.
|
||||
- Advantage: $ACPA = |Pr[b = b'] − 1/2| = \in$
|
||||
|
||||
# Intégrité et Authentification
|
||||
|
||||
## Cahier des charges
|
||||
|
||||
- On voudrait un petit bout de code comparé à la donnée à checker.
|
||||
|
||||
- On souhaiterait une robustesse intrinseque aux bitflips.
|
||||
|
||||
- On voudrait qu'il soit impossible de trouver un antécédant du code chiffré à partir de ce petit bout code.
|
||||
|
||||
On parle ici de **codes de contrôles d'intégrité**, ou **fonction de Hash**.
|
||||
|
||||
Propriétés usuelles :
|
||||
|
||||
- En connaissant $h_{m_1} = H(m_1)$, trouver $m_2$ est difficile tel que $H(m_2)=h_{m1}$
|
||||
- Pour un message $m_1$, trouver $m_2$ tel que $H(m_1) = H(m_2)$ est difficile
|
||||
- Trouver $m_1$ et $m_2$ tel que $H(m_1)=H(m_2)$ est difficile.
|
||||
|
||||
# Etude de la sécurité des fonctions de hashage
|
||||
## Est ce que la pire des attaques concernant les fonctions de hashage est la recherche exhausitve
|
||||
|
||||
|
||||
On parle d'attaque annivesaire en lien avec le paradoxe de l'anniversaire.
|
||||
|
||||
## Notation
|
||||
|
||||
Soit $\mathbb{Z}_M -> \mathbb{Z}_H$ une fonction de Hash avec H sorties possibles. On note
|
||||
- p(n;H) la probabilité de trouver au moins une collision après n essais
|
||||
- n(p,H) le nombre d'essais avant de trouver une collision avec une probabilité p.
|
||||
|
||||
## Estimation of p(n; H)
|
||||
- $p(n; H) = \frac{365!}{(365−n)!365^n} \simeq 1 −e^{−n2 /(2H)}$.
|
||||
- (Birthday attack exact formula + application of stirling formula
|
||||
- $(n! \simeq \sqrt{2\pi n}(\frac{n}{e})^n)$
|
||||
+ application of taylor expansion at order 2).
|
||||
Estimation of n(p; H)
|
||||
- $n(p; H) = \sqrt{2H\ln\frac{1}{1−p}} $
|
2
Réseau/TP/tp_ran.md
Normal file
2
Réseau/TP/tp_ran.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
# Installation Réseau
|
||||
|
Loading…
Reference in a new issue