Outils du site

Outils pour utilisateurs


Panneau latéral

P2PFR:Wiki

glossaire:checksum (lu 1037 fois)

Checksum & Hash (Somme de contrôle)

Il s'agit d'une suite courte de caractères qui est calculée à partir des données d'un fichier. Ainsi, si les données du fichier comportent la moindre variation par rapport à leur original, le checksum n'aura plus du tout la même valeur. Comparer le checksum permet ainsi de vérifier si 2 fichiers sont identiques.

On parle parfois de “hash” (anglais) ou de “condensé” (voire de “condensat”) pour désigner cette suite de caractères.

Il s'agit d'un procédé couramment utilisé lors des transferts de données, à différents niveaux (couche physique, TCP/IP, bittorrent…).

Lorsque ce calcul n'est pas fait de façon automatique et que l'intégrité du fichier téléchargé a une importance, ce calcul peut aussi être effectué manuellement à l'aide d'outils tels que md5sum ou sha1sum. Exemple: pour vérifier que le gros fichier ISO qu'on a téléchargé sur un site web ne contient pas d'erreur et est identique à l'original avant de le graver sur CD/DVD.

Bien que l'algorithme utilisé pour ce calcul soit choisi de façon à ce qu'il soit peu probable que 2 fichiers différents aient le même hash, certains algorithmes (md5) garantissent moins bien cela que d'autres (sha512). Il est donc plus ou moins facile et possible pour une personne qui le souhaiterait de forger un fichier ayant le même hash qu'un autre, tout en ayant un contenu différent.

Puisque les hashs sont censés identifier des fichiers, ce principe technique est utilisé comme base de certains P2P pour identifier les oeuvres. On peut faire correspondre un hash à une oeuvre. Les réseaux P2P qui en tirent partie sont eMule (de façon moindre) et BitTorrent (de façon intensive).

Sur eMule, les sommes de contrôle sont essentiellement utilisées comme parade aux faux fichiers (fakes). Or, les hashs peuvent être couteux en puissance de calcul, ce qui est problématique quand on doit vérifier de grandes quantités de données. C'est pourquoi eMule ne calcule les hashs que sur une partie du fichier (et non sa totalité).

Avec BitTorrent, les hashs sont calculés sur l'intégralité des fichiers à échanger. Ils sont enregistrés au sein du fichier .torrent, ou bien ils peuvent être directement transmis à l'internaute sous la forme d'un lien magnet://.

Exemples

Ici, on calcule la valeur du hash d'un fichier MKV avec la commande sha512sum :

$ sha512sum JoJo\'s.Bizarre.Adventure.Diamond.is.Unbreakable.S03E01.SUBFRENCH.WEBRiP.720p.x264-BSD.mkv 
5de375ca78897f633635a6ff4d80afddb62a1a5dd6e1a1cf0c690182ff3646be12d40f3989b645c26c3c7c7ddef98d2c7b67ad92977ec15d75d58e89657667be  JoJo's.Bizarre.Adventure.Diamond.is.Unbreakable.S03E01.SUBFRENCH.WEBRiP.720p.x264-BSD.mkv

Ici, on constate que le client BitTorrent Deluge connaît aussi la somme de contrôle (donc le hash) associé à un torrent :

Le lien magnet correspondant à ce hash :

magnet:?xt=urn:btih:aa0b15c3fc0297bd29e15e7b8ba405a4572483f3&dn=JoJo's.Bizarre.Adventure.Diamond.is.Unbreakable.S03.SUBFRENCH.WEBRiP.720p.x264-BSD&tr=udp:ipv4.tracker.harry.lu:80/announce&tr=udp:tracker.zer0day.to:1337

Voir aussi

glossaire/checksum.txt · Dernière modification: le 19/10/2017 à 23h54 par 111110101011