title: How to communicate AES initialization Vector to client for hybrid cryptosystem
body: <p>I need to implemented security for client-server communication. I have implemented the following <a href="http://en.wikipedia.org/wiki/Hybrid_cryptosystem/" rel="noreferrer">hybrid cryptosystem</a></p>
  
  <p>To encrypt a message addressed to Alice in a hybrid cryptosystem, Bob does the following:</p>
  
  <ol>
  <li>Obtains Alice's public key.</li>
  <li>Generates a fresh symmetric key for the data encapsulation scheme.</li>
  <li>Encrypts the message under the data encapsulation scheme, using the symmetric key just generated.</li>
  <li>Encrypt the symmetric key under the key encapsulation scheme, using Alice's public key.</li>
  <li>Send both of these encryptions to Alice.</li>
  </ol>
  
  <p>To decrypt this hybrid ciphertext, Alice does the following:</p>
  
  <ol>
  <li>uses her private key to decrypt the symmetric key contained in the key encapsulation segment.</li>
  <li>uses this symmetric key to decrypt the message contained in the data encapsulation segment.</li>
  </ol>
  
  <p>I am using RSA For a public-key cryptosystem, and AES for symmetric-key cryptosystem. Every thing works fine, but I am not sure how to handle AES initialization vector. Currently, I am concatenating the AES key and initialization vector encrypting it with the public key and sending that to server.</p>
  
  <p>I just wanted to get some opinions about this approach. How this problem is solved by other communication protocols SSL etc.</p>
  
  <p>Thanks.</p>