# VeraCrypt

VeraCrypt è un programma applicativo source-available usato per la cifratura "on-the-fly" (OTFE). Può creare un disco virtuale crittografato mediante l'utilizzo di un file o crittografare un'intera partizione oppure, su Windows, l'intero hard disk con un'autenticazione all'avvio. Il supporto alla cifratura di partizioni GPT di sistema e la possibilità di avviarle con UEFI, su Windows 8 e Windows 10, è disponibile a partire dalla versione 1.18, con alcune limitazioni.

## Storia

VeraCrypt è un fork di TrueCrypt, software di cui è stato abbandonato lo sviluppo. Secondo gli sviluppatori in VeraCrypt sono stati apportati miglioramenti riguardanti la sicurezza e risolti problemi emersi dall'audit esterno realizzato sul codice di TrueCrypt.

## Descrizione
### Funzionamento

Il programma impiega da pochi secondi per un volume di 10-100 megabyte e fino a 6-7 ore per preparare un volume vuoto di 150-200 gigabyte. Il volume può essere una partizione o una semplice cartella, salvata in locale sul PC oppure su un dispositivo esterno, come un hard disk o una chiavetta USB. Preparato il volume esso viene "montato" o "smontato" dentro VeraCrypt, dopodiché si può riempire: aggiungere, togliere o cancellare file e cartelle. L'area crittografata può essere aperta soltanto con VeraCrypt e relativa password dopodiché come partizione o cartella diviene visibile in Windows ed è possibile inserire o togliere file o cartelle col semplice trascinamento (drag-and-drop) del mouse, ed essi vengono crittografati o de-crittografati in pochi secondi e in modo trasparente per l'utente.

### Prestazioni

VeraCrypt supporta la crittografia parallela per i sistemi multi-core e, su Microsoft Windows, operazioni con pipeline di lettura e scrittura (una forma di elaborazione asincrona) per ridurre l'impatto sulle prestazioni dovuto alle operazioni di cifratura e decifratura. Sui nuovi processori che supportano il set di istruzioni AES-NI, VeraCrypt utilizza la cifratura AES sfruttando l'accelerazione hardware per migliorare ulteriormente le prestazioni.

### Miglioramenti sulla sicurezza

Secondo i suoi sviluppatori VeraCrypt ha diversi miglioramenti riguardo alla sicurezza rispetto al codice originale di TrueCrypt.
Mentre TrueCrypt effettua 1000 iterazioni dell'algoritmo PBKDF2-RIPEMD160 sulle partizioni di sistema, VeraCrypt effettua 327 661 iterazioni. Per i contenitori standard e altre partizioni, VeraCrypt esegue 655 331 iterazioni di RIPEMD160 e 500 000 iterazioni di SHA-2 e Whirlpool. Questo rende VeraCrypt leggermente più lento nell'apertura delle partizioni cifrate, ma permette di ottenere una resistenza da 10 a 300 volte maggiore agli attacchi di tipo "brute force".
Supporta gli algoritmi Advanced Encryption Standard, ad oggi tra i più diffusi al mondo, e SHA-3, introdotti dal NIST rispettivamente nel 2001 e nel 2007.
Inoltre in Windows è stata risolta una vulnerabilità sul bootloader e sono state eseguite varie ottimizzazioni. Gli sviluppatori hanno aggiunto il supporto per SHA-256 per l'opzione di crittografia di avvio del sistema e hanno anche corretto un problema di sicurezza ShellExecute. Gli utenti di Linux e Mac OS X beneficiano del supporto per gli hard disk con dimensione dei settori più grandi di 512. Inoltre Linux ha il supporto per la formattazione NTFS delle partizioni.
Il formato VeraCrypt è incompatibile con quello di TrueCrypt a causa di questi interventi migliorativi della sicurezza. Il team di sviluppo di VeraCrypt ritiene che il vecchio formato TrueCrypt fosse troppo vulnerabile agli attacchi della NSA e quindi dovesse essere abbandonato. In questo senso, oltre al SHA 2 adottato per la sua diffusione e per retrocompatibilità con TrueCrypt, introdussero l'uso di Whirlpool e RIPEMD160, estranei all'ambiente NSA.
Queste sono alcune delle principali differenze tra VeraCrypt e il suo concorrente CipherShed, in quanto CipherShed continua ad utilizzare il formato TrueCrypt. Comunque a partire dalla versione 1.0f VeraCrypt è in grado di aprire e convertire volumi con formato TrueCrypt v6 o superiore.

## Evoluzioni future

L'algoritmo SHA è curato dall'autorevole National Security Agency e non si hanno notizie di una sua violazione; VeraCrypt non supporta ancora lo standard SHA-3, presentato nel 2007 dal vincitore di un concorso pubblico, più recente e sicuro. Non è mai stato indetto un concorso per premiare un caso di violazione degli algoritmi SHA-2.
VeraCrypt non ha funzionalità di compressione dei dati, utile se si guarda ai tempi necessari per formattare volumi grandi decine di giga prima di potervi copiare e incollare file come in una comune cartella di Windows o Linux. La crittografia stessa dei file aumenta la loro dimensione, per cui sarebbe utile una compressione preventiva di basso livello (basso rapporto di compressione), cioè non troppo lenta e onerosa per il sistema.