Codage et théorie de l'information

Sommes de contrôle, hachages et bits de parité

Trois outils qui détectent les erreurs de données, du simple bit de parité aux hachages cryptographiques. Ce qu'ils font et en quoi ils diffèrent.

Les bits de parité, les sommes de contrôle et les hachages cryptographiques sont trois outils permettant de détecter les erreurs de données — mais ils remplissent des rôles très différents. Comprendre ce que chacun détecte (et ce qu'il ne peut pas détecter) dissipe une confusion étonnamment répandue sur le fonctionnement réel de l'intégrité numérique.

Tous reposent sur le même réflexe : ajouter un peu d'information à vos données pour pouvoir ensuite se demander « est-ce arrivé intact ? ». Mais un bit de parité, une somme de contrôle et un hachage SHA-256 se situent à des points très différents sur l'échelle de la puissance et de la finalité. Faisons connaissance avec chacun, voyons ce qu'il détecte, et plaçons-les côte à côte. 🐾

Qu'est-ce qu'un bit de parité ?

Un bit de parité est le contrôle d'erreur le plus simple qui soit : un unique bit supplémentaire ajouté à un groupe de bits pour que le nombre total de 1 soit toujours pair (parité paire) ou toujours impair (parité impaire). L'émetteur compte les 1, règle le bit de parité pour que le compte respecte la règle choisie, et l'envoie avec les données.

Le récepteur compte à nouveau. Si le compte enfreint la règle, au moins un bit a basculé en cours de route. Un bit de parité détecte tout nombre impair d'erreurs de bits — une, trois, cinq — mais il est aveugle à un nombre pair, car deux basculements s'annulent et laissent le compte apparemment correct. Et surtout, il ne peut pas vous dire quel bit est erroné : il ne peut donc que détecter, jamais corriger. Pour passer de la détection à la réparation, il faut l'arrangement plus astucieux des codes de Hamming.

Qu'est-ce qu'une somme de contrôle ?

Une somme de contrôle (checksum) monte l'idée d'un cran. Au lieu d'un seul bit, on calcule une petite valeur récapitulative à partir de tout le message — souvent en additionnant ses octets, ou par un calcul plus élaboré — et on envoie cette valeur avec les données. Le récepteur recalcule le récapitulatif et compare. Une différence signale une corruption.

Une somme de contrôle additive simple détecte plus qu'un bit de parité, mais garde des angles morts — les erreurs qui s'annulent dans la somme passent inaperçues. C'est pourquoi les systèmes sérieux utilisent une variante plus robuste appelée CRC (contrôle de redondance cyclique), qui recourt à une arithmétique polynomiale pour détecter de façon fiable le genre d'erreurs en rafale qui frappent les vraies lignes de communication. Les réseaux et les formats de stockage s'appuient massivement sur les CRC pour repérer les données endommagées et déclencher une retransmission, une approche explorée dans détection contre correction des erreurs.

Qu'est-ce qu'un hachage cryptographique ?

Un hachage cryptographique est une tout autre bête, avec un tout autre but. Il fait passer les données par une fonction à sens unique pour produire une empreinte de longueur fixe — une signature numérique du contenu. L'ancien MD5 produit une empreinte de 128 bits ; le moderne SHA-256 en produit une de 256 bits. Changez ne serait-ce qu'un seul bit de l'entrée, et l'empreinte change complètement et de manière imprévisible.

Les hachages ne concernent pas vraiment les erreurs accidentelles — ils concernent l'intégrité et l'identité. Comme il est pratiquement impossible de fabriquer une entrée différente ayant la même empreinte SHA-256, un hachage qui correspond donne l'assurance forte qu'un fichier est exactement celui que vous attendez et n'a pas été altéré. C'est pourquoi les téléchargements publient des hachages et pourquoi les systèmes de gestion de versions identifient le contenu par son hachage. Notez que MD5 est désormais considéré comme cassé pour un usage de sécurité et ne survit essentiellement que comme somme de contrôle rapide, sans visée sécuritaire.

Une somme de contrôle demande « ceci a-t-il été corrompu par accident ? ». Un hachage cryptographique demande « est-ce exactement les données que je crois, sans aucune altération ? ». Même forme, garanties très différentes.

Que détecte réellement chacun ?

L'essentiel est d'adapter l'outil à la tâche. Aucun de ces trois ne corrige les erreurs — cela requiert des schémas de redondance comme Hamming ou Reed–Solomon. Ce qu'ils offrent, c'est la détection et, dans le cas du hachage, la vérification de l'identité.

OutilTaille ajoutéeDétecteBut principalCorrige les erreurs ?
Bit de parité1 bitTout nombre impair de basculements de bitsDétection économique d'erreur sur un seul bitNon
Somme de contrôle / CRCQuelques octetsLa plupart des erreurs accidentelles et en rafaleDétecter les blocs de données corrompusNon
Hachage cryptographiqueEmpreinte fixe (p. ex. 256 bits)Tout changement, y compris l'altérationVérification d'intégrité et d'identitéNon

Pourquoi ces outils ne peuvent-ils pas corriger les erreurs ?

Tous trois sont des récapitulatifs à sens unique : ils compressent le message en une petite valeur, jetant ainsi l'information nécessaire pour reconstruire l'original. Un bit de parité vous dit qu'un compte est faux, mais pas quel bit ; une somme de contrôle vous dit que le récapitulatif ne correspond pas, mais pas comment le réparer ; un hachage vous dit que les données ont changé, mais ne dit rien de la version correcte.

La correction exige davantage de redondance, structurée de manière à indiquer l'emplacement de l'erreur et sa bonne valeur — précisément ce que les outils de détection s'abstiennent délibérément de transporter, pour rester compacts. Quand il vous faut une réparation plutôt qu'un simple avertissement, vous vous tournez vers les codes correcteurs d'erreurs, comme le décrit la correction d'erreurs de Reed–Solomon.

Lequel utiliser et quand ?

Choisissez selon la question que vous vous posez réellement :

  • « Un seul bit a-t-il basculé dans un petit groupe ? » Un bit de parité est économique et suffisant — c'est ainsi qu'il est employé dans certaines mémoires et liaisons série.
  • « Ce bloc de données a-t-il été corrompu au transport ou au stockage ? » Une somme de contrôle ou un CRC est le cheval de trait, standard dans les paquets réseau et les formats de fichiers.
  • « Est-ce exactement le fichier que j'attends, sans altération ? » Un hachage cryptographique comme SHA-256 est le bon outil, utilisé pour les téléchargements, les signatures et l'adressage par contenu.
  • « Peut-il réparer les dégâts tout seul, sans retransmission ? » Aucun de ceux-ci — il vous faut un code correcteur d'erreurs.

Quel rapport avec les codes QR ?

Les codes QR se rangent en réalité dans le camp de la correction plutôt que dans celui de la détection : ils utilisent le codage de Reed–Solomon pour reconstruire les données endommagées, et pas seulement les signaler. Mais l'air de famille est net — un code QR ajoute une redondance structurée pour protéger son message, le même réflexe que derrière chaque bit de parité et chaque somme de contrôle, poussé jusqu'à la réparation complète. Comprendre ces cousins plus simples aide à apprécier l'approche du QR, comme le montre notre guide sur la correction d'erreurs des codes QR.

Il existe aussi un proche parent du quotidien qu'il vaut la peine de connaître : l'humble chiffre de contrôle des codes-barres et des numéros de carte, qui est essentiellement une somme de contrôle que l'on peut calculer à la main pour attraper les fautes de frappe et les erreurs de lecture.

Parité, sommes de contrôle et hachages en une phrase

Un bit de parité attrape un unique bit basculé, une somme de contrôle ou un CRC attrape les blocs corrompus, et un hachage cryptographique vérifie l'identité et l'intégrité exactes — trois détecteurs de puissance croissante, dont aucun ne corrige les erreurs, tous partageant l'idée d'une petite valeur de garde rattachée à vos données.

Curieux de savoir comment la redondance rend les données résilientes ? Vous pouvez créer un code QR gratuit avec QR Puppy et voir la protection contre les erreurs intégrée à même une grille scannable.

Questions fréquentes

Un bit de parité peut-il détecter deux bits basculés ?

Non. Il détecte tout nombre impair de basculements — un, trois, cinq — mais deux basculements s'annulent et laissent la parité apparemment correcte. Cet angle mort explique pourquoi la parité n'est utilisée que là où les erreurs sur un seul bit sont la préoccupation principale.

Quelle différence entre une somme de contrôle et un hachage ?

Une somme de contrôle est un récapitulatif léger destiné à détecter la corruption accidentelle, tandis qu'un hachage cryptographique est conçu pour vérifier l'identité exacte et résister à une altération délibérée. Les hachages sont bien plus robustes et plus longs, mais plus lents à calculer, et tous deux ne font que détecter, sans corriger.

MD5 est-il encore sûr à utiliser ?

Pas pour la sécurité. MD5 est considéré comme cassé car des attaquants peuvent fabriquer des entrées différentes ayant la même empreinte ; utilisez donc SHA-256 pour tout ce qui touche à la confiance. MD5 ne subsiste que comme contrôle d'intégrité rapide, sans visée sécuritaire.

Les sommes de contrôle et les hachages corrigent-ils les erreurs ?

Non, ils détectent seulement qu'une chose a changé. Réparer les dégâts sans retransmission exige un code correcteur d'erreurs tel que Hamming ou Reed–Solomon, qui transporte une redondance supplémentaire spécifiquement destinée à la reconstruction.

Lequel de ceux-ci les codes QR utilisent-ils ?

Les codes QR vont au-delà de la simple détection et utilisent la correction d'erreurs de Reed–Solomon pour reconstruire les données endommagées. La même idée sous-jacente — rattacher une redondance structurée pour protéger un message — les relie aux bits de parité et aux sommes de contrôle.

Créez un QR code de façon honnête 🐾

Gratuit pour toujours, sans suivi, sans expiration — généré directement dans votre navigateur.

🎨 Créer un QR code →