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.