String msgString = Systematic.GetFileContents(messagePath); Byte[] initVector = new byte[] { 50, 60, 70, 80, 90, 40, 50, 60, 70, 80, 90, 40, 60, 80, 70, 90 }; Byte[] symetricKey = AesCrypt.GenerateRandomKey(); Byte[] encryptedMessage = AesCrypt.Encrypt(msgString, symetricKey, initVector, mode); Byte[] modulus = null; Byte[] publicExp = null; DataFormatHelper.ReadPublicKey(publicKeyPath, "RSA", ref modulus, ref publicExp); static public byte[] RSAEncrypt(byte[] data, RSAParameters keyInfo, bool doOAEPPadding) { byte[] encryptedData; using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { //Import the RSA Key information. This only needs //toinclude the public key information. rsa.ImportParameters(keyInfo); //Encrypt the passed byte array and specify OAEP padding. //OAEP padding is only available on Microsoft Windows XP or later. encryptedData = rsa.Encrypt(data, doOAEPPadding); } return encryptedData; }