P2P:Protocol:Specifications:Optional Hashes
From Depthstrike Entertainment
Optional P2P Hashes
- This specification is a draft as of this writing.
Notes
- This protocol extension is to include hash information about individual files in a .torrent file to permit a torrent to survive beyond the threshold of sub-1 distribution among bittorrent client peers.
- Multiple-network clients intending to implement support for any of these hashes should only be obligated to support the hashes actively used as searchable "keywords" on networks they support.
- In the event of a conflict between these hashes and the main piece hashes, the piece hashes are to be considered correct.
Current Hashes
CRC32
- Reference Only.
- Because of the insecure nature of CRC32 and its overall lack of use in p2p applications, it is only included in some torrents for reference purposes.
- This hash is stored in the torrent in an 8-byte string of hexadecimal characters.
- Locations in the metafile:
- info\crc32 (single file torrent)
- info\files\<file entry>\crc32 (multiple file torrent)
MD5
- Reference, partial usability.
- Although there is a collision possibility with MD5, when coupled with an additional hash algorithm it can still be considered secure.
- Some p2p applications may still use MD5 as their identifying hash.
- This hash is stored in the torrent in a 32-byte string of hexadecimal characters.
- Locations in the metafile:
- info\md5sum (single file torrent)
- info\files\<file entry>\md5sum (multiple file torrent)
ED2K
- Actively used.
- ED2K, although based on the insecure MD4, is used primarily in the eDonkey2000 protocol, used by eDonkey, eMule and several other clients.
- This hash is stored in the torrent in a 16-byte "raw" format.
- Locations in the metafile:
- info\ed2k (single file torrent)
- info\files\<file entry>\ed2k (multiple file torrent)
SHA1
- Actively used.
- SHA1 is the primary keyword hash on GNUTella1 and GNUTella2 networks in addition to others.
- This hash is stored in the torrent in a 20-byte "raw" format.
- Locations in the metafile:
- info\sha1 (single file torrent)
- info\files\<file entry>\sha1 (multiple file torrent)
TTH Root
- Actively used.
- The Tiger Tree Hash is the primary keyword hash on several DirectConnect servers, and is used as a secondary keyword hash on GNUTella networks.
- This hash is stored in the torrent in a 24-byte "raw" format.
- Locations in the metafile:
- info\tiger (single file torrent)
- info\files\<file entry>\tiger (multiple file torrent)
Support by program
Torrent Makers
Multinetwork Clients
| Client
|
CRC32
|
MD5
|
ED2K
|
SHA1
|
TTH
|
| Shareaza
|
No
|
No
|
Yes
|
Yes
|
Yes
|
Shareaza
- Shareaza currently supports using the p2p hashes listed above as search keywords when added from single-file torrents.
- No special steps are required to get Shareaza to search based on the hash. The search will happen automatically.
- Plans to support individual files within a batch have been made, but major reworking of the temporary file system is required.