Comment fonctionne le chiffrement des QR Codes ?

Une explication techniquement précise mais accessible de l'architecture zéro-connaissance, du flux cryptographique et des standards utilisés.

Architecture zéro-connaissance

«Zéro connaissance» signifie que l'opérateur de ce service n'a structurellement pas accès à vos contenus chiffrés — même s'il le souhaitait. Toute la cryptographie s'exécute dans votre navigateur via la Web Crypto API, une norme W3C intégrée dans tous les navigateurs modernes.

Votre texte en clair et votre mot de passe ne sont jamais transmis à nos serveurs. Le serveur fournit uniquement les fichiers HTML/CSS/JS — tout le reste fonctionne localement.

Flux de chiffrement Montre comment le texte en clair et le mot de passe sont chiffrés localement dans le navigateur via PBKDF2 et AES-GCM et produits sous forme de QR Code. Texte clair + Mot de passe Navigateur (local) PBKDF2 SHA-256 250 000 itérations AES-GCM 256-bit Web Crypto API Ciphertext ISQR1:salt:iv:ct QR-Code Votre navigateur — aucun transfert de données vers le serveur
Flux de chiffrement : tout se passe localement dans le navigateur.

Spécification cryptographique

Le format ISQR1 est précisément défini pour permettre aux implémentations indépendantes de rester compatibles :

Paramètres techniques du chiffrement ISQR1
ParamètreValeurJustification
Format-PrefixISQR1Versionnement pour les migrations futures
CipherAES-GCM 256-bitStandard NIST, chiffrement authentifié
KDFPBKDF2-SHA-256Protection contre les attaques par force brute
Iterationen250 000Recommandation OWASP 2024 (≥ 210 000)
Salt16 Byte (128 bit)Aléatoire par chiffrement, prévient les rainbow tables
IV / Nonce12 Byte (96 bit)Taille optimale GCM pour l'unicité des nonces
Auth-Tag128 bitProtection de l'intégrité, standard Web Crypto
EncodingBase64urlSûr pour URL, compact, sans + ni /

Le format complet du payload : ISQR1:<salt_b64u>:<iv_b64u>:<ciphertext_b64u>

Cas d'utilisation

  • Partager un mot de passe WiFi

    Les invités scannent le QR sur votre tableau d'affichage. Seulement avec le mot de passe (que vous leur dites oralement) peuvent-ils voir les identifiants WiFi.

  • Transmettre des identifiants d'accès

    Code de coffre-fort, numéro de clé ou mot de passe système — protégé sur papier sans le noter en clair.

  • Informations d'urgence

    Portez une liste de médicaments chiffrée ou des contacts d'urgence dans votre portefeuille. Le mot de passe est détenu par votre médecin.

  • Cartes de visite

    Rendez les coordonnées privées (p. ex. numéro de portable personnel) accessibles uniquement aux personnes sélectionnées.

  • Notes sécurisées

    Apposez de courtes notes mémoire chiffrées sur des documents physiques.

  • Partage de mot de passe

    Partage unique d'un accès — plus sûr qu'en clair par e-mail ou SMS.

QR Code ordinaire vs. QR Code chiffré

QR Code ordinaire vs. QR Code chiffré
Propriété QR Code ordinaire ISQR1 (chiffré)
Contenu lisible sans application Oui, immédiatement Non, mot de passe requis
Confidentialité Aucune AES-256-GCM
Tout lecteur QR utilisable Oui Oui (lien de déchiffrement)
Utilisable hors ligne Oui Après le premier chargement
Intégrité vérifiable Non Oui (GCM Auth-Tag)
Dépendance serveur Aucune Aucune (crypto local)

Questions fréquentes

Quel est le niveau de sécurité du chiffrement ?

Nous utilisons AES-GCM avec des clés 256 bits — le même standard qu'utilisent les banques et les gouvernements du monde entier. La clé est dérivée via PBKDF2 avec 250 000 itérations et un sel aléatoire. Un mot de passe faible est le seul point vulnérable — nous recommandons au moins 12 caractères avec des chiffres et des caractères spéciaux.

istyle.ch peut-il lire mon contenu ?

Structurellement non. Le chiffrement s'exécute entièrement dans votre navigateur via la Web Crypto API. Ni le texte en clair ni le mot de passe ne sont jamais transmis à nos serveurs. C'est le principe zéro-connaissance : même si nous le voulions, nous ne pourrions rien lire.

Que se passe-t-il si j'oublie mon mot de passe ?

Le contenu ne peut pas être déchiffré sans le mot de passe correct — même par nous. Il n'y a pas de récupération de mot de passe ni de clé maîtresse. Conservez le mot de passe en sécurité, par exemple dans un gestionnaire de mots de passe.

Quelles données sont stockées ?

Aucune. Nous ne stockons ni votre contenu, ni le mot de passe, ni le QR Code généré sur nos serveurs. Il n'y a pas de base de données, pas de journaux de contenu, pas de cookies et pas de scripts de suivi sur les pages d'outils.

L'outil fonctionne-t-il hors ligne ?

Une connexion Internet est nécessaire pour charger la page initialement. Puisque la cryptographie s'exécute entièrement dans le navigateur, vous pouvez ensuite utiliser la page depuis le cache du navigateur et chiffrer/déchiffrer sans connexion.

Quelle taille peut avoir le texte chiffré ?

L'outil prend en charge jusqu'à 1 500 caractères en clair. Les QR Codes ont une capacité maximale (Version 40, environ 3 ko), et avec l'encodage Base64 et l'overhead ISQR1 cette limite pratique s'applique. Des textes plus longs donnent des QR Codes très denses qui ne peuvent plus être scannés de manière fiable.

Tout lecteur QR peut-il lire le code ?

Oui — tout lecteur QR standard peut scanner le code. Au format Lien de déchiffrement, le scan ouvre automatiquement ce site web où le mot de passe peut être saisi. Au format brut, vous ne voyez que la chaîne de texte chiffré, qui doit être collée manuellement sur cette page.

Que signifie zéro-connaissance ?

Zéro-connaissance signifie que l'opérateur du service n'a structurellement aucun moyen d'accéder aux données en clair — non pas parce qu'il le promet, mais parce que le système est conçu de telle sorte que c'est techniquement impossible. Le déchiffrement se produit localement ; la clé ne quitte jamais votre navigateur.

Quels navigateurs sont supportés ?

Tous les navigateurs modernes : Chrome 90+, Firefox 90+, Safari 15+, Edge 90+, Opera 76+. La Web Crypto API est une norme W3C implémentée dans tous les navigateurs actuels. Internet Explorer n'est pas supporté.

Puis-je utiliser des caractères spéciaux, des accents et des emoji ?

Oui. Le système utilise l'encodage UTF-8 en interne, ce qui permet de supporter l'ensemble du jeu de caractères Unicode — y compris les accents, les caractères chinois, l'écriture arabe et les emoji.

Le code source est-il consultable ?

Le code JavaScript de chiffrement se trouve sous /assets/js/crypto.js et est directement consultable dans le navigateur (non minifié). La Web Crypto API est un standard W3C ouvert, entièrement documenté sur developer.mozilla.org et auditifiable indépendamment.

Qu'est-ce qui distingue ISQR1 des autres formats ?

Le préfixe ISQR1 permet le versionnement : si un futur standard ISQR2 devient nécessaire (p. ex. pour une KDF plus robuste), les décodeurs peuvent prendre en charge les deux formats en parallèle. Le format contient le sel et l'IV directement dans le payload — aucun stockage externe n'est nécessaire.