diff --git a/content/slides/privacy/images/tor/300px3.png b/content/slides/privacy/images/tor/300px3.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e092c93d86465deb7deea5af6e03abb32cfe02f
Binary files /dev/null and b/content/slides/privacy/images/tor/300px3.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step1.png b/content/slides/privacy/images/tor/HS-Step1.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f8f71ca8acf8b958e2448e8885fb4d63a22c688
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step1.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step2.png b/content/slides/privacy/images/tor/HS-Step2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f59fcaead99043205e085afb5572688220173d73
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step2.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step3.png b/content/slides/privacy/images/tor/HS-Step3.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca7deab360f258e7406582ccce75a0827bb22e83
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step3.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step4.png b/content/slides/privacy/images/tor/HS-Step4.png
new file mode 100644
index 0000000000000000000000000000000000000000..389817f6c7a1cb9a583aa07960935035589312ea
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step4.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step5.png b/content/slides/privacy/images/tor/HS-Step5.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f617e94ac2edb9c4fa7a4cca8d0d6761cc838c7
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step5.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step6.png b/content/slides/privacy/images/tor/HS-Step6.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e39279c15b87dde65d99f2e93ef00052db227f6
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step6.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step7.png b/content/slides/privacy/images/tor/HS-Step7.png
new file mode 100644
index 0000000000000000000000000000000000000000..fd374c9f97431f010d7a23605826ba4e95024c19
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step7.png differ
diff --git a/content/slides/privacy/images/tor/HS-Step8.png b/content/slides/privacy/images/tor/HS-Step8.png
new file mode 100644
index 0000000000000000000000000000000000000000..17bcc61663eb3def551b3cd01daaa766552821d2
Binary files /dev/null and b/content/slides/privacy/images/tor/HS-Step8.png differ
diff --git a/content/slides/privacy/images/tor/tor-circuit.png b/content/slides/privacy/images/tor/tor-circuit.png
new file mode 100644
index 0000000000000000000000000000000000000000..320ae365d0953cadc51f19ad8e810d491d7c9fc6
Binary files /dev/null and b/content/slides/privacy/images/tor/tor-circuit.png differ
diff --git a/content/slides/privacy/md/tor.md b/content/slides/privacy/md/tor.md
index a38b5349ff0d8bef22d88212e905816d30c1cb27..7ddf67f2cb6a47501990879e274a551cea8dc042 100644
--- a/content/slides/privacy/md/tor.md
+++ b/content/slides/privacy/md/tor.md
@@ -69,7 +69,12 @@ Some websites restrict allowances through Tor.
 * crime organisé
 
 
+## Tor en stats
+
 https://metrics.torproject.org/
+https://torflow.uncharted.software/#?ML=34.98046875,31.12819929911196,3&C=ru,RUS
+[Tor relays map](https://torflow.uncharted.software)
+[Tor est lent](https://svn.torproject.org/svn/projects/roadmaps/2009-03-11-performance.pdf)
 
 
 ## Tor Browser
@@ -93,46 +98,244 @@ https://metrics.torproject.org/
 ### :fa-exclamation-circle: quelle confiance avez vous en votre OS?
 
 
+## How Tor works
+
+protège toujours le client
+
+* ne protège pas le serveur sur le web de surface  
+  * correspondance DNS / IP
+* les hidden services ou "services cachés" sont stockés "dans" Tor
+  * sont donc protégés
+  * mais ne sortent pas de Tor
+
+
+## How Tor works
+
 ![How tor works](https://i.stack.imgur.com/XhXQa.png)
 
-* seul le premier noeud connait alice
+* seul le noeud d'entrée connait alice
   * il ne connait pas bob
-* seul le dernier noeud connait bob
+* seul le noeud de sortie connait bob
   * il ne connait pas alice
   	* il voit le contenu de la requête
 
 
-Le noeud d’entrée
-   Noeud Gardien
-   Bridge
-Le noeud intermédiaire
-Le noeud de sortie
+## Tor 3 types de relais
+
+* noeud d’entrée (NE)
+   * noeud Gardien (NG)
+   * bridge (NB)
+* noeud intermédiaire (NI)
+* Le noeud de sortie (NS)
+
+* https://metrics.torproject.org/relayflags.html?start=2017-10-25&end=2018-01-23&flag=Running&flag=Exit&flag=Fast&flag=Guard&flag=Stable&flag=HSDir
+
+
+## Circuit Tor
+
+entrée / intermédiaire / sortie
+
+* contrôler le noeud d'entré et le noeud de sortie d'un circuit
+  * permet de désanonymiser ce circuit
+
+* les circuits sont renouvelés toutes les 10 minutes
+  * le noeud d'entrée lui ne change que tous les 2 à 3 mois
+    * [Minimise la probabilité d'utiliser de manière cumulative des circuits compromis](https://www.freehaven.net/anonbib/cache/wpes12-cogs.pdf)
+
+
+## Noeuds d'entrée
+
+* noeuds Gardien
+  * liste d'IPs publiques
+    * connus des FAI
+      * bloquables
+
+* noeuds bridges
+  * liste secrète
+    * [distribuer au compte gouttes](https://bridges.torproject.org/bridges)
+
+* [servers by flags](https://metrics.torproject.org/relayflags.html)
+
+* [héberger des noeuds Tor](https://www.torproject.org/docs/tor-doc-relay.html.en) peut être [une bonne idée](http://www.zdnet.fr/blogs/50-nuances-d-internet/le-darkweb-est-il-en-voie-de-disparition-39859066.htm)!
+
+
+
+## Noeuds gardien
+
+https://www.dan.me.uk/tornodes ou https://atlas.torproject.org/#search/flag:Guard ou https://torstatus.blutmagie.de/
+
+```
+grep -B2 "^s.*Guard" /var/lib/tor/cached-microdesc-consensus | grep "^r" | awk '{print $6 ":" $7}'
+```
+
+```
+4484.0298.4949.1082|ServerName|443|80|GFHRSDV|259492|Tor 0.2.9.10|
+```
+
+
+## Politique de gestion des cirtcuits
+
+
+
+## autorités d’annuaire
+
+* https://atlas.torproject.org/#search/flag:authority
+  * "maintained by super trusted we-know-you-and-have-had-many-beers-with-you Tor volunteers"
+* IP codées en dures dans les clients Tor
+  * votes toutes les heures pour trouver un consensus sur la liste des relais à diffuser
+
+
+## consensus
+
+* les relais envoie leurs infos au autorités d'annuaire
+* les autorités compilent indépendament ces informations et évaluent chaque relais
+  * passer Guardian ou BadExit par exemple
+* vote pour obtenir un consensus (une liste commun
+* publier le consensus
+
+
+## Sur le web de surface
+
+* HTTP tout passe en claire
+* HTTPS, les données et l'url de la requête sont chiffrées
+  * l'IP du site consultée est traçable
+  * la requête DNS du client trahie le nom de domaine
+
+
+## Avec Tor sur le web de surface
+
+* télécharger le consensus
+* sélectionner un circuit Tor aléatoirement
+* récupérer les clés publiques de chaque noeuds du circuit sur un serveur de clé
+
+## Avec Tor sur le web de surface
+
+* Handshake avec le **NE**
+  * le **NE** signe le handshake avec sa clé privée (RSA 1024 à date)
+  * le client vérifie la signature du **NE** avec la clé publique récupérée
+  * négociation d'une clé de session **KE** (pour le chiffrement symétrique) via Diffie Hellman
+
+
+* Handshake avec le **NI** au travers du canal chiffré établi avec le **NE**
+  * le client envoie une demande de connexion au **NE** à transmettre au **NI* (chiffré avec **KE**)
+  * le **NE** déchiffre la demande de connexion et la transmet au **NI**
+  * le **NI** signe le handshake avec sa clé privée (RSA 1024 à date) et l'envoie au **NE**
+  * le **NE** transmet au client (chiffré avec la **KE**)
+  * le client déchiffre le message du **NE** avec **KE** et vérifie la signature du **NI** avec la clé publique récupérée
+  * négociation d'une clé de session **KI** (pour le chiffrement symétrique) via Diffie Hellman avec le **NI** en passant par le canal chiffré établi avec le **NE** chiffré avec **KE**
+
+Le client a établi un canal chiffré avec le **NI** sans que le **NI** connaisse son ip
+
+* Handshake avec le **NS** au travers du canal chiffré établi avec le **NE**, puis celui établi avec le **NI**
+  * le client envoie une demande de connexion chiffrée 2 fois avec **KE** et **KI** et l’envoie au **NE**
+  * le **NE** déchiffre la première couche avec **KE** et envoie le résultat (chiffré avec **KI** au **NI**)
+  * le **NI** déchiffre avec **KI** et transmet au **NS**
+  * le **NS** signe et renvoie au **NI**
+  * le **NI** chiffre avec **KI** et envoie au **NE**
+  * le **NE** chiffre avec **KE** et renvoie au client
+  * le client déchiffre avec **KE** puis **KI** et vérifie la signature  du **NS** avec la clé publique récupérée
+  * négociation d'une clé de session **KS** (pour le chiffrement symétrique) via Diffie Hellman avec le **NS** en passant par le canal chiffré établi avec le **NI** chiffré avec **KI**, puis par le canal chiffré établi avec le **NE** chiffré avec **KE**
+
+Le client a établi un canal chiffré avec le **NS** sans que ni le **NI** ni le **NS** ne connaissent son ip
+
+Il peut envoyer une requête http dans ce canal en onion
+
+Ce n'est plus le client qui émet la requête DNS mais le **NS**
+
+le **NS** transmet la requête au serveur et
+
+renvoie ensuite la réponse chiffrée successivement avec **KS**, **KI**, **KE**, au **NI**
+
+[![Tor circuit](images/tor/tor-circuit.png)](https://tor.stackexchange.com/questions/1932/does-exit-node-encrypt-three-times-for-the-return-path-to-local-machine)
 
-protège toujours le client
-* pas le serveur sur le web de surface  
-  * correspondance DNS / IP
-* les hidden services ou "services caché" sont stockés dans Tor
-  * donc protégés
-  * ne sortent pas de Tor
 
----
 ## Tor / HTTPS
 
 ![Tor avec HTTPS](https://cloud.m4z3.me/index.php/s/rywwyShzrwgLbrA/download)
 
----
 
-## [Tor côté serveur](https://benjamin.sonntag.fr/Tor-les-onion-le-darknet-a-votre-portee)
+## hidden service
+
+* .onion
+  * via client Tor
+
+* [Tor côté serveur](https://benjamin.sonntag.fr/Tor-les-onion-le-darknet-a-votre-portee)
 
 * système d'adressage basé sur des clés de chiffrement RSA
 	* protège l'IP du serveur
+    * c'est une protection contre le DDoS
     	* [quoique](https://donncha.is/2013/05/trawling-tor-hidden-services/)
+
+* éablissement de quelques cricuits Tor
+  * les noeuds de sortie de ces circuits sont sollicités pour jouer le rôle de points d'introductions (PI) pour le HS
+
+HS > NE > NI > NS (PI)
+
+* le HS publie un descripteur contenant sur un HSDir
+  * Les IP des points d'introduction[8]
+  * La clé publique du service caché[8]
+  * La signature des deux éléments précédents, faite avec la clé privée correspondante
+
+HS > NE > NI > NS (HSdir)
+
+  * les HSDir sont des noeuds spéciaux
+    * partage une DHT de descripteur de HS
+
+* le client télécharge le consensus
+  * réupcère des IP de HSDir
+    * les interroge via des circuits Tor
+      * récupère le descriptetur et vérifie la signature
+
+client > NE > NI > NS (HSdir)
+
+* le client peut alors contacter les points d'introduction
+
+* le client crée un circuit Tor
+    * le noeud de sorti sera le point de rendez vous
+      * auquel le client communique un secret
+        * pour authentifier le HS
+
+client > NE > NI > NS (RdV)
+
+* le client crée un circuit Tor vers un des points d'introduction envoie
+  * l'IP du rendez vous (descripteur en provenance du HSDir)
+  * la première partie d'un échang de clé Diffie Hellmann
+  * le secret communiqué au point de rendez vous
+
+
+Le tout chiffré avec la clé publique du HS (descripteur en provenance du HSDir)
+
+relayé par le cricuit Tor entre PI et HS
+
+client > NE1 > NI1 > NS1 > PI > NI2 > NS2 > HS
+
+* les HS contact le point de RendezVous
+  * envoie le secret qu'il a reçu du client
+    * authentification du HS
+      * il est bein le possesseur de la clé publique du descripteur puisqu'il a déchiffré le secret
+
+* fin de l'échange DH entre client et HS
+  * un secret de communication est établi
+
+
+client > NE1 > NI1 > NS1(Rdv) > NE2 > NI2 > NS2 > HS
+
+
+https://svn.torproject.org/svn/projects/design-paper/tor-design.html#sec:rendezvous
+https://www.torproject.org/docs/onion-services
+
+
 * [installer un service en .onion](https://benjamin.sonntag.fr/Tor-les-onion-le-darknet-a-votre-portee)
 
-* [héberger des noeuds Tor](https://www.torproject.org/docs/tor-doc-relay.html.en) peut être [une bonne idée](http://www.zdnet.fr/blogs/50-nuances-d-internet/le-darkweb-est-il-en-voie-de-disparition-39859066.htm)!
-	* [Tor relays map](https://torflow.uncharted.software)
 
----
+## hidden Service
+
+* demande https://github.com/radii/tor/blob/master/doc/spec/rend-spec.txt#L247
+
+
+* HSDIR
+
+
 
 ## Trouver des .onion
 
@@ -160,3 +363,13 @@ vm et version de la clé synchrones
 * https://github.com/katmagic/arm
 
 * https://tox.chat/
+
+## Tor over VPN
+
+## docs
+
+https://github.com/radii/tor/blob/master/doc/spec/rend-spec.txt à lire
+
+https://www.torproject.org/docs/faq.html.en#WhySlow
+https://en.wikipedia.org/wiki/Tor_(anonymity_network)#cite_note-42
+https://www.freehaven.net/anonbib