Il PIM di VeraCrypt non è necessario se si utilizza una password sufficientemente avanzata.
Quale PIM di VeraCrypt è
In parole povere, il PIM di VeraCrypt definisce il numero di volte in cui la tua password è stata cancellata prima di essere utilizzata per decrittografare il disco.
Per essere precisi, ogni volume di VeraCrypt viene crittografato utilizzando una chiave master casuale. La tua password viene utilizzata come base per decrittografare la chiave principale: ciò che in realtà decodifica la chiave master è il risultato di una funzione di derivazione della chiave che prende la tua password come input. Questa funzione di derivazione dei tasti ripete il suo calcolo di hashing interno un numero di volte dipendente dal PIM.
Dal manuale di VeraCrypt :
When a PIM value is specified, the number of iterations is calculated
as follows:
- For system encryption that doesn't use SHA-512 or Whirlpool: Iterations = PIM x 2048
- For system encryption that uses SHA-512 or Whirlpool, non-system encryption and file containers: Iterations = 15000 + (PIM x 1000)
Implicazioni del PIM di VeraCrypt
Il PIM di VeraCrypt aumenta sia il tempo necessario per decrittografare il disco sia il tempo necessario a un utente malintenzionato per forzare la password. Più la tua password è strong, più un attacco di forza bruta avrà successo, più basso sarà il PIM per rendere l'attacco poco pratico o anti-economico. Pertanto, se si utilizza una password sufficientemente strong, il PIM di VeraCrypt è superfluo.
L'utilizzo del PIM predefinito di VeraCrypt aumenta il tempo di attacco e il tempo di decrittografia proporzionalmente, mentre l'uso di un PIM personalizzato aumenta il tempo di attacco più del tempo di decrittografia, poiché l'utente malintenzionato dovrebbe forzare la password e il PIM. L'aumento del tempo dell'attacco nell'ultimo caso è 1 + 2 + 3 + ... + PIM = PIM (PIM + 1) / 2 corrispondente a un quadrato.
Supponendo che la tua password usi solo lettere e numeri in inglese, aumentando il PIM di un fattore di 1000 (es. 500 - > 500000) corrisponde all'incirca ad aumentare la password di soli 4 caratteri (36 ^ 4 ~ (1000 * 1001) / 2). Secondo me è controproducente perché è necessario memorizzare lo stesso numero di caratteri con il fastidio aggiunto di un maggiore tempo di decrittazione.
Tutto quanto sopra non è correlato con AES, che è un cifrario simmetrico utilizzato per decrittografare il volume VeraCrypt dopo che è stata derivata una chiave master casuale.