Skip to content

Commit

Permalink
Update presentation
Browse files Browse the repository at this point in the history
  • Loading branch information
cestef committed Dec 29, 2022
1 parent f9c4f1f commit 2a04c47
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 33 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added presentation/images/diagrams/alice-bob.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added presentation/images/lock.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added presentation/images/lock_key.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
84 changes: 51 additions & 33 deletions presentation/src/deck.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ fun main() {

---

# Kotlin
## Kotlin

* Développé par JetBrains
* Similaire au Java
Expand All @@ -99,7 +99,7 @@ fun main() {

---

# Bluetooth Low Energy
## Bluetooth Low Energy

* Créé par Nokia en 2006
* Basé sur le Bluetooth
Expand All @@ -120,7 +120,7 @@ fun main() {

---

# SQLite
## SQLite

* Permet le stockage de données dans un fichier
* Requêtes SQL
Expand All @@ -142,12 +142,15 @@ fun main() {

---

# SQLCipher
## SQLCipher

* Chiffrement AES-256
* Transparent pour l'utilisateur
* Facile à intégrer

![bg right 60%](../images/lock.png)


---

# Technologies utilisées
Expand All @@ -160,19 +163,22 @@ fun main() {

- :lock: SQLCipher

- :closed_lock_with_key: RSA-2048 + AES-256
- :closed_lock_with_key: RSA-2048 + AES-256

---

# RSA-2048 + AES-256
## RSA-2048 + AES-256

* Asymétrique (RSA)
* Limite de données
* Symétrique (AES)
* Pas de limite de taille

![bg right 60%](../images/lock_key.png)

* Chiffrement asymétrique (RSA)
* Limite la taille des données à 256 octets (2048 bits)
* Chiffrement symétrique (AES)
* Pas de limite de taille (chiffrement par blocs)
---

# Procédure de chiffrement
## Procédure de chiffrement

### **Bob** envoie un message à **Alice**

Expand All @@ -183,7 +189,7 @@ fun main() {

---

# Procédure de déchiffrement
## Procédure de déchiffrement

### **Alice** reçoit un message de **Bob**

Expand All @@ -202,13 +208,13 @@ fun main() {

- :lock: SQLCipher

- :closed_lock_with_key: RSA-2048 + AES-256
- :closed_lock_with_key: RSA-2048 + AES-256

- :package: MessagePack

---

# MsgPack
## MsgPack

* Compact et rapide
* Concurrence le JSON
Expand All @@ -225,27 +231,27 @@ fun main() {

---

# Quantité de données par tranmission
## Quantité de données par tranmission

* :x: 512 octets (BLE) (-10 octets pour l'en-tête)
* :white_check_mark: Séparation des messages en plusieurs morceaux

---

# En-tête d'un morceau
## En-tête d'un morceau

![](../images/diagrams/chunk-dark.png)

---

# Quantité de données par tranmission
## Quantité de données par tranmission

- :x: 502 octets (BLE)
- :white_check_mark: Séparation des messages en plusieurs morceaux

---

# Séparation des messages
## Séparation des messages

$$
\begin{aligned}
Expand All @@ -259,12 +265,13 @@ $$

---

# Exemple
## Exemple

## **Elon** veut envoyer le script entier de Shrek à **Jeff**
### _(54'350 octets)_
### **Elon** veut envoyer le script entier de Shrek à **Jeff**
#### _(54'350 octets)_
---


$$
\begin{aligned}
n &= \lceil \frac{T}{c} \rceil \\
Expand All @@ -276,30 +283,30 @@ $$

---

# <!--fit--> **Elon** doit donc envoyer 109 morceaux.
# <!--fit--> **Elon** doit donc envoyer **109** morceaux.

---

## Avec une vitesse de transmission de ~**20** morceaux par seconde, cela prendra ~**5** secondes.

---

# Identifiant d'utilisateur
## Identifiant d'utilisateur

* :x: `7092b805-e3b1-4a86-bc0a-df80ed89a9c4`
* :white_check_mark: `awesome-unicorn-420`

---

# Il fallait qu'il soit...
## Il fallait qu'il soit...

* :brain: Facile à retenir
* :keyboard: Facile à taper
* :speech_balloon: Facile à communiquer

---

# Format d'un identifiant
## Format d'un identifiant

### **1 adjectif** + **1 nom** + **3 chiffres**

Expand All @@ -309,7 +316,7 @@ $$

---

# Probabilité de collision
## Probabilité de collision

$$
\begin{aligned}
Expand All @@ -326,6 +333,10 @@ $$

---

# Amélioration du Developer Experience (DX)

---

# Évaluation

* 3 scénarios
Expand All @@ -334,36 +345,42 @@ $$

---

# Scénario 1
## Scénario 1

## **Alice** envoie un message à **Bob**
### **Alice** envoie un message à **Bob**

#### (one-to-one)

![bg right 75%](../images/diagrams/alice-bob.png)

---

![](../images/diagrams/one-to-one-dark.png)

---

# Scénario 2
## Scénario 2

## **Alice** envoie un message à **Bob** et **Charlie**
### **Alice** envoie un message à **Bob** et **Charlie**

#### (one-to-many, broadcast)

![bg right 75%](../images/diagrams/alice-bob+charlie.png)

---

![](../images/diagrams/one-to-many-dark.png)

---

# Scénario 3
## Scénario 3

## **Alice** envoie un message à **Bob**, en passant par **Charlie**
### **Alice** envoie un message à **Bob**, en passant par **Charlie**

#### (one-to-one, relayed)

![bg right 90%](../images/diagrams/alice-bob-charlie.png)

---

![](../images/diagrams/one-to-one-relayed-dark.png)
Expand All @@ -373,6 +390,7 @@ $$
# Conclusion



---

# <!--fit--> Démonstration « live »
Expand All @@ -383,4 +401,4 @@ $$

---

# <!--fit--> Merci !
# <!--fit--> Merci !

0 comments on commit 2a04c47

Please sign in to comment.