title: C# Private/Public Encryption using AES
body: <p>I am trying to figure out how to make public/private keys that are AES encrypted. I'd like to be able to use it like so:</p>
  
  <pre><code>byte[] BytesToEncrypt = { 0x01, 0x02, 0x03, 0x04, 0x05 };
  byte[] PublicKey;
  byte[] PrivateKey;
  byte[] EncryptedBytes;
  byte[] UnencryptedBytes;
  
  PrivateKey = CreatePrivateKey();
  PublicKey = CreatePublicKey(PrivateKey);
  EncryptedBytes = EncryptBytes(PrivateKey);
  // This line should return unencrypted bytes
  UnencryptedBytes = UnencryptBytes(EncryptedBytes, PrivateKey);
  // This line should also return the unencrypted bytes
  UnencryptedBytes = UnencryptBytes(EncryptedBytes, PublicKey);
  </code></pre>
  
  <p>How can I implement something like this? I've seen public/private encryption, but all the examples I've seen seem to use RSA encryption. I want to use AES. Is this possible?</p>