Шифруйте на одинаковом ключе блочным шифром с размером блока (2^[log2(N)+1]) порядковые числа (0, 1, 2, ...). Если получилось значение большее чем N, отбрасывайте образец. Блочный шифр с одинаковым ключом обеспечит Вам неповторяемость (биективность) создаваемых чисел. (Только не делайте mod N над результатом !!!)