improved addRoundKey function