Secure resumable/swarm downloading using manifest It seems hard to download big files with limewire - I never can get through to the end. Here is one possible way of guaranteeing secure "swarm" resumable downloads. Perhaps it is dumb (I haven't read all the literature) but it seems ok to me.
Firstly, when a file is downloaded, separate it into 20k chunks. Then take a secure checksum (say SHA1) of each block, and concatenate all these checksums into another file. Call this file the "manifest". Then take the checksum of the manifest and call that the "manifest checksum".
Now, when you want to download a file, get the manifest checksum (20 bytes). Then get the manifest (approx 1/1000th of size of original file). Now you can swarm download, hangup, call back, whatever, and you will be sure next time you try to download the file that you will be getting the SAME FILE you tried to download originally, because after every 20k you can checksum the data you just got and check it with the manifest to make sure you are getting the right data. Also you can search using the manifest checksum which makes things easy. |