cipher and decipher first adapt