Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified doc/chm/VeraCrypt User Guide.chm
Binary file not shown.
Binary file modified doc/chm/VeraCrypt User Guide.ru.chm
Binary file not shown.
Binary file modified doc/chm/VeraCrypt User Guide.zh-cn.chm
Binary file not shown.
8 changes: 4 additions & 4 deletions doc/html/en/Command Line Usage for Windows.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ <h1>Command Line Usage for Windows</h1>
</tr>
<tr>
<td><em>/hash</em></td>
<td>It must be followed by a parameter indicating the PRF hash algorithm or KDF to use when mounting the volume. Possible values for /hash parameter are: sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebog, and blake2b-512 (for Argon2id volumes). When /hash is omitted, VeraCrypt will try
<td>It must be followed by a parameter indicating the PRF hash algorithm or KDF to use when mounting the volume. Possible values for /hash parameter are: sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebog, blake2b-512, argon2, and argon2id. The values blake2b-512, argon2, and argon2id select Argon2id volumes. When /hash is omitted, VeraCrypt will try
all possible PRF/KDF algorithms thus lengthening the mount operation time.</td>
</tr>
<tr>
Expand Down Expand Up @@ -252,7 +252,7 @@ <h4>VeraCrypt Format.exe (VeraCrypt Volume Creation Wizard):</h4>
<tr>
<td>&nbsp;<em>/hash</em></td>
<td>(Only with /create)<br>
It must be followed by a parameter indicating the PRF hash algorithm or KDF to use when creating the volume. It has the same syntax as VeraCrypt.exe, and also accepts argon2 as an alias for Argon2id.</td>
It must be followed by a parameter indicating the PRF hash algorithm or KDF to use when creating the volume. It has the same syntax as VeraCrypt.exe; argon2 and argon2id select Argon2id.</td>
</tr>
<tr>
<td>/encryption</td>
Expand Down Expand Up @@ -324,9 +324,9 @@ <h4>VeraCrypt Format.exe (VeraCrypt Volume Creation Wizard):</h4>
</tbody>
</table>
<h4>Syntax</h4>
<p>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [drive letter]] [/e] [/f] [/h [y|n]] [/k keyfile or search path] [tryemptypass [y|n]] [/l drive letter] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
<p>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2|argon2id}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [drive letter]] [/e] [/f] [/h [y|n]] [/k keyfile or search path] [tryemptypass [y|n]] [/l drive letter] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
[/p password] [/pim pimvalue] [/q [background|preferences]] [/s] [/tokenlib path] [/v volume] [/w]</p>
<p>&quot;VeraCrypt Format.exe&quot; [/n] [/create] [/size number[{K|M|G|T}]] [/p password]&nbsp; [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia)))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2}]
<p>&quot;VeraCrypt Format.exe&quot; [/n] [/create] [/size number[{K|M|G|T}]] [/p password]&nbsp; [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia)))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2|argon2id}]
[/filesystem {None|FAT|NTFS|ExFAT|ReFS}] [/dynamic] [/force] [/silent] [/noisocheck] [FastCreateFile] [/quick]</p>
<p>Note that the order in which options are specified does not matter.</p>
<h4>Examples</h4>
Expand Down
8 changes: 4 additions & 4 deletions doc/html/ru/Command Line Usage.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ <h1>Использование в режиме командной строки</
</tr>
<tr>
<td>&nbsp;<em>/hash</em></td>
<td>После этого ключа указывается хеш-алгоритм PRF или KDF, используемый при монтировании тома. Возможные значения ключа /hash: <code>sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebog</code> и <code>blake2b-512</code> (для томов Argon2id). Если ключ <code>/hash</code> не указан, VeraCrypt будет пробовать
<td>После этого ключа указывается хеш-алгоритм PRF или KDF, используемый при монтировании тома. Возможные значения ключа /hash: <code>sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebog, blake2b-512, argon2, argon2id</code>. Значения <code>blake2b-512</code>, <code>argon2</code> и <code>argon2id</code> выбирают тома Argon2id. Если ключ <code>/hash</code> не указан, VeraCrypt будет пробовать
все доступные PRF/KDF-алгоритмы, тем самым увеличивая время монтирования.</td>
</tr>
<tr>
Expand Down Expand Up @@ -233,7 +233,7 @@ <h4>VeraCrypt Format.exe (Мастер создания томов VeraCrypt):</
<tr>
<td>&nbsp;<em>/hash</em></td>
<td>(Только с ключом <code>/create</code>)<br>
После этого ключа указывается хеш-алгоритм PRF или KDF, используемый при создании тома. Синтаксис такой же, как у VeraCrypt.exe; также принимается <code>argon2</code> как псевдоним Argon2id.</td>
После этого ключа указывается хеш-алгоритм PRF или KDF, используемый при создании тома. Синтаксис такой же, как у VeraCrypt.exe; <code>argon2</code> и <code>argon2id</code> выбирают Argon2id.</td>
</tr>
<tr>
<td>&nbsp;<em>/encryption</em></td>
Expand Down Expand Up @@ -305,9 +305,9 @@ <h4>VeraCrypt Format.exe (Мастер создания томов VeraCrypt):</
</tbody>
</table>
<h4>Синтаксис</h4>
<p><code>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [буква диска]] [/e] [/f] [/h [y|n]] [/k ключевой файл или путь поиска] [tryemptypass [y|n]] [/l буква диска] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
<p><code>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2|argon2id}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [буква диска]] [/e] [/f] [/h [y|n]] [/k ключевой файл или путь поиска] [tryemptypass [y|n]] [/l буква диска] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
[/p пароль] [/pim значение pim] [/q [background|preferences]] [/s] [/tokenlib путь] [/v том] [/w]</code></p>
<p><code>&quot;VeraCrypt Format.exe&quot; [/n] [/create] [/size число[{K|M|G|T}]] [/p пароль]&nbsp; [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2}]
<p><code>&quot;VeraCrypt Format.exe&quot; [/n] [/create] [/size число[{K|M|G|T}]] [/p пароль]&nbsp; [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2|argon2id}]
[/filesystem {пусто|FAT|NTFS|ExFAT|ReFS}] [/dynamic] [/force] [/silent] [/noisocheck] [FastCreateFile] [/quick]</code></p>
<p>Порядок, в котором указаны параметры, не имеет значения.</p>
<h4>Примеры</h4>
Expand Down
8 changes: 4 additions & 4 deletions doc/html/zh-cn/Command Line Usage.html
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ <h1>命令行使用</h1>
</tr>
<tr>
<td><em>/hash</em></td>
<td>必须后跟一个参数,指示挂载卷时要使用的 PRF 哈希算法或 KDF。可能的 /hash 参数值为:sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebogblake2b-512(用于 Argon2id 卷。当省略 /hash 时,VeraCrypt 将尝试所有可能的 PRF/KDF 算法,从而延长挂载操作时间。</td>
<td>必须后跟一个参数,指示挂载卷时要使用的 PRF 哈希算法或 KDF。可能的 /hash 参数值为:sha256, sha-256, sha512, sha-512, whirlpool, blake2s, blake2s-256, streebog, blake2b-512, argon2 和 argon2id。blake2b-512、argon2 和 argon2id 均选择 Argon2id 卷。当省略 /hash 时,VeraCrypt 将尝试所有可能的 PRF/KDF 算法,从而延长挂载操作时间。</td>
</tr>
<tr>
<td id="volume"><em>/volume</em> 或 <em>/v</em></td>
Expand Down Expand Up @@ -228,7 +228,7 @@ <h4>VeraCrypt Format.exe(VeraCrypt 卷创建向导):</h4>
<tr>
<td>&nbsp;<em>/hash</em></td>
<td>(仅与 /create 一起使用)<br>
必须后跟一个参数,指示创建卷时要使用的 PRF 哈希算法或 KDF。它与 VeraCrypt.exe 具有相同的语法,并且还接受 <code>argon2</code> 作为 Argon2id 的别名。</td>
必须后跟一个参数,指示创建卷时要使用的 PRF 哈希算法或 KDF。它与 VeraCrypt.exe 具有相同的语法<code>argon2</code> 和 <code>argon2id</code> 选择 Argon2id。</td>
</tr>
<tr>
<td>/encryption</td>
Expand Down Expand Up @@ -299,9 +299,9 @@ <h4>VeraCrypt Format.exe(VeraCrypt 卷创建向导):</h4>
</tbody>
</table>
<h4>语法</h4>
<p>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [drive letter]] [/e] [/f] [/h [y|n]] [/k keyfile or search path] [tryemptypass [y|n]] [/l drive letter] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
<p>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2|argon2id}][/a [devices|favorites]] [/b] [/c [y|n|f]] [/d [drive letter]] [/e] [/f] [/h [y|n]] [/k keyfile or search path] [tryemptypass [y|n]] [/l drive letter] [/m {bk|rm|recovery|ro|sm|ts|noattach}]
[/p password] [/pim pimvalue] [/q [background|preferences]] [/s] [/tokenlib path] [/v volume] [/w]</p>
<p>&quot;VeraCrypt Format.exe&quot; [/n] [/create] [/size number[{K|M|G|T}]] [/p password]&nbsp; [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2}]
<p>&quot;VeraCrypt Format.exe&quot; [/n] [/create] [/size number[{K|M|G|T}]] [/p password]&nbsp; [/encryption {AES | Serpent | Twofish | Camellia | Kuznyechik | AES(Twofish) | AES(Twofish(Serpent)) | Serpent(AES) | Serpent(Twofish(AES)) | Twofish(Serpent) | Camellia(Kuznyechik) | Kuznyechik(Twofish) | Camellia(Serpent) | Kuznyechik(AES) | Kuznyechik(Serpent(Camellia))}] [/hash {sha256|sha-256|sha512|sha-512|whirlpool|blake2s|blake2s-256|streebog|blake2b-512|argon2|argon2id}]
[/filesystem {None|FAT|NTFS|ExFAT|ReFS}] [/dynamic] [/force] [/silent] [/noisocheck] [FastCreateFile] [/quick]</p>
<p>请注意,选项的指定顺序无关紧要。</p>
<h4>示例</h4>
Expand Down
5 changes: 5 additions & 0 deletions src/Common/Crypto.c
Original file line number Diff line number Diff line change
Expand Up @@ -743,6 +743,11 @@ Hash *HashGet (int id)
int HashGetIdByName (wchar_t *name)
{
int i;
#ifndef VC_DCS_DISABLE_ARGON2
if (_wcsicmp (name, L"Argon2") == 0 || _wcsicmp (name, L"Argon2id") == 0)
return ARGON2;
#endif

for (i = 0; Hashes[i].Id != 0; i++)
if (_wcsicmp (Hashes[i].Name, name) == 0)
return Hashes[i].Id;
Expand Down
51 changes: 51 additions & 0 deletions src/Common/zlib/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,6 +1,57 @@

ChangeLog file for zlib

Changes in 1.3.2 (17 Feb 2026)
- Continued rewrite of CMake build [Vollstrecker]
- Various portability improvements
- Various github workflow additions and improvements
- Check for negative lengths in crc32_combine functions
- Copy only the initialized window contents in inflateCopy
- Prevent the use of insecure functions without an explicit request
- Add compressBound_z and deflateBound_z functions for large values
- Use atomics to build inflate fixed tables once
- Add definition of ZLIB_INSECURE to build tests with c89 and c94
- Add --undefined option to ./configure for UBSan checker
- Copy only the initialized deflate state in deflateCopy
- Zero inflate state on allocation
- Remove untgz from contrib
- Add _z versions of the compress and uncompress functions
- Vectorize the CRC-32 calculation on the s390x
- Set bit 11 of the zip header flags in minizip if UTF-8
- Update OS/400 support
- Add a test to configure to check for a working compiler
- Check for invalid NULL pointer inputs to zlib operations
- Add --mandir to ./configure to specify manual directory
- Add LICENSE.Info-Zip to contrib/minizip
- Remove vstudio projects in lieu of cmake-generated projects
- Replace strcpy() with memcpy() in contrib/minizip

Changes in 1.3.1.2 (8 Dec 2025)
- Improve portability to RISC OS
- Permit compiling contrib/minizip/unzip.c with decryption
- Enable build of shared library on AIX
- Make deflateBound() more conservative and handle Z_STREAM_END
- Add zipAlreadyThere() to minizip zip.c to help avoid duplicates
- Make z_off_t 64 bits by default
- Add deflateUsed() function to get the used bits in the last byte
- Avoid out-of-bounds pointer arithmetic in inflateCopy()
- Add Haiku to configure for proper LDSHARED settings
- Add Bazel targets
- Complete rewrite of CMake build [Vollstrecker]
- Clarify the use of errnum in gzerror()
- Note that gzseek() requests are deferred until the next operation
- Note the use of gzungetc() to run a deferred seek while reading
- Fix bug in inflatePrime() for 16-bit ints
- Add a "G" option to force gzip, disabling transparency in gzread()
- Improve the discrimination between trailing garbage and bad gzip
- Allow gzflush() to write empty gzip members
- Remove redundant frees of point list on error in examples/zran.c
- Clarify the use of inflateGetHeader()
- Update links to the RFCs
- Return all available uncompressed data on error in gzread.c
- Support non-blocking devices in the gz* routines
- Various other small improvements

Changes in 1.3.1 (22 Jan 2024)
- Reject overflows of zip header fields in minizip
- Fix bug in inflateSync() for data held in bit buffer
Expand Down
28 changes: 13 additions & 15 deletions src/Common/zlib/README
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
ZLIB DATA COMPRESSION LIBRARY

zlib 1.3.1 is a general purpose data compression library. All the code is
thread safe. The data format used by the zlib library is described by RFCs
(Request for Comments) 1950 to 1952 in the files
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
rfc1952 (gzip format).
zlib 1.3.2 is a general purpose data compression library. All the code is
thread safe (though see the FAQ for caveats). The data format used by the zlib
library is described by RFCs (Request for Comments) 1950 to 1952 at
https://datatracker.ietf.org/doc/html/rfc1950 (zlib format), rfc1951 (deflate
format) and rfc1952 (gzip format).

All functions of the compression library are documented in the file zlib.h
(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
Expand All @@ -21,17 +21,17 @@ make_vms.com.

Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
<info@winimage.com> for the Windows DLL version. The zlib home page is
http://zlib.net/ . Before reporting a problem, please check this site to
https://zlib.net/ . Before reporting a problem, please check this site to
verify that you have the latest version of zlib; otherwise get the latest
version and check whether the problem still exists or not.

PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
PLEASE read the zlib FAQ https://zlib.net/zlib_faq.html before asking for help.

Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
issue of Dr. Dobb's Journal; a copy of the article is available at
https://marknelson.us/posts/1997/01/01/zlib-engine.html .
https://zlib.net/nelson/ .

The changes made in version 1.3.1 are documented in the file ChangeLog.
The changes made in version 1.3.2 are documented in the file ChangeLog.

Unsupported third party contributions are provided in directory contrib/ .

Expand All @@ -43,9 +43,9 @@ can be found at https://github.com/pmqs/IO-Compress .

A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
available in Python 1.5 and later versions, see
http://docs.python.org/library/zlib.html .
https://docs.python.org/3/library/zlib.html .

zlib is built into tcl: http://wiki.tcl.tk/4610 .
zlib is built into tcl: https://wiki.tcl-lang.org/page/zlib .

An experimental package to read and write files in .zip format, written on top
of zlib by Gilles Vollant <info@winimage.com>, is available in the
Expand All @@ -69,9 +69,7 @@ Notes for some targets:
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
other compilers. Use "make test" to check your compiler.

- gzdopen is not supported on RISCOS or BEOS.

- For PalmOs, see http://palmzlib.sourceforge.net/
- For PalmOs, see https://palmzlib.sourceforge.net/


Acknowledgments:
Expand All @@ -83,7 +81,7 @@ Acknowledgments:

Copyright notice:

(C) 1995-2024 Jean-loup Gailly and Mark Adler
(C) 1995-2026 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
Expand Down
Loading
Loading