Chiffrement de texte côté client pour le web — Simple, rapide et transparent
Installation • Utilisation • Exemples • Sécurité • FAQ
- Qu'est-ce que Crypt3TR ?
- Pourquoi Crypt3TR ?
- Exemple concret : Email Gmail
- Comparaison avec PGP
- Installation
- Configuration
- Utilisation
- Sécurité
- Compatibilité
- FAQ
- Contribution
- License
Crypt3TR est une extension Firefox qui permet de chiffrer et déchiffrer du texte directement dans votre navigateur, sur n'importe quel site web.
Webmail, forum, réseau social, messagerie en ligne, wiki, formulaire… si vous pouvez taper du texte, vous pouvez le chiffrer.
- 🔒 Chiffrement AES‑256‑GCM avec dérivation de clé PBKDF2 (500 000 itérations)
- ⚡ Déchiffrement automatique des messages sur les pages web
- 🖱️ Menu contextuel pour chiffrer/déchiffrer en un clic (clic droit)
- 🌐 Whitelist de domaines pour activer l'extension uniquement où vous le souhaitez
- 📝 Support complet des champs éditables :
<textarea><input>(text, email, password, url, tel, search)- Éléments
contentEditable - Contenus dans certains Shadow DOM (webapps modernes)
- Champs présents dans des iframes sur les domaines autorisés
- 💾 Stockage local sécurisé du mot de passe :
- Mot de passe chiffré avec une clé maîtresse AES‑GCM non extractible
- 🌍 Multilingue (Français / Anglais)
- 🧩 100 % local : aucune collecte de données, aucun serveur, aucun tracking
Vous voulez envoyer un message confidentiel par email, sur un forum ou une messagerie web, mais :
- Les solutions type PGP / GPG sont :
- 🧩 Complexes à configurer (génération de clés, gestion des clés publiques, etc.)
- 🧱 Peu intégrées aux webmails et messageries modernes
- Les solutions “sécurisées” côté serveur demandent souvent :
- Un compte externe
- De faire confiance à un service tiers
Crypt3TR rend le chiffrement aussi simple que :
- 🖱️ Clic droit → “Chiffrement Crypt3TR”
- 📝 Écrivez votre message
- ✉️ Envoyez !
Le destinataire qui possède le même mot de passe et l’extension verra automatiquement le message déchiffré dans son navigateur (sur les domaines autorisés).
Alice veut envoyer un email confidentiel à Bob via Gmail.
Ils partagent un mot de passe commun : MonMotDePasseSecret2024
- Installe l'extension
- Clique sur l'icône Crypt3TR
- Entre le mot de passe :
MonMotDePasseSecret2024 - Ajoute
*.google.comà la whitelist (ou garde la configuration par défaut*.*)
De: alice@example.com
À: bob@example.com
Objet: Réunion confidentielle
Salut Bob,
Le projet secret avance bien. Voici les détails :
- Budget : 50 000 €
- Date de lancement : 15 mars 2025
- Code d'accès serveur : XK9-ZZP-443
On en parle demain ?
Alice
- Clic droit sur la zone de texte du message → "Chiffrement Crypt3TR"
- Elle tape son message, clique sur "OK" et le texte devient instantanément :
[[crypt3tr]]
5SvIzGYc2z7sg1Q44jBLC9D8BDTgNaEbxR45RNOMUUrm2KV43x8TR6ozNpUC1u5qqG7mzDVr7Fmu8nQ8m+xmwUmYwn2r5uWeuVKeEtcU7MKQMUCSb+Ds3mghIKe1BwfkfiEreNHjT6nkfBsBvzRGe9kwGtfNSbolMQF7eduVQItbLJ9UtLoAiEUMtEC5pAJT232UqxM9ZWAlp0mN86hxJywsBpMCUlnNXaSWQEwMIebZSr8VwLWhpfiflQkRhQmJRpa+gLVx2dgBcTMTIhHkeBzgR8paStwfEyGIbWtDqXBtNnw85m8qv9fYsgJmS1KRU+Jhxq0PNWhzAqjCJqKpW0oh8gElApu81vr/VeCdSJwiGXVDdkcDK0jKtQcx/Jx3UhFx7V7BybvCjdzwXOTc0L8aDQPQ4v+yL6Fbwar7RjRQ
[[/crypt3tr]]
Alice clique sur "Envoyer". Gmail envoie le message chiffré.
- Bob ouvre l'email dans Gmail
- Magie ! Crypt3TR détecte automatiquement le message chiffré
- Le texte
[[crypt3tr]]...[[/crypt3tr]]est automatiquement déchiffré - Bob voit le message original en clair :
Salut Bob,
Le projet secret avance bien. Voici les détails :
- Budget : 50 000 €
- Date de lancement : 15 mars 2025
- Code d'accès serveur : XK9-ZZP-443
On en parle demain ?
Alice
✅ Message confidentiel transmis
✅ Serveur et tiers ne voient que du texte chiffré
✅ Expérience transparente pour Bob
✅ Processus simple et rapide pour Alice
| Critère | Crypt3TR | PGP/GPG |
|---|---|---|
| Simplicité | ⭐⭐⭐⭐⭐ Aucune config complexe | ⭐⭐ Génération & gestion de clés |
| Installation | ⭐⭐⭐⭐⭐ Extension Firefox | ⭐⭐ Logiciel + plugin mail |
| Utilisation | ⭐⭐⭐⭐⭐ Clic droit → Chiffrer | ⭐⭐⭐ Souvent manuel ou via plugin |
| Compatibilité | ⭐⭐⭐⭐⭐ Tout site web (webmails, forums, chats) | ⭐⭐ Principalement email |
| Transparence | ⭐⭐⭐⭐⭐ Déchiffrement automatique côté client | ⭐⭐⭐ Variable selon l’intégration |
| Partage de clé | ⭐⭐⭐⭐ Mot de passe partagé | ⭐⭐⭐⭐⭐ Clés publiques/privées |
| Sécurité | ⭐⭐⭐⭐ AES‑256‑GCM, mot de passe unique | ⭐⭐⭐⭐⭐ PKI, signatures, modèles avancés |
👉 Crypt3TR est idéal pour :
- Échanges rapides et confidentiels sur des webmails, forums, chats, wikis
- Partage de codes, accès, notes sensibles
- Des usages “quotidiens” où les autres solutions sont trop lourdes.
👉 PGP reste préférable pour :
- Signature numérique, non‑répudiation
- Environnements réglementés (entreprises, administrations)
- Communications avec des inconnus sans mot de passe partagé
L’extension est disponible sur le store officiel Firefox :
➡️ Page AMO : https://addons.mozilla.org/fr/firefox/addon/crypt3tr/
- Ouvrez le lien ci-dessus dans Firefox
- Cliquez sur “Ajouter à Firefox”
- Validez l’installation
- L’icône Crypt3TR apparaît dans la barre d’outils
Pour tester une version en développement ou modifier le code :
- Cloner le dépôt
git clone https://github.com/TBDwarf/Crypt3TR.git
cd Crypt3TR- Ouvrir Firefox
- Tapez
about:debuggingdans la barre d'adresse - Cliquez sur “Ce Firefox” (This Firefox)
- Charger l'extension en local
- Cliquez sur “Charger un module complémentaire temporaire”
- Sélectionnez le fichier
manifest.jsondans le dossierCrypt3TR
- ✅ L’icône Crypt3TR apparaît dans la barre d’outils
- Cliquez sur l'icône Crypt3TR dans la barre d'outils
- Vérifiez que l’extension est activée
- Définissez votre mot de passe de chiffrement
- Il sera utilisé pour chiffrer/déchiffrer tous vos messages
- 🔐 Choisissez un mot de passe fort et unique (idealement entropie superieur à 80)
⚠️ Partagez-le avec vos correspondants via un canal sécurisé (Signal, IRL, etc.)
- Configurez la whitelist (si besoin)
- Par défaut :
*.*(tous les sites) - Vous pouvez restreindre à certains domaines :
*.google.com *.tuta.com *.protonmail.com *.reddit.com
- Par défaut :
| Paramètre | Description | Valeur par défaut |
|---|---|---|
| Extension activée | Active/désactive Crypt3TR | ✅ Activée |
| Mot de passe | Mot de passe de chiffrement | (vide) |
| Whitelist | Domaines autorisés (wildcards supportés) | *.* |
L’indicateur dans le popup affiche :
- 🔴 Extension désactivée
- 🟢 Activée et mot de passe configuré
- Clic droit → "Chiffrement Crypt3TR"
- Rédigez votre message dans un champ de texte puis "Ok"
- Votre texte est remplacé par
[[crypt3tr]]...[[/crypt3tr]]
- Les messages
[[crypt3tr]]...[[/crypt3tr]]sont automatiquement déchiffrés lors du chargement de la page - Fonctionne sur Webmail, forums, réseaux sociaux, etc.
- Clic droit dans un champ contenant un message chiffré
- "Déchiffrement du message" et modification au besoin.
- Algorithme : AES‑256‑GCM (Galois/Counter Mode)
- Dérivation de clé : PBKDF2 avec SHA‑256
- Itérations PBKDF2 : 500 000
- Salt : 128 bits aléatoires (16 octets)
- IV (Initialization Vector) : 96 bits aléatoires (12 octets)
- Longueur de clé : 256 bits
[[crypt3tr]]<base64(salt || iv || ciphertext)>[[/crypt3tr]]
- salt (16 octets) : utilisé pour la dérivation de clé PBKDF2
- iv (12 octets) : vecteur d’initialisation pour AES‑GCM
- ciphertext+tag : texte chiffré + tag d’authentification GCM
Il est désormais chiffré de manière forte :
-
🧩 Clé maîtresse AES‑GCM non extractible
- Générée via WebCrypto dans
background.js extractable: false→ les bits de la clé ne peuvent pas être exportés- Stockée dans IndexedDB (
crypt3tr-keystore, storekeys, clémasterKey)
- Générée via WebCrypto dans
-
🔐 Chiffrement du mot de passe utilisateur
- Lors de la sauvegarde du mot de passe :
- génération d’un IV aléatoire (96 bits),
- chiffrement du mot de passe avec la clé maîtresse (AES‑GCM),
- concaténation
iv || ciphertext, puis encodage Base64, - stockage dans
browser.storage.local(encryptedPassword).
- Lors de la sauvegarde du mot de passe :
-
🔓 Utilisation pour chiffrer/déchiffrer les messages
- Lors d’un
ENCRYPT_TEXT/DECRYPT_BLOCK:- le background récupère
encryptedPassword, - le déchiffre avec la clé maîtresse,
- dérive une clé de message avec PBKDF2 (salt inclus dans le bloc),
- chiffre ou déchiffre le texte demandé.
- le background récupère
- Lors d’un
-
🧠 Le content-script ne voit jamais le mot de passe en clair :
- Il envoie uniquement :
- du texte brut à chiffrer (
ENCRYPT_TEXT), - des blocs encodés Base64 à déchiffrer (
DECRYPT_BLOCK),
- du texte brut à chiffrer (
- tout le secret (mot de passe, master key) reste dans le contexte de l’extension (background / iframe d’extension), jamais dans le DOM de la page.
- Il envoie uniquement :
Crypt3TR limite au maximum l’exposition de vos secrets au DOM de la page web :
- Le traitement sensible (mot de passe, dérivation de clé, chiffrement/déchiffrement) se fait dans le contexte de l’extension, notamment via une iframe d’extension isolée (
moz-extension://). - Le JavaScript de la page n’a aucun accès direct à cette iframe ni aux variables internes de l’extension.
- Le contenu en clair n’est jamais injecté dans le DOM de la page tant que cela n’est pas explicitement nécessaire (ex. : affichage du message déchiffré dans un champ texte que vous contrôlez).
Cette architecture réduit l’impact d’un site malveillant : il ne peut pas simplement “lire une variable JS” pour récupérer votre mot de passe ou vos clés, car celles‑ci ne vivent jamais dans son contexte d’exécution.
Crypt3TR protège principalement contre :
- La lecture directe de vos messages par le serveur (webmail, forum, etc.) :
- le serveur stocke le bloc chiffré
[[crypt3tr]]...[[/crypt3tr]].
- le serveur stocke le bloc chiffré
- La récupération simple de votre mot de passe à partir du
browser.storage.local:- le mot de passe est chiffré avec une clé maîtresse non extractible.
- L’accès direct au mot de passe ou aux clés par le JavaScript de la page :
- le code du site tourne dans le contexte de la page,
- le code Crypt3TR tourne dans le contexte de l’extension (iframe / background),
- le site ne peut pas introspecter l’iframe d’extension ni lire ses variables internes.
Crypt3TR ne protège pas contre :
- Les keyloggers, malwares ou un système d’exploitation déjà compromis.
- Les autres extensions malveillantes capables de lire ou modifier le DOM.
- Les compromissions locales de votre profil Firefox ou des accès physiques à votre machine.
✅ À faire :
- Utiliser un mot de passe fort et unique :
- au moins 20 caractères, mélange de lettres, chiffres et symboles.
- Partager ce mot de passe via un canal sécurisé :
- Signal, rencontre physique, téléphone chiffré, etc.
- Restreindre la whitelist aux domaines réellement utilisés :
- éviter de laisser
*.*si vous n’en avez pas besoin partout.
- éviter de laisser
- Garder votre système et votre navigateur à jour.
❌ À éviter :
- ❌ Ne pas envoyer le mot de passe par email non chiffré.
- ❌ Ne pas réutiliser un mot de passe déjà utilisé pour vos comptes (email, banque, etc.).
- ❌ Ne pas utiliser Crypt3TR sur des machines publiques ou non fiables.
- ❌ Ne pas stocker votre mot de passe dans un fichier texte non chiffré.
- Les enregistreurs de frappes (keyloggers) et malwares installés sur la machine.
- Les attaques sur le navigateur lui‑même (failles, profil compromis).
- Les autres extensions ayant accès au contenu des pages.
- L’analyse de trafic réseau (métadonnées, taille des messages).
- Les attaques par force brute sur un mot de passe faible.
Pour des besoins de signature, non‑répudiation ou conformité réglementaire stricte, préférez des solutions basées sur des clés publiques/privées (PGP, S/MIME, etc.).
| Navigateur | Version | Support |
|---|---|---|
| Firefox | 60+ | ✅ Complet |
| Site | Type | Compatibilité |
|---|---|---|
| Gmail | Webmail | ✅ Complet |
| Discord | Messagerie | ✅ Complet |
| Messagerie | ✅ Complet |
- ✅
<textarea> - ✅
<input type="text">et variantes (email, url, search, etc.) - ✅ Éléments
contentEditable - ✅ Shadow DOM (webcomponents)
- ✅ Champs texte à l’intérieur d’iframes (si le domaine de l’iframe est autorisé)
Q1 : Mes correspondants doivent-ils installer l'extension ?
Oui, pour déchiffrer automatiquement vos messages, vos correspondants doivent :
- Installer Crypt3TR
- Configurer le même mot de passe que vous
Sinon, ils verront le texte chiffré [[crypt3tr]]...[[/crypt3tr]] qu'ils peuvent déchiffrer manuellement avec un outil compatible.
Q2 : Puis-je utiliser des mots de passe différents avec différentes personnes ?
Non, actuellement Crypt3TR ne supporte qu'un seul mot de passe global. Tous vos correspondants partageront le même mot de passe.
Q3 : Est-ce que Gmail/Google peut lire mes messages ?
Non. Le chiffrement se fait côté client (dans votre navigateur) avant l'envoi. Gmail ne stocke que le texte chiffré [[crypt3tr]]...[[/crypt3tr]].
- Les métadonnées (expéditeur, destinataire, date, sujet)
- La taille approximative du message
- Les pièces jointes non chiffrées
Q4 : Que se passe-t-il si j'oublie mon mot de passe ?
🔴 Il n'y a aucun moyen de récupérer un mot de passe oublié.
- Vos anciens messages chiffrés seront définitivement illisibles
- Vous devrez configurer un nouveau mot de passe et le partager avec vos correspondants
Q5 : Puis-je chiffrer des pièces jointes ?
Non, Crypt3TR ne chiffre que le texte. Les pièces jointes restent en clair.
📌 Solution : Utilisez un outil de chiffrement de fichiers (7-Zip avec AES-256, VeraCrypt, etc.) avant de les joindre.
Q6 : L'extension fonctionne-t-elle hors ligne ?
Oui, le chiffrement/déchiffrement se fait entièrement localement dans votre navigateur. Aucune connexion Internet n'est requise pour ces opérations.
Q7 : Puis-je voir le code source ?
Oui ! Crypt3TR est 100% open source sous licence Apache 2.0. Le code est disponible sur GitHub : https://github.com/TBDwarf/Crypt3TR
Les contributions sont les bienvenues ! 🎉
- 🐛 Correction de bugs
- ✨ Nouvelles fonctionnalités (support multi-mots de passe, etc.)
- 📝 Amélioration de la documentation
- 🔬 Tests et validation sur d'autres sites web
# Cloner le dépôt
git clone https://github.com/TBDwarf/Crypt3TR.git
cd Crypt3TR
# Charger l'extension en mode développement
# Firefox: about:debugging > Charger un module temporaire > manifest.jsonCe projet est distribué sous la Apache License, Version 2.0.
Voir le fichier LICENSE pour plus de détails.
Copyright 2025 TBDwarf
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
- GitHub Issues : https://github.com/TBDwarf/Crypt3TR/issues
Fait avec 🔐 et ❤️ en France
⭐ Si Crypt3TR vous est utile, pensez à mettre une étoile sur GitHub ! ⭐