add interfaces to encrypt/decrypt with byte[]