public void Decrypt(byte[] encryptedMessage, byte[] iv, SecureBytesWrapper decryptedMessage) { using (Aes aes = new AesCryptoServiceProvider()) { aes.Key = LocalPrivateKey.Bytes; aes.IV = iv; // Encrypt the message using (MemoryStream ciphertext = new MemoryStream()) { using (CryptoStream cs = new CryptoStream(ciphertext, aes.CreateDecryptor(), CryptoStreamMode.Write)) { cs.Write(encryptedMessage, 0, encryptedMessage.Length); cs.Close(); decryptedMessage.CopyBytes(ciphertext.ToArray()); } } } }