La pagina della guida alla sicurezza di KeePass parla della prevenzione degli attacchi di dizionario
To generate the final 256-bit key that is used for the block cipher, KeePass first hashes the user's password using SHA-256, encrypts the result N times using the Advanced Encryption Standard (AES) algorithm (called key transformation rounds from on now), and then hashes it again using SHA-256. For AES, a random 256-bit key is used, which is stored in the database file. As the AES transformations aren't pre-computable (key is random), an attacker has to perform all the encryptions, too, otherwise he cannot try and see if the current key is correct.
La "sicurezza contro gli attacchi di dizionario" si trova apparentemente nel tempo necessario per i cicli di crittografia N. Ora la domanda:
È il tempo necessario per calcolare N iterazioni di AES in realtà N volte il tempo necessario per una singola crittografia AES, oppure esiste uno schema noto e più efficiente per calcolare AES ^ N (cleartext)?