Overloaded encrypt and decrypt methods so that the initialization vector can be managed separately.