Sto pensando di crittografare alcuni piccoli file (centinaia di kb ciascuno) usando l'implementazione di riferimento AES Crypt . Osservando la fonte, sembra che la chiave di crittografia sia derivata dalla IV e dalla password concatenando i due in un buffer che viene ripetutamente sottoposto a hash. Quindi l'IV agisce come "sale" per l'hash. Più volte intendo 8192 volte.
Capisco che il vantaggio di questo è di aumentare il tempo necessario per generare la chiave, rendendo più costoso l'esecuzione di attacchi a forza bruta per scoprire la password. Capisco anche che lo svantaggio è che ci vuole più tempo per fare le attività di crittografia e decrittografia legittime per gli utenti reali. Inoltre, poiché sia gli utenti che gli aggressori acquistano macchine più veloci nel tempo, i vantaggi e l'inconveniente tenderanno a zero.
Quindi la mia domanda è, date le attuali capacità del computer, e supponendo che un attaccante motivato che non possiede un cluster dedicato, sia 8192 iterazioni insufficienti, eccessive o "giuste"? Inoltre, ho perso qualcosa nella mia analisi di questa generazione di chiavi: c'è qualche altra ragione per scegliere un tale numero di iterazioni che lo rende una buona scelta?