I need a way to share large, uniquely encrypted files (AES256) that are actually the same file when decrypted, through P2P, to optimize download speeds.

For instance, a centralized server would store the keys for each uniquely encrypted file (keys are assigned to user accounts). When a user downloads the uniquely encrypted file via P2P, the server sends them the key to decrypt.

I know the logic here is counter-intuitive, but is this even possible? To have a P2P network of uniquely encrypted files sharing the same file (when decrypted).

Could this be approached through a sort of chunking of data, where only part of the data is encrypted (and sent directly from the central server to each user) and a majority of the data is shared via P2P, then when each download is finished a client-side program pieces them together?

The point of this is to only allow a user to view the decrypted file once a server-side transaction is verified, as a security measure, but allow them to download the file via P2P beforehand.

  • Not sure that you can expect help with this little details. What infrastructure do you have? How are the keys managed? Why is it encrypted uniquely? Why don't use just use some sort of hash as key, which only a legimate owner of the file would have? – Karol Babioch Mar 27 '14 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.