Mounir IDRASSI
612bccbd1a
Align key schedules and fix Camellia SSSE3 dispatch
...
Align CRYPTO_INFO primary and secondary key-schedule buffers so cipher implementations can safely use word-sized schedule access on VeraCrypt-managed storage.
Keep generic Camellia direct uint64 schedule indexing. Builds that define CRYPTOPP_ALLOW_UNALIGNED_DATA_ACCESS use direct 64-bit key and block byte loads/stores; memcpy is retained only for strict-alignment builds.
Require SSSE3 before using the x64 AESNI 16-way Camellia path because the assembly uses pshufb in addition to AES and AVX.
2026-06-03 18:17:42 +09:00
Mounir IDRASSI
c3ce2db9ac
Document fixed Argon2id header key size
...
Argon2id includes the requested output length in its computation, so deriving 192 bytes and using a prefix is not equivalent to deriving only the selected cipher's key material length. This differs from PBKDF2, where the prefix property made this detail invisible.
VeraCrypt derives the maximum header key material currently needed by the supported cipher/cascade set, which is 192 bytes, and then uses the required prefix for the selected encryption algorithm. For AES-XTS this means the first 64 bytes of the 192-byte Argon2id output are used.
Make this design rule explicit in code and documentation by introducing ARGON2_HEADER_KEYDATA_SIZE instead of relying implicitly on GetMaxPkcs5OutSize. If a future cipher or cascade requires more than 192 bytes, that must be handled as an explicit format/design change.
Document the 192-byte Argon2id header KDF output requirement so third-party implementations derive the same header key material.
References: https://github.com/veracrypt/VeraCrypt/issues/1614
2026-05-21 18:10:06 +09:00
Mounir IDRASSI
e59eb421fb
Linux/macOS: Implement missing Argon2 KDF support on Unix
2026-04-19 17:52:44 +09:00
Mounir IDRASSI
da2198831f
Windows bootloader: Add EFI DCS guard for Argon2 support
...
We don't support yet Argon2 for EFI booloader build
2026-04-17 16:03:42 +09:00
uni-kod
7de81cd42b
Fix code compilation. ( #1583 )
...
* Fix "blake2b.h" header file location.
* Include "blake2b.h" to fix compilation.
2025-08-31 15:32:33 +09:00
Mounir IDRASSI
3867c1cca3
Use blake2b as hash for random generator from Argon2 is used.
2025-07-03 17:32:47 +09:00
Mounir IDRASSI
3c17b8ced2
Windows: Add support for Argon2id as an alternative to PBKDF2 key derivation
2025-06-25 15:44:31 +09:00
Mounir IDRASSI
44a9f8bcff
Remove SM4 support!
2025-05-18 18:31:39 +09:00
Mounir IDRASSI
b673901503
Move copyright and links to "AM Crypo", amcrypto.jp and veracrypt.jp
2025-05-11 16:02:20 +09:00
Mounir IDRASSI
7924f06e39
Initial support of SM4 cipher for normal volumes
2025-05-04 02:27:05 +09:00
Mounir IDRASSI
1b35abb191
Increment version to 1.26.18. Update copyright date. Update Release Notes. Update Windows drivers.
2025-01-14 12:26:28 +01:00
Mounir IDRASSI
c86577fc0e
Windows: remove 32-bit logic from the code since we support only 64-bit. remove 32-bit EFI bootloader files.
...
We also fix intermediary files folder for Portable and Setup projects
2024-11-16 01:05:15 +01:00
Mounir IDRASSI
cb97351250
Windows: Remove support for 32-bit driver code. Set build target as Windows 10. Simplify code and fix all warnings in driver.
2024-11-13 02:08:51 +01:00
Mounir IDRASSI
ed1263bf8c
Implement detection of volumes with vulnerable XTS master key.
...
If vulnerability detected, a warning message is displayed during mount or backup/restore header, and changing the password is disallowed since it will not change the master key.
2024-08-02 00:20:53 +02:00
Mounir IDRASSI
fa6359d424
Windows: Remove TrueCrypt support. Increment version to 1.26.4.
2023-07-22 10:25:22 +02:00
Mounir IDRASSI
36795a688f
Implement support of Blake2s-256 hash algorithm and remove deprecated algorithms RIPEMD-160 and GOST89.
2022-03-08 00:29:26 +01:00
Mounir IDRASSI
c374782436
Windows: replace insecure wcscpy/wcscat/strcpy runtime functions with secure equivalents
...
This fixed failure to build driver for ARM64 with latest VS 2019
2021-07-13 22:08:02 +02:00
Mounir IDRASSI
6b10f88e40
Fix build error of UEFI bootloader caused by latest changes that introduced ChaCha20 and T1HA algorithms and which are not present nor used in UEFI bootloader
2019-09-23 00:07:15 +02:00
Mounir IDRASSI
321715202a
Windows: Generalize RAM encryption for keys to VeraCrypt binaries, especially Format and Expander
2019-03-02 10:23:39 +01:00
Mounir IDRASSI
954bfd45d0
Windows Driver: Implement RAM encryption for cached passwords
2019-03-01 00:35:40 +01:00
Mounir IDRASSI
cf48b532b4
Windows: Implement RAM encryption for keys on 64-bit machines using ChaCha12 cipher and t1ha non-cryptographic fast hash ( https://github.com/leo-yuriev/t1ha )
2019-03-01 00:35:13 +01:00
Mounir IDRASSI
29b749bdd9
Windows: rename IsCpuRngSupport to IsCpuRngSupported for clarity and use it in Mount.c
2019-02-15 00:17:11 +01:00
Mounir IDRASSI
e5b9cee868
Windows: Add option to enable use of CPU RDRAND/RDSEED as source of entropy which is now disabled by default
2019-02-08 01:50:03 +01:00
Mounir IDRASSI
3c18d54d1e
Windows driver: replace SHA512 by RIPEMD160 when calculating internal hash of master key to avoid calling KeSaveFloatingPointState/KeSaveExtendedProcessorState since SHA512 implementation uses SSE2/AVX and RIPEMD160 is pure C
2019-02-01 00:35:33 +01:00
Mounir IDRASSI
ee0a2659da
Windows driver: remove volumes master keys from CRYPTO_INFO since they are not needed after their key schedule is created
2019-01-21 00:45:31 +01:00
Mounir IDRASSI
27b3fee02d
Windows: remove unused fields from CRYPTO_INFO structure
2019-01-21 00:45:23 +01:00
Mounir IDRASSI
652e989d23
Windows Security: Add new entry point in driver that allows emergency clearing of all encryption keys from memory. This entry point requires administrative privileges and it will caused BSDO when system encryption is active. It can be useful for example to applications that monitors physical access to the machine and which need to erase sensitive key material from RAM when unauthorized access is detected.
2019-01-09 00:30:12 +01:00
Mounir IDRASSI
7df9724e20
Crypto: Add support for 5 new cascades of cipher algorithms (Camellia-Kuznyechik, Camellia-Serpent, Kuznyechik-AES, Kuznyechik-Serpent-Camellia and Kuznyechik-Twofish)
2018-03-27 16:15:57 +02:00
Mounir IDRASSI
ff871511af
Windows: reduce size of MBR bootloader by removing unused functions in each build type.
2017-07-22 00:30:19 +02:00
Mounir IDRASSI
0ebc26e125
Update IDRIX copyright year
2017-06-23 22:15:59 +02:00
Mounir IDRASSI
e831198b3b
Windows: Fix Streebog not recognized by /hash command line switch but making hash names matching more generic.
2017-01-12 09:42:54 +01:00
Mounir IDRASSI
5547a605bd
Windows EFI: don't use optimized Serpent implementation for EFI bootloader because lack of C++ support in EDKII framework
2016-10-17 18:40:26 +02:00
Mounir IDRASSI
e5a9e9239b
Crypto: Use SIMD optimized Serpent implementation from Botan. 2.5x speed gain factor. Update credits and copyrights notice.
2016-10-17 18:40:23 +02:00
Mounir IDRASSI
2780ac962e
Linux: fix various compilation issues under Linux.
2016-08-17 00:08:18 +02:00
Mounir IDRASSI
c4d4ade9d0
Windows: Show only supported encryption algorithm in the system encryption wizard for MBR
2016-08-15 01:09:16 +02:00
Alex
246233c402
Windows EFI Bootloader: modifications to prepare EFI system encryption support (common files with DcsBoot)
2016-08-15 01:09:12 +02:00
Mounir IDRASSI
e90e24b30b
Windows: Add support for Streebog (hash) and kuznyechik (encryption)
2016-08-15 01:09:11 +02:00
Mounir IDRASSI
0b2c8b09c6
Windows: Add Magma cipher (GOST-89)
2016-08-15 01:09:10 +02:00
Mounir IDRASSI
76d3bc631e
Crypto: Add support for Japanese encryption standard Camellia, including for system encryption.
2016-06-02 00:12:00 +02:00
David Foerster
11716ed2da
Remove trailing whitespace
2016-05-10 22:18:34 +02:00
David Foerster
fc37cc4a02
Normalize all line terminators
2016-05-10 20:20:14 +02:00
Mounir IDRASSI
bda7a1d0bd
Copyright: update dates to include 2016.
2016-01-20 00:53:24 +01:00
Mounir IDRASSI
4181283f29
Cryptography: Set 16-byte alignment for KEY_INFO structure that is used as input for Whirlpool hash. This helps improve performance.
2016-01-03 00:14:59 +01:00
Mounir IDRASSI
90bd57fe40
Windows: Full UNICODE rewrite and implement support for UNICODE passwords.
2015-11-26 01:44:52 +01:00
Mounir IDRASSI
041024fbb9
Update license information to reflect the use of a dual license Apache 2.0 and TrueCrypt 3.0.
2015-08-06 00:04:25 +02:00
Mounir IDRASSI
6ef41abdd2
Use Pim name for internal variables instead of the old name Pin
2015-07-11 01:58:34 +02:00
Mounir IDRASSI
c3c1bdd29d
Windows: Add support for PIN in favorites. Several enhancements to GUI handling of Dynamic Mode.
2015-06-07 01:38:34 +02:00
Mounir IDRASSI
8ebf5ac605
Windows: first implementation of dynamic mode
2015-05-26 01:38:15 +02:00
Mounir IDRASSI
55b3400afa
Windows: change cascade encryption naming format to reflex mathematical composition of the encryption algorithm, thus being more clear. For example AES(Twofish(Serpent)) instead of AES-Twofish-Serpent.
2015-01-03 23:54:09 +01:00
Mounir IDRASSI
25c3d15ed7
Windows: support loading TrueCrypt volumes. Implement converting TrueCrypt volumes to VeraCrypt using the change password functionality.
2014-12-28 23:27:56 +01:00