Do not create instances of TIDEAStream directly. It implements no useful functionality: it serves as a common ancestor of the TIDEAEncryptStream and TIDEADeCryptStream, and simply provides some fields that these descendent classes use when encrypting/decrypting. One of these classes should be created, depending on whether one wishes to encrypt or to decrypt.