Article de reference

Somme de contrôle

Effet d'une fonction de somme de contrôle typique (utilitaire Unix cksum ) Une somme de contrôle est un petit bloc de données dérivé d'un autre bloc de données numériques, serva...

Effet d'une fonction de somme de contrôle typique (utilitaire Unix cksum)

Une somme de contrôle est un petit bloc de données dérivé d'un autre bloc de données numériques, servant à détecter les erreurs qui auraient pu être introduites lors de sa transmission ou de son stockage . Les sommes de contrôle sont souvent utilisées à elles seules pour vérifier l'intégrité des données , mais ne permettent pas de garantir leur authenticité .

La procédure qui génère cette somme de contrôle est appelée fonction de somme de contrôle ou algorithme de somme de contrôle . Selon ses objectifs, un bon algorithme de somme de contrôle produit généralement une valeur significativement différente, même pour de petites modifications apportées aux données d'entrée. Ceci est particulièrement vrai pour les fonctions de hachage cryptographiques , qui peuvent être utilisées pour détecter de nombreuses erreurs de corruption de données et vérifier l'intégrité globale des données ; si la somme de contrôle calculée pour les données d'entrée actuelles correspond à la valeur stockée d'une somme de contrôle calculée précédemment, il est très probable que les données n'aient pas été altérées ou corrompues accidentellement.

Les fonctions de somme de contrôle sont liées aux fonctions de hachage , aux empreintes digitales , aux fonctions de randomisation et aux fonctions de hachage cryptographiques . Cependant, chacun de ces concepts a des applications différentes et, par conséquent, des objectifs de conception différents. Par exemple, une fonction renvoyant le début d'une chaîne peut fournir un hachage adapté à certaines applications, mais ne constituera jamais une somme de contrôle appropriée. Les sommes de contrôle sont utilisées comme primitives cryptographiques dans des algorithmes d'authentification plus complexes. Pour les systèmes cryptographiques répondant à ces deux objectifs de conception spécifiques HMAC .

Les chiffres de contrôle et les bits de parité sont des cas particuliers de sommes de contrôle, adaptés aux petits blocs de données (comme les numéros de sécurité sociale , les numéros de compte bancaire , les mots informatiques , les octets uniques , etc.). Certains codes correcteurs d'erreurs reposent sur des sommes de contrôle spécifiques qui, en plus de détecter les erreurs courantes, permettent de récupérer les données originales dans certains cas.

Algorithmes

Octet de parité ou mot de parité

L'algorithme de somme de contrôle le plus simple est le contrôle de parité longitudinale , qui divise les données en « mots » de taille fixe , puis calcule le OU exclusif (XOR) bit à bit de tous ces mots. Le résultat est ajouté au message comme un mot supplémentaire. Autrement dit, pour = 1, cela revient à ajouter un bit à la fin des bits de données afin de garantir un nombre pair de « 1 ». Pour vérifier l'intégrité d'un message, le récepteur calcule le OU exclusif bit à bit de tous ses mots, y compris la somme de contrôle ; si le résultat n'est pas un mot composé de zéros, le récepteur sait qu'une erreur de transmission s'est produite.

Grâce à cette somme de contrôle, toute erreur de transmission inversant un seul bit du message, ou un nombre impair de bits, sera détectée comme une somme de contrôle incorrecte. Cependant, une erreur affectant deux bits ne sera pas détectée si ces bits se trouvent à la même position dans deux mots distincts. De même, l'inversion de deux mots ou plus ne sera pas détectée. Si les bits affectés sont choisis indépendamment et aléatoirement, la probabilité qu'une erreur de deux bits ne soit pas détectée est .

Complément de somme

Une variante de l'algorithme précédent consiste à additionner tous les « mots » sous forme de nombres binaires non signés, en ignorant les bits de dépassement, et à ajouter le complément à deux du total comme somme de contrôle. Pour valider un message, le destinataire additionne tous les mots de la même manière, y compris la somme de contrôle ; si le résultat n'est pas un mot composé uniquement de zéros, une erreur s'est produite. Cette variante détecte également toute erreur sur un seul bit, mais la somme modulaire pro est utilisée dans la norme SAE J1708 .

Dépendance de la position

Les sommes de contrôle simples décrites ci-dessus ne permettent pas de détecter certaines erreurs courantes affectant plusieurs bits simultanément, comme la modification de l'ordre des mots de données ou l'insertion/suppression de mots dont tous les bits sont à zéro. Les algorithmes de somme de contrôle les plus utilisés en pratique, tels que la somme de contrôle de Fletcher , Adler-32 et les contrôles de redondance cyclique (CRC), pallient ces faiblesses en prenant en compte non seulement la valeur de chaque mot, mais aussi sa position dans la séquence. Cette caractéristique augmente généralement le coût de calcul de la somme de contrôle.

Somme de contrôle floue

Le concept de somme de contrôle floue a été développé pour la détection des spams grâce à la constitution de bases de données collaboratives, issues de plusieurs fournisseurs d'accès à Internet (FAI), recensant les courriels suspects. Le contenu de ces spams peut varier considérablement, rendant inefficace le calcul classique des sommes de contrôle. À l'inverse, une « somme de contrôle floue » réduit le corps du message à son minimum caractéristique, puis génère une somme de contrôle de manière classique. Ceci augmente fortement la probabilité que des spams légèrement différents produisent la même somme de contrôle. Les logiciels de détection de spam des FAI partenaires , tels que SpamAssassin , soumettent les sommes de contrôle de tous les courriels à un service centralisé comme DCC . Si le nombre de sommes de contrôle floues soumises dépasse un certain seuil, la base de données indique qu'il s'agit probablement d'un spam. De la même manière, les utilisateurs des FAI génèrent une somme de contrôle floue pour chacun de leurs courriels et consultent le service afin d'évaluer la probabilité qu'il s'agisse d'un spam.

Considérations générales

Un message de bits peut être vu comme un coin d'un hypercube dimensions . L'effet d'un algorithme de somme de contrôle produisant une somme de contrôle bits consiste à associer chaque message bits à un coin d'un hypercube plus grand, de dimension . Les coins de cet hypercube représentent tous les messages reçus possibles. Les messages reçus valides (ceux dont la somme de contrôle est correcte) constituent un ensemble plus restreint, avec seulement </sup> coins.

Une erreur de transmission d'un seul bit correspond alors à un déplacement d'un coin valide (le message et la somme de contrôle corrects) vers l'un des coins adjacents. Une erreur affectant bits déplace le message vers un coin situé à étapes de son coin correct. L'objectif d'un bon algorithme de somme de contrôle est de répartir les coins valides aussi loin que possible les uns des autres, afin d'accroître la probabilité que les erreurs de transmission « classiques » aboutissent dans un coin invalide.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index