public OutputStreamEncryption(Stream outc, byte[] key, int off, int len, int revision)
 {
     Outc = outc;
     _aes = revision == Aes128;
     if (_aes)
     {
         byte[] iv   = IvGenerator.GetIv();
         byte[] nkey = new byte[len];
         Array.Copy(key, off, nkey, 0, len);
         Cipher = new AesCipher(true, nkey, iv);
         Write(iv, 0, iv.Length);
     }
     else
     {
         Arcfour = new ArcfourEncryption();
         Arcfour.PrepareArcfourKey(key, off, len);
     }
 }