Am de gând să generez unic valori aleatorii bazate pe un interval de valori unice de intrare.
Cu alte cuvinte, am un interval de valori de intrare în care aceste numere fac parte dintr-o serie (cum ar fi un interval de numere de serie care cresc unul câte unul) și nu există valori duplicate între ele. Vreau să generez valori aleatorii bazate pe fiecare dintre valorile de intrare, care nu ar trebui să existe valori duplicate în valorile de ieșire.
Primul lucru care mi-a venit în minte a fost să folosesc cifruri bloc standard, cum ar fi AES, de când sunt injectiv iar dacă intrarea acestei funcții nu are valori duplicate, este garantat că și ieșirile sale nu sunt duplicate.
Deci, preocuparea mea este că această metodă de a genera valori (pseudo-)aleatoare poate fi suficient de sigură?
De exemplu. dacă cineva are 1000 de valori de intrare consecutive (text simplu) și 1000 de valori de ieșire (texte cifrate) pentru aceste valori de intrare, poate el/ea să prezică valoarea aleatoare de ieșire pentru 1001th valoarea de intrare?
Cu alte cuvinte, este posibil ca un atacator să modeleze matematic acest generator pseudo-aleatoriu pentru a genera noi valori aleatoare fără ca cheia să fie folosită în cifrul bloc AES?
Știu că există niște standarde pentru „KDF”, cum ar fi cele definite în NIST SP-800 cu toate acestea, unicitatea pentru valori aleatoare nu este o preocupare acolo (dacă nu mă înșel), dar aceasta este o preocupare în aplicația mea țintă.