Somme de contrôle
Une somme de contrôle sert à assurer l’intégrité des données.
Dans sa plus simple acception il peut s’agir d’un bit de parité qui vaut 1 ou 0 selon que la somme des bits à 1 du contenu concerné est pair ou impair. Par exemple
00101
Ici il y a deux bit a 1 : deux est un chiffre pair donc le bit de parité vaut 0.
Il existe d’autres manières plus évoluées de protéger l’intégrité d’un message, comme le CRC32 🌍⤴ , le checksum (qui est traduite en français par somme de contrôle) ou le MD5sum. On appelle parfois abusivement le mécanisme de bit de parité « CRC1 ».
Toutes ces techniques sont parfois désignées sous le terme d’ « empreinte numérique ». A ne pas confondre avec une « empreinte cryptographique » car ici le message est transmis en clair, et un pirate peut facilement modifier le message et recalculer son empreinte associée.
En anglais les CRC (cyclic redundancy checks) sont considérés comme des sous-ensembles de checksums, et nous utilisons aussi « somme de contrôle » dans son sens générique d’empreinte.
Ressources
- Une explication claire de l’algorithme crc32 par ses auteurs : https://zlib.net/crc_v3.txt 🌍⤴
- Un algorithme qui à partir d’un code crc et d’un texte, modifie le texte de sorte à ce qu’il corresponde au crc fourni. Le but est de démontrer la faiblesse cryptographique du protocole : https://github.com/madler/spoof 🌍⤴