@fzxx: I have used OpenAI o3 and Google Gemini Pro 2.5 to see what they can propose. They both agreed that the only solution is to add cancellation logic inside the cryptographic primitives for various PRFs in order to be able to abort operations as soon as possible. This is something I never thought about because it breaks separations between layers, and it introduces dependency between low level cryptographic components and high-level business logic. Despite being ugly, I implemented it and it...
Windows: set version to 1.26.26. Update Release Notes, bootloader and Windows drivers.
Windows: speedup PRF autodetection mode by implementing abort mechanism in PBKDF2/Argon2 primitives
Update Language.zh-cn.xml (#1565)
Update Corsican translation on 2025-06 (#1566)
@tulip-81: for now, system encryption doesn't support Argon2. But it is planned for EFI bootloader so it is coming. For MBR, it is unfortunately impossible to implement because of the constraints of the 16-bit boot environment.
@fzxx: there is already a logic in VeraCrypt drive to use multi-threading for automatic detection and then stop as soon as the correct PRF is found. But the current implementation waits until all PRFs in current thread pool finish before continuing...this is because we cannot just ignore exiting threads or abort them, we have to wait until they finish properly to avoid data corruption. That being said, it is technically possible to have a better implementation to avoid this, it is just a matter of...
@captain150: I understand the confusion. Actually, VeraCrypt doesn't use hash algorithms directly. VeraCrypt uses what we call a PRF (Pseudo Random Function) to derive the header key that is necessary for decrypting the master key. VeraCrypt documentation mention the use of PRF : https://veracrypt.jp/en/Encryption%20Scheme.html Until now, we had PRF instances based on PBKDF2-HMAC where HMAC may use one if the supported hash algorithms. With the introduction of Argon2, we have a new PRF type: Argon2id....