new encrypt and decrypt support