VeraCrypt is a free and open-source utility for on-the-fly encryption (OTFE). The software can create a virtual encrypted disk that works just like a regular disk, but within a file. It can also encrypt a partition or (in Microsoft Windows) the entire storage device with pre-boot authentication. VeraCrypt is a fork of the discontinued TrueCrypt project. It was initially released on 22 June 2013. Many security improvements have been implemented and concerns within the TrueCrypt code audits have been addressed. VeraCrypt includes optimizations to the original cryptographic hash functions and ciphers, which boost performance on modern central processing units.
Encryption scheme VeraCrypt employs AES, Serpent, Twofish, Camellia, and Kuznyechik as ciphers. Version 1.19 stopped using the Magma cipher in response to a security audit. For additional security, ten different combinations of cascaded algorithms are available:
AES–Twofish AES–Twofish–Serpent Camellia–Kuznyechik Camellia–Serpent Kuznyechik–AES Kuznyechik–Serpent–Camellia Kuznyechik–Twofish Serpent–AES Serpent–Twofish–AES Twofish–Serpent The cryptographic hash functions available for use in VeraCrypt are BLAKE2s-256, SHA-256, SHA-512, Streebog and Whirlpool. VeraCrypt used to have support for RIPEMD-160, but it has since been removed in version 1.26. VeraCrypt's block cipher mode of operation is XTS. It generates the header key and the secondary header key (XTS mode) using PBKDF2 with a 512-bit salt. By default, they go through 200,000 or 500,000 iterations, depending on the underlying hash function used and whether it is system or non-system encryption. The user can customize it to lower these numbers to as low as 2,048 and 16,000, respectively.
Security improvements
The VeraCrypt development team considered the TrueCrypt storage format too vulnerable to a National Security Agency (NSA) attack, so it created a new format incompatible with that of TrueCrypt. Support for the older TrueCrypt format was dropped in October 2023 starting with VeraCrypt 1.26, but older versions of VeraCrypt are still capable of opening and converting volumes previously created in the TrueCrypt format. An independent security audit of TrueCrypt released 29 September 2015 found TrueCrypt includes two vulnerabilities in the Windows installation driver allowing an attacker arbitrary code execution and privilege escalation via DLL hijacking. This was fixed in VeraCrypt in January 2016. While TrueCrypt uses 1,000 iterations of the PBKDF2-RIPEMD-160 algorithm for system partitions, VeraCrypt uses either 200,000 iterations (SHA-256, BLAKE2s-256, Streebog) or 500,000 iterations (SHA-512, Whirlpool) by default (which is customizable by user to be as low as 2,048 and 16,000 respectively). For standard containers and non-system partitions, VeraCrypt uses 500,000 iterations by default regardless of the hashing algorithm chosen (which is customizable by user to be as low as 16,000). While these default settings make VeraCrypt slower at opening encrypted partitions, it also makes password-guessing attacks slower. Additionally, since version 1.12, a new feature called "Personal Iterations Multiplier" (PIM) provides a parameter whose value is used to control the number of iterations used by the header key derivation function, thereby making brute-force attacks potentially even more difficult. VeraCrypt out of the box uses a reasonable PIM value to improve security, but users can provide a higher value to enhance security. The primary downside of this feature is that it makes the process of opening encrypted archives even slower. A vulnerability in the bootloader was fixed on Windows and various optimizations were made as well. The developers added support for SHA-256 to the system boot encryption option and also fixed a ShellExecute security issue. Linux and macOS users benefit from support for hard drives with sector sizes larger than 512. Linux also received support for the NTFS formatting of volumes. Unicode passwords are supported on all operating systems since version 1.17 (except for system encryption on Windows). VeraCrypt added the capability to boot system partitions using UEFI in version 1.18a. Option to enable/disable support for the TRIM command for both system and non-system drives was added in version 1.22. Erasing the system encryption keys from RAM during shutdown/reboot helps mitigate some cold boot attacks, added in version 1.24. RAM encryption for keys and passwords on 64-bit systems was added in version 1.24.
VeraCrypt audit QuarksLab conducted an audit of version 1.18 on behalf of the Open Source Technology Improvement Fund (OSTIF), which took 32 man-days. The auditor published the results on 17 October 2016. On the same day, IDRIX released version 1.19, which resolved major vulnerabilities identified in the audit. Fraunhofer Institute for Secure Information Technology (SIT) conducted another audit in 2020, following a request by Germany's Federal Office for Information Security (BSI), and published the results in October 2020.
… excerpt ends here. Continue reading the full article.




