title: Cross-platform way of hiding cryptographic keys in C++?
body: <p>My application needs to use a couple of <strong>hard-coded symmetric cryptographic keys</strong> (while I know that storing a public key would be the only perfect solution, this is non-negotiable). We want the keys to be stored <strong>obfuscated</strong>, so that they won't be recognizable by analyzing the executable, and be "live" in memory for as little time as possible - as to increase the difficulty of a memory dump retrieving them in clear-text. I'm interested in using <strong>C++</strong> features (using some sort of <code>scoped_key</code> comes to mind). The solution must be <strong>portable</strong> - Windows, Linux, MacOS -, so it cannot take advantage of the operating system crypto API.</p>
  
  <p>How would you go about designing such a system? Thanks a lot.</p>