я собираюсь генерировать уникальный случайные значения, основанные на диапазоне уникальных входных значений.
Другими словами, у меня есть диапазон входных значений, в которых эти числа являются частью серии (например, диапазон серийных номеров, которые увеличиваются один за другим), и среди них нет повторяющихся значений. Я хочу генерировать случайные значения на основе каждого из входных значений, в которых не должно быть повторяющихся значений в выходных значениях.
Первое, что пришло мне в голову, это использование стандартных блочных шифров, таких как AES, поскольку они инъективный и если на входе этой функции нет повторяющихся значений, гарантируется, что ее выходные данные также не дублируются.
Итак, меня беспокоит, что этот метод генерации (псевдо)случайных значений может быть достаточно безопасным?
Например. если у кого-то есть 1000 входных последовательных (незашифрованных) значений и 1000 выходных значений (зашифрованных текстов) на эти входные значения, может ли он / она предсказать выходное случайное значение для 1001й входное значение?
Другими словами, может ли злоумышленник математически смоделировать этот псевдослучайный генератор для генерации новых случайных значений без использования ключа внутри блочного шифра AES?
Я знаю, что есть некоторые стандарты для "KDF", такие как определенные в НИСТ СП-800 ряд, однако уникальность случайных значений там не вызывает беспокойства (если я не ошибаюсь), но это вызывает беспокойство в моем целевом приложении.