Cryptographie

Chiffrement AES-256
expliqué simplement

L'AES-256 est le standard utilisé par les gouvernements, les banques et les services qui protègent les données les plus sensibles. Voici comment il fonctionne, pourquoi il est inviolable, et comment Seecret.it l'utilise.

Définition

Qu'est-ce que l'AES-256 ?

AES signifie Advanced Encryption Standard. C'est un algorithme de chiffrement symétrique standardisé par le NIST américain en 2001, après un concours international qui a vu l'algorithme belge Rijndael l'emporter sur 14 autres candidats.

Le suffixe 256 désigne la longueur de la clé en bits. AES existe en 128, 192 et 256 bits. Plus la clé est longue, plus le chiffrement est résistant aux attaques par force brute.

L'AES-256 est utilisé par :

  • Le gouvernement américain pour ses données classifiées TOP SECRET (depuis 2003)
  • La quasi-totalité des banques et institutions financières
  • iOS, Android et Windows pour le chiffrement de stockage
  • HTTPS / TLS pour sécuriser le web
  • Signal, WhatsApp, ProtonMail pour la messagerie chiffrée
  • 1Password, Bitwarden, KeePass pour les gestionnaires de mots de passe
Sous le capot

Comment fonctionne le chiffrement AES-256 ?

L'AES découpe votre message en blocs de 128 bits (16 octets), puis applique sur chaque bloc une série de transformations mathématiques en 14 tours.

1

SubBytes

Chaque octet est remplacé par un autre via une table de substitution (S-Box) conçue pour résister à la cryptanalyse linéaire.

2

ShiftRows

Les octets sont réorganisés dans une matrice 4×4 pour disperser leur position dans le bloc.

3

MixColumns

Les colonnes de la matrice sont combinées arithmétiquement dans le corps de Galois GF(2⁸).

4

AddRoundKey

Le bloc est combiné par XOR avec une sous-clé dérivée de la clé principale, différente à chaque tour.

Le déchiffrement applique exactement les mêmes opérations en sens inverse, avec la même clé. C'est ce qu'on appelle un chiffrement symétrique.

Robustesse

Pourquoi AES-256 est-il inviolable ?

Une clé de 256 bits, c'est 2^256 combinaisons possibles, soit environ 1,15 × 10^77. Pour donner un ordre de grandeur :

  • Le nombre d'atomes dans l'univers observable ≈ 10⁸⁰
  • Avec un supercalculateur testant 1 milliard de milliards de clés/seconde : 3,6 × 10⁵¹ années
  • L'univers a 1,4 × 10¹⁰ années — soit 40 milliards de fois moins que le temps nécessaire

Même avec les ordinateurs quantiques en théorie, l'AES-256 reste résistant : l'algorithme de Grover divise par 2 la longueur effective de la clé, ramenant la sécurité à 128 bits effectifs, ce qui reste largement hors de portée.

Implémentation

Comment Seecret.it utilise AES-256

Seecret.it utilise AES-256-CBC avec les paramètres suivants :

  • Clé de 256 bits générée aléatoirement pour chaque seecret via WebCrypto
  • Vecteur d'initialisation (IV) de 128 bits, aléatoire et unique
  • Mode CBC (Cipher Block Chaining)
  • Chiffrement côté client, le serveur ne voit jamais les données en clair
  • Clé intégrée au fragment d'URL (#) qui n'est jamais transmis au serveur

Même si la base de données Seecret.it était entièrement compromise, aucun secret ne pourrait être lu. C'est le modèle zero-knowledge.

Exemple concret

La magie du fragment d'URL

Quand vous créez un seecret, le lien généré ressemble à :

https://seecret.it/abc123#7f8a9b2c4d5e6f1a2b3c4d5e6f7a8b9c

La partie avant le # est l'identifiant du seecret côté serveur. La partie après le # est la clé de déchiffrement. La spécification HTTP est très claire : la partie fragment n'est jamais envoyée au serveur.

Quand le destinataire clique sur le lien :

  1. Son navigateur charge la page seecret.it/abc123 (sans la clé)
  2. Le serveur renvoie le contenu chiffré stocké en base
  3. Le JavaScript du navigateur récupère la clé dans window.location.hash
  4. Le contenu est déchiffré localement dans le navigateur
  5. Le seecret est marqué comme consulté et supprimé côté serveur

Le serveur n'a donc jamais connu la clé. Même un journaliste, un employé malveillant ou un piratage de la base ne pourraient pas reconstituer le contenu.

FAQ

Questions fréquentes sur AES-256

Non, aucune attaque cryptographique pratique connue ne permet de casser l'AES-256. Les seules attaques publiées concernent des implémentations défaillantes (side-channel, timing attacks), pas l'algorithme lui-même.

L'AES-128 est déjà considéré comme inviolable pour les décennies à venir. L'AES-256 offre une marge supplémentaire face aux ordinateurs quantiques. Seecret.it utilise AES-256 par principe de précaution.

CBC (Cipher Block Chaining) chiffre par blocs avec chaînage. GCM (Galois/Counter Mode) ajoute une authentification intégrée. Les deux sont sûrs ; CBC nécessite une vérification d'intégrité séparée (HMAC). Seecret.it utilise CBC + vérification HMAC pour la rétro-compatibilité avec tous les navigateurs.

L'algorithme quantique de Grover réduirait la sécurité d'AES-256 à environ 128 bits, ce qui reste largement hors de portée pratique. AES-256 est considéré comme post-quantique safe pour les décennies à venir.

Oui. Le code JavaScript de chiffrement s'exécute dans votre navigateur. Vous pouvez l'inspecter via les outils développeur (F12 → Sources → seecret.js). C'est la transparence garantie par le modèle zero-knowledge.

Profitez de la puissance d'AES-256 dès maintenant

Gratuit, sans inscription. Vos secrets sont chiffrés avant d'être envoyés.

Créer mon premier lien chiffré