/// <summary> /// Decrypt the incoming encryptedStream. /// </summary> /// <param name="encryptedStream"></param> /// <param name="key"></param> /// <param name="iv"></param> /// <returns>The plaintext stream derived from encrypted stream</returns> public Stream DecryptStream(Stream encryptedStream, byte[] key, byte[] iv) { ICryptoTransform iTransform = new Salsa20CryptoTransform(key, iv); return(new CryptoStream(encryptedStream, iTransform, CryptoStreamMode.Read)); }
/// <summary> /// Encrypt the incoming plainTextStream. /// </summary> /// <param name="plainTextStream"></param> /// <param name="key"></param> /// <param name="iv"></param> /// <returns>An encrypted stream of bytes</returns> public Stream EncryptStream(Stream plainTextStream, byte[] key, byte[] iv) { ICryptoTransform iTransform = new Salsa20CryptoTransform(key, iv); return(new CryptoStream(plainTextStream, iTransform, CryptoStreamMode.Write)); }