Introduce encrypt and decrypt modes