add SDi semester 6 (#26)
No files matched your search
@@ -13,6 +13,8 @@
|
||||
- [IOT Technologies](/infotro/SDi/iot_technologies.md)
|
||||
- [Protocol development](/infotro/SDi/protocol_development.md)
|
||||
- [Bluetooth](/infotro/SDi/bluetooth.md)
|
||||
- [Database](/infotro/SDi/database.md)
|
||||
- [Information Security](/infotro/SDi/security.md)
|
||||
|
||||
## [Eln - Électronique](/infotro/Eln/)
|
||||
- [AD/DA](/infotro/Eln/ADDA)
|
||||
|
||||
@@ -5,4 +5,6 @@ SDi - Système Distribué
|
||||
- [Transmission process](/infotro/SDi/transmission_process.md)
|
||||
- [IOT Technologies](/infotro/SDi/iot_technologies.md)
|
||||
- [Protocol development](/infotro/SDi/protocol_development.md)
|
||||
- [Bluetooth](/infotro/SDi/bluetooth.md)
|
||||
- [Bluetooth](/infotro/SDi/bluetooth.md)
|
||||
- [Database](/infotro/SDi/database.md)
|
||||
- [Information Security](/infotro/SDi/security.md)
|
||||
|
After Width: | Height: | Size: 154 KiB |
@@ -0,0 +1,30 @@
|
||||
<header><h1>
|
||||
Database
|
||||
</h1></header>
|
||||
|
||||
[Lab about databases and SQL](/infotro/SDi/labs/database/README.md).
|
||||
|
||||
# Relational database
|
||||
Lorsque l'on fait une database, on peut représenter des objets de 3 manières différentes :
|
||||
1. Avec des valeurs `NULL`:
|
||||
- Une table pour tous les attributs de la classe parents et tous les enfants.
|
||||
- Les attributs des enfants qui ne sont pas dans la table sont `NULL`.
|
||||
<br>
|
||||
2. En style Orienté Objet:
|
||||
- Une table pour chaque classe.
|
||||
- Chaque table a seulement ces attributs spécifiques.
|
||||
- Les tables sont liées par des clés étrangères.
|
||||
<br>
|
||||
3. En style Relationnel:
|
||||
- Une table pour chaque classe.
|
||||
- Chaque table à tous les attributs de la classe parente et de l'enfant.
|
||||
<br>
|
||||
|
||||
## Clés
|
||||
- **Clé primaire** : identifie de manière unique une ligne dans une table (colonne unique ou combinaison unique).
|
||||
- **Clé étrangère** : référence sur une clé primaire d'une table.
|
||||
|
||||
## Suppression
|
||||
- **NO ACTION** : empêche la suppression si des lignes sont liées.
|
||||
- **SET NULL** : met à `NULL` les valeurs liées.
|
||||
- **CASCADE** : supprime les lignes liées.
|
||||
|
After Width: | Height: | Size: 148 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 61 KiB |
@@ -0,0 +1,49 @@
|
||||
<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
|
||||
@@ -9,6 +9,8 @@
|
||||
* [IOT Technologies](/infotro/SDi/iot_technologies.md)
|
||||
* [Protocol development](/infotro/SDi/protocol_development.md)
|
||||
* [Bluetooth](/infotro/SDi/bluetooth.md)
|
||||
* [Database](/infotro/SDi/database.md)
|
||||
* [Information Security](/infotro/SDi/security.md)
|
||||
* [Eln - Électronique](/infotro/Eln/)
|
||||
* [AD/DA](/infotro/Eln/ADDA)
|
||||
* [Signaux et échantillonnage](/infotro/Eln/SignauxEtEchantillonnage)
|
||||
|
||||