xor and substitution