Feistel networks are another way to map your index from linear sequence to a pseudorandom permutation.