title: Is there a .NET encryption library that implements AES 256 encryption as a Stream?
body: <p>I'd like to be able to encrypt / decrypt data as it's streamed to/from disk.
  I know I could write my own Stream and implement the encryption there, but I'd rather not risk doing it wrong. Is there a library that works in a similar way to the following code?</p>
  
  <pre><code>byte[] encryptionKey = ;
  byte[] initVector = ;
  
  var fileStream = new FileStream(filePath, FileMode.CreateNew, FileAccess.Write);
  var encryptionStream = new AesEncryptionStream(fileStream, initVector, encryptionKey);
  var gzStream = new GZipStream(encryptionStream, CompressionMode.Compress);
  var writer = new BinaryWriter(gzStream);
  </code></pre>