So che esistono già strumenti per generare un numero casuale crittografico, ma mi chiedevo se l'utilizzo di AES potesse fare lo stesso.
Ad esempio, ho una chiave segreta per AES sul mio server e un contatore nel mio database. Ogni volta che voglio generare un numero casuale, incremento il contatore, quindi lo crittografo con AES utilizzando la chiave segreta sul mio server, quindi trasformo i bit risultanti nel numero corretto.
Questo non produrrebbe un numero casuale sicuro finché la mia chiave segreta non viene trovata?
N.B .: Se vuoi dire che la memorizzazione di una password sul tuo server non è sicura, ti preghiamo di spiegare come è diversa dalla memorizzazione della chiave SSL privata sul tuo server.
Modifica
Trovate alcune informazioni su wikipedia
A secure block cipher can be converted into a CSPRNG by running it in counter mode. This is done by choosing a random key and encrypting a 0, then encrypting a 1, then encrypting a 2, etc. The counter can also be started at an arbitrary number other than zero. Obviously, the period will be 2n for an n-bit block cipher; equally obviously, the initial values (i.e., key and "plaintext") must not become known to an attacker, however good this CSPRNG construction might be. Otherwise, all security will be lost.
Quindi, è stato usato prima per costruire CSPRNG.