Clair
Aussi appelé : Plaintext · Texte clair · Message en clair
Le clair (anglais : plaintext) désigne le message dans sa forme initiale, lisible directement par quiconque connaît la langue d’écriture. C’est le « point de départ » d’une opération de chiffrement et le « point d’arrivée » d’une opération de déchiffrement réussie. Toute la cryptographie tourne autour de cette dualité : transformer le clair en chiffré pour le transport, le rendre à nouveau clair à l’arrivée.
Notation et vocabulaire
Dans la littérature cryptographique, le clair se note traditionnellement P (plaintext) ou M (message). Le chiffré se note C (ciphertext). La clé est notée K. Une opération de chiffrement s’écrit alors C = E(K, P), et son inverse P = D(K, C). Cette notation cache une nuance importante : un clair n’est pas forcément du langage humain. Ce peut être une image binaire, un fichier audio, du JSON, du code source, n’importe quelle séquence d’octets. La cryptographie moderne traite tout en bits ; la frontière clair/chiffré est purement définitionnelle, pas linguistique.
Normalisation : pourquoi le clair n’est pas brut
Sur CipherChronicle, le clair est aussi appelé texte source dans l’atelier de chiffrement. Avant qu’il n’entre dans un chiffre historique, il subit plusieurs transformations qui ne sont pas anodines :
- Suppression des accents : « éclair » devient
ECLAIR. Les chiffres classiques travaillent sur l’alphabet latin de base 26 lettres ; un « é » n’a pas sa case dans la table de César. - Mise en majuscules uniformes — convention de la quasi-totalité des chiffres papier.
- Conservation ou suppression des espaces et ponctuations, selon le chiffre. Vigenère traditionnel les supprime ; les versions pédagogiques modernes les conservent pour rendre le résultat lisible. Atbash et César s’accommodent des deux.
- Découpage en blocs de N caractères pour Playfair (bigrammes), Hill (n-grammes selon la matrice), ADFGVX (paires).
- Padding éventuel : si le clair n’est pas un multiple de N, on ajoute une lettre filler (
Xsouvent) pour compléter le dernier bloc.
Cette normalisation a un coût pédagogique souvent sous-estimé : un solveur qui décode ATTAQUEZALAUBE doit re-segmenter mentalement en ATTAQUEZ A L'AUBE pour comprendre. La solution stockée sur CipherChronicle est toujours la version normalisée — c’est elle qu’on hashe.
Pourquoi le clair fuit dans le chiffré
C’est ici que la cryptographie devient intéressante. Idéalement, le chiffré devrait ressembler à du bruit aléatoire : aucune information sur le clair ne devrait être extractible sans la clé. En pratique, beaucoup de chiffres anciens préservent des propriétés du clair :
- César préserve la longueur, les espaces, et la fréquence des lettres (juste décalées). Une lettre fréquente reste fréquente.
- Vigenère préserve la longueur, mais aplatit la fréquence — c’est pourquoi il a tenu trois siècles.
- Transposition préserve toutes les fréquences à l’identique (on permute les positions, pas les lettres).
- Substitution polygraphique (Playfair, Hill) préserve les fréquences au niveau du n-gramme plutôt que de la lettre individuelle.
Chaque préservation est une fuite. La cryptanalyse classique consiste précisément à exploiter ces fuites. Les chiffres modernes (AES, ChaCha20) ne préservent rien de visible : le chiffré est statistiquement indistingable d’une suite aléatoire.
La règle d’or : le clair n’est jamais stocké
Sur CipherChronicle, le clair n’est jamais stocké en base côté puzzle. Quand un auteur publie une grille, on calcule un hash SHA-256 du clair (préfixé par l’identifiant du puzzle, ce qui empêche les rainbow tables universelles), et on ne stocke que ce hash. Les solveurs comparent leur tentative en local : si SHA-256(tentative + puzzleId) == hashStocké, c’est validé. Côté serveur, personne — pas même les administrateurs de la plateforme — ne peut révéler la solution d’un puzzle après publication.
Cette règle vaut en général. Tout système qui stocke des mots de passe en clair est un système cassé : les fuites de bases de données arrivent, et un mot de passe en clair circule alors immédiatement (plus besoin de cassage). Les bases sérieuses stockent des hashes salés (Argon2, bcrypt, scrypt) — qui sont des dérivés de la même idée.
À retenir :
- Le clair, c’est le message dans sa forme lisible — peut être du texte, mais aussi une image, un fichier, n’importe quelle donnée.
- Notation cryptographique : P ou M pour le clair, C pour le chiffré, K pour la clé.
- La normalisation (majuscules, suppression accents, segmentation) est souvent indispensable pour les chiffres historiques. Elle change la lecture finale du résultat.
- Antonyme : chiffré (ciphertext) — le résultat de l’application du chiffre au clair.
- Règle d’or : un clair sensible (mot de passe, solution de puzzle, secret métier) ne se stocke jamais en clair en base.