I am a bit confused about securing the secret encyption key. Here is the scenario:
- I need to encrypt some data (file)
- This data will be read by a program (say written in C/C++).
- Both the program binary and encrypted data will be accesible to some arbitrary user.
However, in order to read the data the program needs to have the secret key that was used to encrypt the data. One possibility would be to hard code the secret key into the source code of the program itself. However, the key can be found out even from the compiled binary! I also do not have any possibility of taking input from the user for password/secret key etc. I also don't have any network access to request a server to send the key. Please, assume the OS to be linux/linux like.
So, the question is, how can I secure this key?