I need to store a key (symmetric-key cryptography) within my C++ application binary (based on OpenCV) so that the key as unidentifiable as possible. Can someone help me choose the key so that is secure and it will be difficult for an attacker to find the key in the binary?
If I choose plain text (regardless of length) then this will be saved as text in my binary and will be easily identifiable, am I right? So I probably want to select a key that looks like a generic binary content.
I guess having multiple keys that will be used in predefined order may also make it more secure since the attacker has to find all the keys (which may be stored in different places within binary).
I need to choose this type of protection because of the nature of my application. I accept the risk of an attacker finding the key - in such case I will use new key and new application binary - but I do not want to do this very often (hopefully never).
I know it is impossible to have 100% key security this way but I want a basic level of security so that the attacker needs to have some knowledge at least.