blob: 7a02850d57b2638ea5abb70e4122db7b29324d01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# Intro
- Ch 1 Intro
- Ch 2 Cryptographie symétrique
- Ch 3 & 4 Cryptographie asymétrique
- Diffie-Hellman, RSA, El Gamal
- logarithme discret
- chiffrement et courbes elliptiques
- protocoles hybrides et TLS
- Post-quantique
# Chapitre 1
```handwritten-ink
{
"versionAtEmbed": "0.3.4",
"filepath": "Ink/Writing/2025.3.5 - 9.26am.writing"
}
```
- Confidentialité
- Authentification des données
- Intégrité (Checksum)
- Non répudiation (signature électronique)
**Crypto is everywhere**
## Encryption symétrique
- Indice de coïncidence
- Principes de Kerckhoffs :
- _Le système doit être matériellement, sinon mathématiquement indéchiffrable._
- _Il faut qu'il n'exige pas le secret, et qu'il puisse sans inconvénient tomber entre les mains de l'ennemi._
- _La clef doit pouvoir être communiquée [...]_
- Enigma (Regarder The Imitation Game)
- **I**nformation **T**echnically **S**ecure
- Chiffrement _parfait_ : Vernam
- Pb 1 : usage unique de la clé
- Pb 2 : clé aussi longue que le message
- Pb 3 : chiffrement optimal dans sa catégorie
### Chiffrement par blocs
Blocs de petite taille (_n_, clé de taille _k_)
Utilisés comme **mode d'opération**
- Electronic Codebook (ECB) mode **do not use** (Vernam avec clé trop courte un peu);
- Cipher-Block Chaining (CBC) mode;
- Output Feedback (OFB) mode;
- Counter (CTR) mode;
- ...
#### Block-cypher
#### Two main techniques
- **Feistel networks**
- **SPN**
#### Structure
Key scheduler -> blocks (_k_<sub>i</sub>)
Première version (IBM) basée sur le **chiffre Lucifer**
**NSA** impliquée (shady)
Standard fédéral aux U.S. <u>novembre 1976</u>
____
#### Feistel diagram
![[{7AB28281-E4F9-4DAA-860B-973E65165911}.png]]
#### Origines AES
- Remplacement de DES
- Triple-DES lent
- US NIST appel en <u>1997</u>
- **Rijndael** sélectionné en <u>octobre 2000</u>
- AES = **SPN** (Substitution-Permutation Network)
#### Substitution-Permutation Network
- **Confusion** & **diffusion**
- Substitution et permutation des blocs
- Assez de tours -> chaque bit d'entrée est diffusé dans tout le réseau
- Processus :
- XOR le bloc avec la clé
- SubBytes :
- Boîte-S définie sur $\mathbb{F}_{256}$
- ShiftRows
- Shift des lignes (0 puis 1 puis 2 shifts...)
- (diffuse sur les lignes)
- MixColumns
- Produit matriciel (diffuse sur les colonnes)
|