On recense les premières traces de chiffrement symétrique vers 1500 av. JC, en Mésopotamie. 🥐

Aujourd'hui, on utilise le chiffrement symétrique dans notre vie numérique, souvent sans le savoir. Mais comment ça fonctionne exactement ? 🧵
#dev #code #infosec
Le chiffrement symétrique, même le plus basique, est basé sur deux outils : Un algorithme de chiffrement / déchiffrement, et une clé. 🔑

Prenons l'exemple d'une discussion entre deux personnes 👇
1️⃣Les participants d'une discussion se mettent d'accord sur un algorithme de chiffrement commun (souvent inhérent au système utilisé pour communiquer).
2️⃣L'un des participants génère une clé, qu'il ne va distribuer qu'aux autres participants à la discussion, de manière discrète (mais non sécurisée).
3️⃣Une fois la clé reçu, chaque message sera chiffré en utilisant l'algorithme couplé à la clé, et déchiffré de la même manière, de sorte à ce qu'uniquement les participants ayant accès à la clé puissent lire et envoyer des messages.
L'équivalent de ces trois étapes en image :
Il existe trois grandes familles d’algorithmes de chiffrement symétrique :

- Substitution mono-alphabétique (1 lettre pour 1 lettre)
- Substitution poly-alphabétique (1 lettre pour x lettre selon la position)
- Permutation (inversion de lettres)
Chaque famille algorithmique a ses faiblesses, mais en couplant Permutation + Substitution poly-alphabétique, on obtient des résultats bien meilleurs. 👌

C'est par exemple la méthode algorithmique derrière le système de chiffrement AES (utilisé sur HTTPS).
Pour finir, le chiffrement symétrique possède des avantages et inconvénients :

C'est une méthode performante et solide, mais le partage de la clé est un point sensible. C'est pourquoi il est parfois couplé à du chiffrement asymétrique pour le partage de cette dernière ! 🧙‍♂️
Si ce sujet vous intéresse, vous pouvez partager le dernier épisode du podcast de Code-Garage, consacré au chiffrement symétrique ! 👇

code-garage.fr/episode-20/

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Nicolas Brondin-Bernard 💻

Nicolas Brondin-Bernard 💻 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @NicolasBrondin

Apr 13
Savez-vous pourquoi les numéros de versions des dépendances logicielles sont toutes notées sous la forme "1.3.14" ?

C'est une convention qu'on appelle le "Semantic Versioning", et chaque chiffre a son importance ! 🧵
#code #dev #software #versioning
L'objectif du Semantic Versioning (ou SemVer) est de donner un numéro unique à chaque nouvelle version d'un logiciel. ✨

Un identifiant minimal de version qui ressemble à 0.0.1 se lira tout simplement MAJOR.MINOR.PATCH
Le numéro "MAJOR" est le plus critique, c'est le seul qui indique une évolution de l'API tellement importante que la rétrocompatibilité n'est plus assurée 😱
Read 6 tweets
Apr 11
Si vous connaissez les Promise en Javascript, vous avez forcément entendu parlé des directives async/await.

Mais savez-vous exactement leur fonctionnement, leur utilité et leur impact sur le code ? 🧵
#dev #code #web #javascript #nodejs
L'avantage d'une promesse, c'est de pouvoir normaliser le retour d'une fonction asynchrone.

Et donc d'offrir une API pour traiter ces retours avec des fonctions comme .then(), .catch(), Promise.all(), etc... et de pouvoir les chainer. 🔗
Mais parfois, on aimerait simplement pouvoir traiter ces appels asynchrones de manière synchrone plus simplement qu'en enchainant les .then() par exemple.

Voilà pourquoi il existe les directives async/await ! 👇
Read 6 tweets
Mar 30
Quand on débute avec Javascript, la gestion de l'exécution asynchrone peut être compliqué à comprendre.

Alors on nous parle de "Promise" (ou promesse) à longueur de temps, mais c'est quoi, simplement, une Promise ? 🧵

#dev #code #javascript #web
La première question que l'on se pose c'est: "Quelle différence avec les callbacks" ?

Et la réponse est : "Une promise est simplement un ensemble de callbacks 'normalisés' !" 🤯

Je m'explique.
Un callback est une fonction qui va être exécutée à la fin d'un traitement asynchrone.

Sauf que selon les choix d'implémentation, un callback peut prendre 1, 2, 3 paramètres, ou alors on peut passer 1, 2, 3 callbacks différents pour gérer le succès, les cas d'erreurs, etc... 🥵
Read 5 tweets
Mar 28
Dans la majorité des documentations et des tutoriels (Github notamment), on peut lire la commande suivante :

👉 git push -u origin master

Mais savez-vous à quoi sert le paramètre "-u" optionnel exactement ? 🧵
#git #dev #code
-u est le raccourci pour le paramètre --set-upstream, qui comme son nom l'indique, initialise l'upstream de la branche locale.

Oui mais, ça veut dire quoi ? 🤔
L'upstream, c'est la branche de "référence" (ou source) sur un dépôt distant.

Lorsque l'on initialise l'upstream, cela revient à créer un "lien" entre votre branche locale courante avec la branche distante. 🔗
Read 5 tweets
Mar 14
Je suis en télétravail régulier depuis 2016, et à temps plein depuis 2018, voici 7 conseils tirés de mon expérience pour mieux travailler à distance 🧵

#dev #remote #teletravail #conseils
1 - Se forcer à garder un rythme de travail sain

Se lever à 9h29 pour commencer sa journée à 9h30 (et ça peut arriver de temps en temps) est tentant, mais ce n'est pas viable à long terme.
2 - Habillez-vous (même avec le strict minimum)

Croyez-moi, une vision-conférence en urgence ou un livreur inopiné vont vous faire regretter de ne pas avoir pris le temps d'enfiler quelque chose de simple, confortable mais surtout présentable.
Read 9 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(