On a general level, is there any way to ensure that a file has been encrypted? Specifically, is there any way to check this remotely using something like a checksum or key?
Here's a simplified version of my situation: my friend uploads a lot of very large files every day on a remote server. I only have download access to these files and I want a fast way to ensure that they have all been encrypted before I download them to my local machine.
I want them encrypted for two reasons:
- No one should be able to read the files except for the original uploader. (In this scenario, they're not mine, I'm just holding onto them.)
- I don't want any executables in these files (potential viruses, etc...) to potentially run on my computer. (I may be wrong, but I believe encrypted binaries are a non-threat -- correct?)
Here are a few more, potentially helpful details:
- The uploader is able to upload additional files for me to download. (Ex: upload some kind of verification key...)
- I can give him a key of some sort to use in verification. (I'm thinking something like an ssl key.)
- Hand shaking is ok. (Everything is automated.)
So, is there any way for me to guarantee that these files have been encrypted and that they're safe to download?
Put another way, here's what I'd like to do:
- My friend uploads a lot of very large files to his server. (Could be executable, images, viruses, whatever.)
- He encrypts them, and creates a verification key. (Or something.)
- I download the verification key for the file and check it against the one I gave him.
- The file checks out, and I'm now sure that the file to be downloaded is encrypted.
I'm 99% new to cryptography, but I've always wanted to get into it. (This is my chance!) If I'm missing any basic concepts here, I would really appreciate references to good intro material to start my crypto education.
Thanks everyone!
program.exeare encrypted, double-clicking it will give you a message that it cannot be executed. – Bruno Reis Oct 10 '12 at 3:15