VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Signing/TestCertificate/idrix_TestRootCA.crt
diff options
context:
space:
mode:
Diffstat (limited to 'src/Signing/TestCertificate/idrix_TestRootCA.crt')
0 files changed, 0 insertions, 0 deletions
e/VeraCrypt/diff/doc/html/BCH_Logo_48x30.png?id2=46a32bea192676f235f5d6eadb0e8c4b5373fd02&context=1'>doc/html/BCH_Logo_48x30.pngbin2064 -> 0 bytes-rw-r--r--doc/html/BLAKE2s-256.html (renamed from doc/html/RIPEMD-160.html)16
-rw-r--r--doc/html/Beginner's Tutorial.html6
-rw-r--r--doc/html/Command Line Usage.html22
-rw-r--r--doc/html/CompilingGuidelineLinux.html314
-rw-r--r--doc/html/CompilingGuidelineWin.html1225
-rw-r--r--doc/html/CompilingGuidelineWin/AddNewSystemVar.jpgbin0 -> 71100 bytes-rw-r--r--doc/html/CompilingGuidelineWin/CertVerifyFails.jpgbin0 -> 15443 bytes-rw-r--r--doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpgbin0 -> 87022 bytes-rw-r--r--doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpgbin0 -> 10581 bytes-rw-r--r--doc/html/CompilingGuidelineWin/DownloadVS2010.jpgbin0 -> 167558 bytes-rw-r--r--doc/html/CompilingGuidelineWin/DownloadVS2019.jpgbin0 -> 231800 bytes-rw-r--r--doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpgbin0 -> 187788 bytes-rw-r--r--doc/html/CompilingGuidelineWin/NasmCommandLine.jpgbin0 -> 27541 bytes-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpgbin0 -> 42281 bytes-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpgbin0 -> 82730 bytes-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpgbin0 -> 48073 bytes-rw-r--r--doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpgbin0 -> 20213 bytes-rw-r--r--doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpgbin0 -> 142348 bytes-rw-r--r--doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpgbin0 -> 41283 bytes-rw-r--r--doc/html/CompilingGuidelineWin/SelectPathVariable.jpgbin0 -> 71894 bytes-rw-r--r--doc/html/CompilingGuidelineWin/SelectThisPC.jpgbin0 -> 50245 bytes-rw-r--r--doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpgbin0 -> 59737 bytes-rw-r--r--doc/html/CompilingGuidelineWin/VS2010Win32Config.jpgbin0 -> 167454 bytes-rw-r--r--doc/html/CompilingGuidelineWin/VS2010X64Config.jpgbin0 -> 149165 bytes-rw-r--r--doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpgbin0 -> 58551 bytes-rw-r--r--doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpgbin0 -> 49572 bytes-rw-r--r--doc/html/CompilingGuidelineWin/YasmCommandLine.jpgbin0 -> 33328 bytes-rw-r--r--doc/html/CompilingGuidelineWin/gzipCommandLine.jpgbin0 -> 28217 bytes-rw-r--r--doc/html/CompilingGuidelineWin/upxCommandLine.jpgbin0 -> 52807 bytes-rw-r--r--doc/html/CompilingGuidelines.html47
-rw-r--r--doc/html/Conversion_Guide_VeraCrypt_1.26_and_Later.html100
-rw-r--r--doc/html/Converting TrueCrypt volumes and partitions.html8
-rw-r--r--doc/html/Creating New Volumes.html2
-rw-r--r--doc/html/Documentation.html13
-rw-r--r--doc/html/Donation.html131
-rw-r--r--doc/html/Donation_Bank.html15
-rw-r--r--doc/html/Donation_VC_BTC_Sigwit.pngbin1399 -> 24361 bytes-rw-r--r--doc/html/Donation_VeraCrypt_BitcoinCash.pngbin8805 -> 24904 bytes-rw-r--r--doc/html/Donation_VeraCrypt_Bitcoin_small.pngbin9096 -> 5917 bytes-rw-r--r--doc/html/Donation_VeraCrypt_Ethereum.pngbin9694 -> 29006 bytes-rw-r--r--doc/html/Donation_VeraCrypt_Litecoin.pngbin7619 -> 6010 bytes-rw-r--r--doc/html/Donation_VeraCrypt_Monero.pngbin7073 -> 7674 bytes-rw-r--r--doc/html/EMV Smart Cards.html87
-rw-r--r--doc/html/Encryption Scheme.html2
-rw-r--r--doc/html/FAQ.html63
-rw-r--r--doc/html/Hash Algorithms.html4
-rw-r--r--doc/html/Header Key Derivation.html25
-rw-r--r--doc/html/Hibernation File.html2
-rw-r--r--doc/html/Hidden Volume.html2
-rw-r--r--doc/html/Incompatibilities.html2
-rw-r--r--doc/html/Introduction.html2
-rw-r--r--doc/html/Issues and Limitations.html8
-rw-r--r--doc/html/Keyfiles in VeraCrypt.html20
-rw-r--r--doc/html/Keyfiles.html295
-rw-r--r--doc/html/LTC_Logo_30x30.pngbin1833 -> 1756 bytes-rw-r--r--doc/html/Language Packs.html8
-rw-r--r--doc/html/Legal Information.html11
-rw-r--r--doc/html/Main Program Window.html22
-rw-r--r--doc/html/Multi-User Environment.html6
-rw-r--r--doc/html/Normal Unmount vs Force Unmount.html77
-rw-r--r--doc/html/Personal Iterations Multiplier (PIM).html16
-rw-r--r--doc/html/Portable Mode.html4
-rw-r--r--doc/html/Program Menu.html32
-rw-r--r--doc/html/Protection of Hidden Volumes.html10
-rw-r--r--doc/html/Random Number Generator.html4
-rw-r--r--doc/html/Release Notes.html294
-rw-r--r--doc/html/Removable Medium Volume.html4
-rw-r--r--doc/html/Removing Encryption.html2
-rw-r--r--doc/html/Security Model.html8
-rw-r--r--doc/html/Security Requirements and Precautions.html2
-rw-r--r--doc/html/Security Requirements for Hidden Volumes.html2
-rw-r--r--doc/html/Sharing over Network.html2
-rw-r--r--doc/html/Supported Operating Systems.html27
-rw-r--r--doc/html/Supported Systems for System Encryption.html10
-rw-r--r--doc/html/System Encryption.html13
-rw-r--r--doc/html/System Favorite Volumes.html4
-rw-r--r--doc/html/Technical Details.html9
-rw-r--r--doc/html/Trim Operation.html23
-rw-r--r--doc/html/Troubleshooting.html2
-rw-r--r--doc/html/TrueCrypt Support.html3
-rw-r--r--doc/html/Unencrypted Data in RAM.html14
-rw-r--r--doc/html/Using VeraCrypt Without Administrator Privileges.html2
-rw-r--r--doc/html/VeraCrypt Background Task.html2
-rw-r--r--doc/html/VeraCrypt Hidden Operating System.html2
-rw-r--r--doc/html/VeraCrypt License.html22
-rw-r--r--doc/html/VeraCrypt Memory Protection.html106
-rw-r--r--doc/html/VeraCrypt RAM Encryption.html158
-rw-r--r--doc/html/donation.js9
-rw-r--r--doc/html/ru/AES.html58
-rw-r--r--doc/html/ru/Acknowledgements.html60
-rw-r--r--doc/html/ru/Additional Security Requirements and Precautions.html52
-rw-r--r--doc/html/ru/Authenticity and Integrity.html54
-rw-r--r--doc/html/ru/Authors.html44
-rw-r--r--doc/html/ru/Avoid Third-Party File Extensions.html85
-rw-r--r--doc/html/ru/BCH_Logo_30x30.pngbin0 -> 1918 bytes-rw-r--r--doc/html/ru/BC_Logo_30x30.pngbin0 -> 4097 bytes-rw-r--r--doc/html/ru/BLAKE2s-256.html59
-rw-r--r--doc/html/ru/Beginner's Tutorial.html244
-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_001.pngbin0 -> 8841 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_002.pngbin0 -> 64537 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_003.pngbin0 -> 62196 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_004.pngbin0 -> 62571 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_005.pngbin0 -> 11623 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_007.pngbin0 -> 62627 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_008.pngbin0 -> 60665 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_009.pngbin0 -> 58962 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_010.pngbin0 -> 60725 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_011.pngbin0 -> 60105 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_012.pngbin0 -> 2135 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_013.pngbin0 -> 56606 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_014.pngbin0 -> 9202 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_015.pngbin0 -> 9034 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_016.pngbin0 -> 13171 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_017.pngbin0 -> 9448 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_018.pngbin0 -> 4925 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_019.pngbin0 -> 5315 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_020.pngbin0 -> 9680 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_021.pngbin0 -> 19898 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_022.pngbin0 -> 10053 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_023.pngbin0 -> 2209 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_024.pngbin0 -> 9985 bytes-rw-r--r--doc/html/ru/Beginner's Tutorial_Image_034.pngbin0 -> 5849 bytes-rw-r--r--doc/html/ru/Camellia.html48
-rw-r--r--doc/html/ru/Cascades.html91
-rw-r--r--doc/html/ru/Changing Passwords and Keyfiles.html56
-rw-r--r--doc/html/ru/Choosing Passwords and Keyfiles.html60
-rw-r--r--doc/html/ru/Command Line Usage.html325
-rw-r--r--doc/html/ru/CompilingGuidelineLinux.html314
-rw-r--r--doc/html/ru/CompilingGuidelineWin.html1224
-rw-r--r--doc/html/ru/CompilingGuidelines.html47
-rw-r--r--doc/html/ru/Contact.html54
-rw-r--r--doc/html/ru/Contributed Resources.html65
-rw-r--r--doc/html/ru/Conversion_Guide_VeraCrypt_1.26_and_Later.html101
-rw-r--r--doc/html/ru/Converting TrueCrypt volumes and partitions.html52
-rw-r--r--doc/html/ru/Converting TrueCrypt volumes and partitions_truecrypt_convertion.pngbin0 -> 8581 bytes-rw-r--r--doc/html/ru/Creating New Volumes.html139
-rw-r--r--doc/html/ru/Data Leaks.html91
-rw-r--r--doc/html/ru/Default Mount Parameters.html54
-rw-r--r--doc/html/ru/Default Mount Parameters_VeraCrypt_password_using_default_parameters.pngbin0 -> 5283 bytes-rw-r--r--doc/html/ru/Defragmenting.html53
-rw-r--r--doc/html/ru/Digital Signatures.html122
-rw-r--r--doc/html/ru/Disclaimers.html55
-rw-r--r--doc/html/ru/Documentation.html161
-rw-r--r--doc/html/ru/Donation.html122
-rw-r--r--doc/html/ru/Donation_Bank.html117
-rw-r--r--doc/html/ru/Donation_VC_BTC_Sigwit.pngbin0 -> 24361 bytes-rw-r--r--doc/html/ru/Donation_VeraCrypt_BitcoinCash.pngbin0 -> 24904 bytes-rw-r--r--doc/html/ru/Donation_VeraCrypt_Bitcoin_small.pngbin0 -> 5917 bytes-rw-r--r--doc/html/ru/Donation_VeraCrypt_Ethereum.pngbin0 -> 29006 bytes-rw-r--r--doc/html/ru/Donation_VeraCrypt_Litecoin.pngbin0 -> 6010 bytes-rw-r--r--doc/html/ru/Donation_VeraCrypt_Monero.pngbin0 -> 7674 bytes-rw-r--r--doc/html/ru/Donation_donate.gifbin0 -> 1714 bytes-rw-r--r--doc/html/ru/Donation_donate_CHF.gifbin0 -> 1734 bytes-rw-r--r--doc/html/ru/Donation_donate_Dollars.gifbin0 -> 1788 bytes-rw-r--r--doc/html/ru/Donation_donate_Euros.gifbin0 -> 1744 bytes-rw-r--r--doc/html/ru/Donation_donate_GBP.gifbin0 -> 1766 bytes-rw-r--r--doc/html/ru/Donation_donate_PLN.gifbin0 -> 2893 bytes-rw-r--r--doc/html/ru/Donation_donate_YEN.gifbin0 -> 1765 bytes-rw-r--r--doc/html/ru/EMV Smart Cards.html85
-rw-r--r--doc/html/ru/Encryption Algorithms.html270
-rw-r--r--doc/html/ru/Encryption Scheme.html105
-rw-r--r--doc/html/ru/Ethereum_Logo_19x30.pngbin0 -> 891 bytes-rw-r--r--doc/html/ru/FAQ.html911
-rw-r--r--doc/html/ru/Favorite Volumes.html133
-rw-r--r--doc/html/ru/Hardware Acceleration.html87
-rw-r--r--doc/html/ru/Hash Algorithms.html62
-rw-r--r--doc/html/ru/Header Key Derivation.html104
-rw-r--r--doc/html/ru/Hibernation File.html85
-rw-r--r--doc/html/ru/Hidden Operating System.html51
-rw-r--r--doc/html/ru/Hidden Volume.html123
-rw-r--r--doc/html/ru/Home_VeraCrypt_Default_Mount_Parameters.pngbin0 -> 2176 bytes-rw-r--r--doc/html/ru/Home_VeraCrypt_menu_Default_Mount_Parameters.pngbin0 -> 4897 bytes-rw-r--r--doc/html/ru/Home_facebook_veracrypt.pngbin0 -> 868 bytes-rw-r--r--doc/html/ru/Home_reddit.pngbin0 -> 1456 bytes-rw-r--r--doc/html/ru/Home_utilities-file-archiver-3.pngbin0 -> 2186 bytes-rw-r--r--doc/html/ru/Hot Keys.html41
-rw-r--r--doc/html/ru/How to Back Up Securely.html137
-rw-r--r--doc/html/ru/Incompatibilities.html95
-rw-r--r--doc/html/ru/Introduction.html75
-rw-r--r--doc/html/ru/Issues and Limitations.html176
-rw-r--r--doc/html/ru/Journaling File Systems.html53
-rw-r--r--doc/html/ru/Keyfiles in VeraCrypt.html296
-rw-r--r--doc/html/ru/Keyfiles in VeraCrypt_Image_040.pngbin0 -> 5096 bytes-rw-r--r--doc/html/ru/Keyfiles.html111
-rw-r--r--doc/html/ru/Kuznyechik.html45
-rw-r--r--doc/html/ru/LTC_Logo_30x30.pngbin0 -> 1756 bytes-rw-r--r--doc/html/ru/Language Packs.html55
-rw-r--r--doc/html/ru/Legal Information.html67
-rw-r--r--doc/html/ru/Main Program Window.html136
-rw-r--r--doc/html/ru/Malware.html73
-rw-r--r--doc/html/ru/Memory Dump Files.html72
-rw-r--r--doc/html/ru/Miscellaneous.html48
-rw-r--r--doc/html/ru/Modes of Operation.html134
-rw-r--r--doc/html/ru/Monero_Logo_30x30.pngbin0 -> 1169 bytes-rw-r--r--doc/html/ru/Mounting VeraCrypt Volumes.html79
-rw-r--r--doc/html/ru/Multi-User Environment.html62
-rw-r--r--doc/html/ru/Normal Unmount vs Force Unmount.html77
-rw-r--r--doc/html/ru/Notation.html89
-rw-r--r--doc/html/ru/Paging File.html88
-rw-r--r--doc/html/ru/Parallelization.html62
-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM).html144
-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM)_VeraCrypt_ChangePIM_Step1.pngbin0 -> 8551 bytes-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM)_VeraCrypt_ChangePIM_Step2.pngbin0 -> 8852 bytes-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM)_VeraCrypt_ChangePIM_System_Step1.pngbin0 -> 9228 bytes-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM)_VeraCrypt_ChangePIM_System_Step2.pngbin0 -> 9494 bytes-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM)_VeraCrypt_UsePIM_Step1.pngbin0 -> 6027 bytes-rw-r--r--doc/html/ru/Personal Iterations Multiplier (PIM)_VeraCrypt_UsePIM_Step2.pngbin0 -> 6853 bytes-rw-r--r--doc/html/ru/Physical Security.html67
-rw-r--r--doc/html/ru/Pipelining.html60
-rw-r--r--doc/html/ru/Plausible Deniability.html93
-rw-r--r--doc/html/ru/Portable Mode.html100
-rw-r--r--doc/html/ru/Preface.html43
-rw-r--r--doc/html/ru/Program Menu.html281
-rw-r--r--doc/html/ru/Protection of Hidden Volumes.html145
-rw-r--r--doc/html/ru/Protection of Hidden Volumes_Image_027.pngbin0 -> 5606 bytes-rw-r--r--doc/html/ru/Protection of Hidden Volumes_Image_028.pngbin0 -> 9612 bytes-rw-r--r--doc/html/ru/Protection of Hidden Volumes_Image_029.pngbin0 -> 10946 bytes-rw-r--r--doc/html/ru/Protection of Hidden Volumes_Image_030.pngbin0 -> 6189 bytes-rw-r--r--doc/html/ru/Protection of Hidden Volumes_Image_031.pngbin0 -> 9409 bytes-rw-r--r--doc/html/ru/Random Number Generator.html119
-rw-r--r--doc/html/ru/Reallocated Sectors.html58
-rw-r--r--doc/html/ru/References.html238
-rw-r--r--doc/html/ru/Release Notes.html1253
-rw-r--r--doc/html/ru/Removable Medium Volume.html67
-rw-r--r--doc/html/ru/Removing Encryption.html93
-rw-r--r--doc/html/ru/SHA-256.html45
-rw-r--r--doc/html/ru/SHA-512.html45
-rw-r--r--doc/html/ru/Security Model.html159
-rw-r--r--doc/html/ru/Security Requirements and Precautions.html95
-rw-r--r--doc/html/ru/Security Requirements for Hidden Volumes.html253
-rw-r--r--doc/html/ru/Security Tokens & Smart Cards.html44
-rw-r--r--doc/html/ru/Serpent.html64
-rw-r--r--doc/html/ru/Sharing over Network.html66
-rw-r--r--doc/html/ru/Source Code.html54
-rw-r--r--doc/html/ru/Standard Compliance.html48
-rw-r--r--doc/html/ru/Streebog.html46
-rw-r--r--doc/html/ru/Supported Operating Systems.html60
-rw-r--r--doc/html/ru/Supported Systems for System Encryption.html58
-rw-r--r--doc/html/ru/System Encryption.html103
-rw-r--r--doc/html/ru/System Favorite Volumes.html110
-rw-r--r--doc/html/ru/Technical Details.html68
-rw-r--r--doc/html/ru/Trim Operation.html74
-rw-r--r--doc/html/ru/Troubleshooting.html510
-rw-r--r--doc/html/ru/TrueCrypt Support.html45
-rw-r--r--doc/html/ru/TrueCrypt Support_truecrypt_mode_gui.pngbin0 -> 5310 bytes-rw-r--r--doc/html/ru/Twofish.html50
-rw-r--r--doc/html/ru/Unencrypted Data in RAM.html103
-rw-r--r--doc/html/ru/Uninstalling VeraCrypt.html52
-rw-r--r--doc/html/ru/Using VeraCrypt Without Administrator Privileges.html68
-rw-r--r--doc/html/ru/VeraCrypt Background Task.html62
-rw-r--r--doc/html/ru/VeraCrypt Hidden Operating System.html360
-rw-r--r--doc/html/ru/VeraCrypt License.html442
-rw-r--r--doc/html/ru/VeraCrypt Memory Protection.html106
-rw-r--r--doc/html/ru/VeraCrypt RAM Encryption.html158
-rw-r--r--doc/html/ru/VeraCrypt Rescue Disk.html217
-rw-r--r--doc/html/ru/VeraCrypt System Files.html110
-rw-r--r--doc/html/ru/VeraCrypt Volume Format Specification.html759
-rw-r--r--doc/html/ru/VeraCrypt Volume.html52
-rw-r--r--doc/html/ru/VeraCrypt128x128.pngbin0 -> 13328 bytes-rw-r--r--doc/html/ru/Volume Clones.html50
-rw-r--r--doc/html/ru/Wear-Leveling.html84
-rw-r--r--doc/html/ru/Whirlpool.html51
-rw-r--r--doc/html/ru/arrow_right.gifbin0 -> 49 bytes-rw-r--r--doc/html/ru/bank_30x30.pngbin0 -> 1946 bytes-rw-r--r--doc/html/ru/flag-au-small.pngbin0 -> 1111 bytes-rw-r--r--doc/html/ru/flag-au.pngbin0 -> 1557 bytes-rw-r--r--doc/html/ru/flag-eu-small.pngbin0 -> 935 bytes-rw-r--r--doc/html/ru/flag-eu.pngbin0 -> 1727 bytes-rw-r--r--doc/html/ru/flag-gb-small.pngbin0 -> 1081 bytes-rw-r--r--doc/html/ru/flag-gb.pngbin0 -> 2029 bytes-rw-r--r--doc/html/ru/flag-nz-small.pngbin0 -> 783 bytes-rw-r--r--doc/html/ru/flag-nz.pngbin0 -> 1494 bytes-rw-r--r--doc/html/ru/flag-us-small.pngbin0 -> 1029 bytes-rw-r--r--doc/html/ru/flag-us.pngbin0 -> 1147 bytes-rw-r--r--doc/html/ru/flattr-badge-large.pngbin0 -> 2238 bytes-rw-r--r--doc/html/ru/gf2_mul.gifbin0 -> 869 bytes-rw-r--r--doc/html/ru/liberapay_donate.svg2
-rw-r--r--doc/html/ru/paypal_30x30.pngbin0 -> 1274 bytes-rw-r--r--doc/html/ru/styles.css31
-rw-r--r--doc/html/ru/twitter_veracrypt.PNGbin0 -> 2374 bytes-rw-r--r--doc/html/styles.css51
284 files changed, 18715 insertions, 301 deletions
diff --git a/doc/html/Avoid Third-Party File Extensions.html b/doc/html/Avoid Third-Party File Extensions.html
new file mode 100644
index 00000000..b339e780
--- /dev/null
+++ b/doc/html/Avoid Third-Party File Extensions.html
@@ -0,0 +1,85 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="Avoid%20Third-Party%20File%20Extensions.html">Avoid Third-Party File Extensions</a>
+</p></div>
+
+<div class="wikidoc">
+ <h1>Understanding the Risks of Using Third-Party File Extensions with VeraCrypt</h1>
+ <div>
+ <p>While VeraCrypt provides robust encryption capabilities to secure your data, using third-party file extensions for File Containers or Keyfiles could risk making the encrypted data inaccessible.<br />
+ This guide provides an in-depth explanation of the associated risks, and it outlines recommendations for best practices to mitigate these risks.</p>
+ </div>
+
+ <h2>Risks Associated with File Containers</h2>
+ <div>
+ <p>Using a third-party file extension for File Containers exposes you to several risks:</p>
+ <ul>
+ <li>Overwritten Metadata: Third-party applications may update their metadata, which could overwrite crucial parts of the File Container.</li>
+ <li>Unintentional Changes: Accidentally launching a File Container with a third-party application could modify its metadata without your consent.</li>
+ <li>Container Corruption: These actions could render the container unreadable or unusable.</li>
+ <li>Data Loss: The data within the container might be permanently lost if the container becomes corrupted.</li>
+ </ul>
+ </div>
+
+ <h2>Risks Associated with Keyfiles</h2>
+ <div>
+ <p>Similar risks are associated with Keyfiles:</p>
+ <ul>
+ <li>Keyfile Corruption: Inadvertently modifying a Keyfile with a third-party application can make it unusable for decryption.</li>
+ <li>Overwritten Data: Third-party applications may overwrite the portion of the Keyfile that VeraCrypt uses for decryption.</li>
+ <li>Unintentional Changes: Accidental changes can make it impossible to mount the volume unless you have an unaltered backup of the Keyfile.</li>
+ </ul>
+ </div>
+
+ <h2>Examples of Extensions to Avoid</h2>
+ <div>
+ <p>Avoid using the following types of third-party file extensions:</p>
+ <ul>
+ <li>Media Files: Picture, audio, and video files are subject to metadata changes by their respective software.</li>
+ <li>Archive Files: Zip files can be easily modified, which could disrupt the encrypted volume.</li>
+ <li>Executable Files: Software updates can modify these files, making them unreliable as File Containers or Keyfiles.</li>
+ <li>Document Files: Office and PDF files can be automatically updated by productivity software, making them risky to use.</li>
+ </ul>
+ </div>
+
+ <h2>Recommendations</h2>
+ <div>
+ <p>For secure usage, consider the following best practices:</p>
+ <ul>
+ <li>Use neutral file extensions for File Containers and Keyfiles to minimize the risk of automatic file association.</li>
+ <li>Keep secure backups of your File Containers and Keyfiles in locations isolated from network access.</li>
+ <li>Disable auto-open settings for the specific file extensions you use for VeraCrypt File Containers and Keyfiles.</li>
+ <li>Always double-check file associations and be cautious when using a new device or third-party application.</li>
+ </ul>
+ </div>
+
+<div class="ClearBoth"></div></body></html>
diff --git a/doc/html/BCH_Logo_30x30.png b/doc/html/BCH_Logo_30x30.png
new file mode 100644
index 00000000..00c71cb9
--- /dev/null
+++ b/doc/html/BCH_Logo_30x30.png
Binary files differ
diff --git a/doc/html/BCH_Logo_48x30.png b/doc/html/BCH_Logo_48x30.png
deleted file mode 100644
index db6a2652..00000000
--- a/doc/html/BCH_Logo_48x30.png
+++ /dev/null
Binary files differ
diff --git a/doc/html/RIPEMD-160.html b/doc/html/BLAKE2s-256.html
index a67c8dc6..097b714f 100644
--- a/doc/html/RIPEMD-160.html
+++ b/doc/html/BLAKE2s-256.html
@@ -33,3 +33,3 @@
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
-<a href="RIPEMD-160.html">RIPEMD-160</a>
+<a href="BLAKE2s-256.html">BLAKE2s-256</a>
</p></div>
@@ -37,7 +37,13 @@
<div class="wikidoc">
-<h1>RIPEMD-160</h1>
+<h1>BLAKE2s-256</h1>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-RIPEMD-160, published in 1996, is a hash algorithm designed by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel in an open academic community. The size of the output of RIPEMD-160 is 160 bits. RIPEMD-160 is a strengthened version of the RIPEMD hash algorithm
- that was developed in the framework of the European Union's project RIPE (<em style="text-align:left">RACE Integrity Primitives Evaluation</em>), 1988-1992. RIPEMD-160 was adopted by the International Organization for Standardization (ISO) and the IEC in the
- ISO/IEC 10118-3:2004 international standard [21].</div>
+<p>
+BLAKE2 is a cryptographic hash function based on BLAKE, created by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein. It was announced on December 21, 2012. The design goal was to replace the widely used, but broken, MD5 and SHA-1 algorithms in applications requiring high performance in software. BLAKE2 provides better security than SHA-2 and similar to that of SHA-3 (e.g. immunity to length extension, indifferentiability from a random oracle, etc...).<br/>
+BLAKE2 removes addition of constants to message words from BLAKE round function, changes two rotation constants, simplifies padding, adds parameter block that is XOR'ed with initialization vectors, and reduces the number of rounds from 16 to 12 for BLAKE2b (successor of BLAKE-512), and from 14 to 10 for BLAKE2s (successor of BLAKE-256).<br/>
+BLAKE2b and BLAKE2s are specified in RFC 7693.
+</p>
+<p>
+VeraCrypt uses only BLAKE2s with its maximum output size of 32-bytes (256 bits).
+</p>
+</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
diff --git a/doc/html/Beginner's Tutorial.html b/doc/html/Beginner's Tutorial.html
index c39ee596..531a71c2 100644
--- a/doc/html/Beginner's Tutorial.html
+++ b/doc/html/Beginner's Tutorial.html
@@ -190,5 +190,5 @@ You can copy files (or folders) to and from the VeraCrypt volume just as you wou
Note that VeraCrypt never saves any decrypted data to a disk &ndash; it only stores them temporarily in RAM (memory). Even when the volume is mounted, data stored in the volume is still encrypted. When you restart Windows or turn off your computer, the volume
- will be dismounted and all files stored on it will be inaccessible (and encrypted). Even when power supply is suddenly interrupted (without proper system shut down), all files stored on the volume will be inaccessible (and encrypted). To make them accessible
+ will be unmounted and all files stored on it will be inaccessible (and encrypted). Even when power supply is suddenly interrupted (without proper system shut down), all files stored on the volume will be inaccessible (and encrypted). To make them accessible
again, you have to mount the volume. To do so, repeat Steps 13-18.</p>
-<p>If you want to close the volume and make files stored on it inaccessible, either restart your operating system or dismount the volume. To do so, follow these steps:<br>
+<p>If you want to close the volume and make files stored on it inaccessible, either restart your operating system or unmount the volume. To do so, follow these steps:<br>
<br>
@@ -197,3 +197,3 @@ Note that VeraCrypt never saves any decrypted data to a disk &ndash; it only sto
Select the volume from the list of mounted volumes in the main VeraCrypt window (marked with a red rectangle in the screenshot above) and then click
-<strong>Dismount </strong>(also marked with a red rectangle in the screenshot above). To make files stored on the volume accessible again, you will have to mount the volume. To do so, repeat Steps 13-18.</p>
+<strong>Unmount </strong>(also marked with a red rectangle in the screenshot above). To make files stored on the volume accessible again, you will have to mount the volume. To do so, repeat Steps 13-18.</p>
<h2>How to Create and Use a VeraCrypt-Encrypted Partition/Device</h2>
diff --git a/doc/html/Command Line Usage.html b/doc/html/Command Line Usage.html
index d244df1e..004eccc8 100644
--- a/doc/html/Command Line Usage.html
+++ b/doc/html/Command Line Usage.html
@@ -51,3 +51,3 @@
<td><em>/hash</em></td>
-<td>It must be followed by a parameter indicating the PRF hash algorithm to use when mounting the volume. Possible values for /hash parameter are: sha256, sha-256, sha512, sha-512, whirlpool, ripemd160 and ripemd-160. When /hash is omitted, VeraCrypt will try
+<td>It must be followed by a parameter indicating the PRF hash algorithm to use when mounting the volume. Possible values for /hash parameter are: sha256, sha-256, sha512, sha-512, whirlpool, blake2s and blake2s-256. When /hash is omitted, VeraCrypt will try
all possible PRF algorithms thus lengthening the mount operation time.</td>
@@ -57,3 +57,3 @@
<td>
-<p>It must be followed by a parameter indicating the file and path name of a VeraCrypt volume to mount (do not use when dismounting) or the Volume ID of the disk/partition to mount.<br>
+<p>It must be followed by a parameter indicating the file and path name of a VeraCrypt volume to mount (do not use when unmounting) or the Volume ID of the disk/partition to mount.<br>
The syntax of the volume ID is <strong>ID:XXXXXX...XX</strong> where the XX part is a 64 hexadecimal characters string that represent the 32-Bytes ID of the desired volume to mount.<br>
@@ -76,3 +76,3 @@ You can also specify the Volume ID of the partition/device-hosted volume to moun
<td><em>/beep</em> or <em>/b</em></td>
-<td>Beep after a volume has been successfully mounted or dismounted.</td>
+<td>Beep after a volume has been successfully mounted or unmounted.</td>
</tr>
@@ -84,4 +84,8 @@ You can also specify the Volume ID of the partition/device-hosted volume to moun
<tr>
+<td><em>/unmount</em> or <em>/u</em></td>
+<td>Unmount volume specified by drive letter (e.g., /u x). When no drive letter is specified, unmounts all currently mounted VeraCrypt volumes.</td>
+</tr>
+<tr>
<td><em>/dismount</em> or <em>/d</em></td>
-<td>Dismount volume specified by drive letter (e.g., /d x). When no drive letter is specified, dismounts all currently mounted VeraCrypt volumes.</td>
+<td>Deprecated. Please use /unmount or /u.</td>
</tr>
@@ -89,3 +93,3 @@ You can also specify the Volume ID of the partition/device-hosted volume to moun
<td><em>/force</em> or <em>/f</em></td>
-<td>Forces dismount (if the volume to be dismounted contains files being used by the system or an application) and forces mounting in shared mode (i.e., without exclusive access).</td>
+<td>Forces unmount (if the volume to be unmounted contains files being used by the system or an application) and forces mounting in shared mode (i.e., without exclusive access).</td>
</tr>
@@ -294,3 +298,3 @@ It has no parameters and it indicates that no message box or dialog will be disp
<td>/FastCreateFile</td>
-<td>Use a faster but potentially insecure way to create file containers. This applies to both UI and command line.</td>
+<td>Enables a faster, albeit potentially insecure, method for creating file containers. This option carries security risks as it can embed existing disk content into the file container, possibly exposing sensitive data if an attacker gains access to it. Note that this switch affects all file container creation methods, whether initiated from the command line, using the /create switch, or through the UI wizard.</td>
</tr>
@@ -308,5 +312,5 @@ If it is followed by <strong>n</strong> or <strong>no</strong>: the password dia
<h4>Syntax</h4>
-<p>VeraCrypt.exe [/tc] [/hash {sha256|sha-256|sha512|sha-512|whirlpool |ripemd160|ripemd-160}][/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}][/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|ripemd160|ripemd-160}]
+<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}]
[/filesystem {None|FAT|NTFS|ExFAT|ReFS}] [/dynamic] [/force] [/silent] [/noisocheck] [FastCreateFile] [/quick]</p>
@@ -316,3 +320,3 @@ If it is followed by <strong>n</strong> or <strong>no</strong>: the password dia
<p>veracrypt /q /v d:\myvolume</p>
-<p>Dismount a volume mounted as the drive letter <em>X</em> (the main program window will not be displayed):</p>
+<p>Unmount a volume mounted as the drive letter <em>X</em> (the main program window will not be displayed):</p>
<p>veracrypt /q /d x</p>
diff --git a/doc/html/CompilingGuidelineLinux.html b/doc/html/CompilingGuidelineLinux.html
new file mode 100644
index 00000000..7b0d1df3
--- /dev/null
+++ b/doc/html/CompilingGuidelineLinux.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<style>
+.textbox {
+ vertical-align: top;
+ height: auto !important;
+ font-family: Helvetica,sans-serif;
+ font-size: 20px;
+ font-weight: bold;
+ margin: 10px;
+ padding: 10px;
+ background-color: white;
+ width: auto;
+ border-radius: 10px;
+}
+
+.texttohide {
+ font-family: Helvetica,sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+
+</style>
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="Technical%20Details.html">Technical Details</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelines.html">Building VeraCrypt From Source</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelineLinux.html">Linux Build Guide</a>
+</p></div>
+
+<div class="wikidoc">
+This guide describes how to set up a Linux System to build VeraCrypt from source and how to perform compilation. <br>
+The procedure for a Ubuntu 22.04 LTS system is described here as an example, the procedure for other Linux systems is analogous.
+</div>
+
+<div class="wikidoc">
+<br>
+<br>
+The following components are required for compiling VeraCrypt:
+<ol>
+ <li>GNU Make</li>
+ <li>GNU C/C++ Compiler</li>
+ <li>YASM 1.3.0</li>
+ <li>pkg-config</li>
+ <li>wxWidgets 3.x shared library and header files installed by the system or wxWidgets 3.x library source code </li>
+ <li>FUSE library and header files</li>
+ <li>PCSC-lite library and header files</li>
+</ol>
+</div>
+
+<div class="wikidoc">
+<p>Below are the procedure steps. Clicking on any of the link takes directly to the related step:
+<ul>
+<li><strong><a href="#InstallationOfGNUMake">Installation of GNU Make</a></li></strong>
+<li><strong><a href="#InstallationOfGNUCompiler">Installation of GNU C/C++ Compiler</a></li></strong>
+<li><strong><a href="#InstallationOfYASM">Installation of YASM</a></li></strong>
+<li><strong><a href="#InstallationOfPKGConfig">Installation of pkg-config</a></li></strong>
+<li><strong><a href="#InstallationOfwxWidgets">Installation of wxWidgets 3.2</a></li></strong>
+<li><strong><a href="#InstallationOfFuse">Installation of libfuse</a></li></strong>
+<li><strong><a href="#InstallationOfPCSCLite">Installation of libpcsclite</a></li></strong>
+<li><strong><a href="#DownloadVeraCrypt">Download VeraCrypt</a></li></strong>
+<li><strong><a href="#CompileVeraCrypt">Compile VeraCrypt</a></li></strong>
+</ul>
+</p>
+<p>They can also be performed by running the below list of commands in a terminal or by copying them to a script:<br>
+<code>
+sudo apt update <br>
+sudo apt install -y build-essential yasm pkg-config libwxgtk3.0-gtk3-dev <br>
+sudo apt install -y libfuse-dev git libpcsclite-dev <br>
+git clone https://github.com/veracrypt/VeraCrypt.git <br>
+cd ~/VeraCrypt/src <br>
+make
+</code>
+</p>
+</div>
+
+<div class="wikidoc">
+ <div class="textbox" id="InstallationOfGNUMake">
+ <a href="#InstallationOfGNUMake">Installation of GNU Make</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install build-essential
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfGNUCompiler">
+ <a href="#InstallationOfGNUCompiler">Installation of GNU C/C++ Compiler</a>
+ <div class="texttohide">
+ <p> If the build-essential were already installed in the step before, this step can be skipped.
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install build-essential
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfYASM">
+ <a href="#InstallationOfYASM">Installation of YASM</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install yasm
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfPKGConfig">
+ <a href="#InstallationOfPKGConfig">Installation of pkg-config</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install pkg-config
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfwxWidgets">
+ <a href="#InstallationOfwxWidgets">Installation of wxWidgets 3.2</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install libwxgtk3.0-gtk3-dev <br>
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfFuse">
+ <a href="#InstallationOfFuse">Installation of libfuse</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install libfuse-dev
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+<div class="textbox" id="InstallationOfPCSCLite">
+ <a href="#InstallationOfPCSCLite">Installation of libpcsclite</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install libpcsclite-dev
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+</div>
+
+ <div class="textbox" id="DownloadVeraCrypt">
+ <a href="#DownloadVeraCrypt">Download VeraCrypt</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ sudo apt update <br>
+ sudo apt install git <br>
+ git clone https://github.com/veracrypt/VeraCrypt.git
+ </code>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="CompileVeraCrypt">
+ <a href="#CompileVeraCrypt">Compile VeraCrypt</a>
+ <div class="texttohide">
+ <p> Remarks: <br>
+ <ul>
+ <li>
+ By default, a universal executable supporting both graphical and text user interface (through the switch --text) is built. <br>
+ On Linux, a console-only executable, which requires no GUI library, can be built using the 'NOGUI' parameter. <br>
+ For that, you need to dowload wxWidgets sources, extract them to a location of your choice and then run the following commands: <br>
+ <code>
+ make NOGUI=1 WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources wxbuild <br>
+ make NOGUI=1 WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources
+ </code>
+ </li>
+ <li>
+ If you are not using the system wxWidgets library, you will have to download and use wxWidgets sources like the remark above but this time the following commands should be run to build GUI version of VeraCrypt (NOGUI is not specified): <br>
+ <code>
+ make WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources wxbuild <br>
+ make WXSTATIC=1 WX_ROOT=/path/to/wxWidgetsSources
+ </code>
+ </li>
+ </ul>
+ Steps:
+ <ol>
+ <li>
+ Open a terminal
+ </li>
+ <li>
+ Execute the following commands: <br>
+ <code>
+ cd ~/VeraCrypt/src <br>
+ make
+ </code>
+ </li>
+ <li>
+ If successful, the VeraCrypt executable should be located in the directory 'Main'.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+</div>
+</body></html>
diff --git a/doc/html/CompilingGuidelineWin.html b/doc/html/CompilingGuidelineWin.html
new file mode 100644
index 00000000..ec08af4f
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin.html
@@ -0,0 +1,1225 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<style>
+.textbox {
+ vertical-align: top;
+ height: auto !important;
+ font-family: Helvetica,sans-serif;
+ font-size: 20px;
+ font-weight: bold;
+ margin: 10px;
+ padding: 10px;
+ background-color: white;
+ width: auto;
+ border-radius: 10px;
+}
+
+.texttohide {
+ font-family: Helvetica,sans-serif;
+ font-size: 14px;
+ font-weight: normal;
+}
+
+
+</style>
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="Technical%20Details.html">Technical Details</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelines.html">Building VeraCrypt From Source</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelineWin.html">Windows Build Guide</a>
+</p></div>
+
+<div class="wikidoc">
+This guide describes how to set up a Windows system that can compile the VeraCrypt. Further it is described how VeraCrypt is going to be compiled. <br>
+The procedure for a Windows 10 system is described here as an example, but the procedure for other Windows systems is analogous.
+</div>
+
+<div class="wikidoc">
+The following components are required for compiling VeraCrypt:
+
+<ol>
+ <li>Microsoft Visual Studio 2010</li>
+ <li>Microsoft Visual Studio 2010 Service Pack 1</li>
+ <li>NASM</li>
+ <li>YASM</li>
+ <li>Visual C++ 1.52</li>
+ <li>Windows SDK 7.1</li>
+ <li>Windows Driver Kit 7.1</li>
+ <li>Windows 8.1 SDK</li>
+ <li>gzip</li>
+ <li>upx</li>
+ <li>7zip</li>
+ <li>Wix3</li>
+ <li>Microsoft Visual Studio 2019</li>
+ <li>Windows 10 SDK</li>
+ <li>Windows Driver Kit 1903</li>
+ <li>Visual Studio build tools</li>
+
+</ol>
+
+</div>
+
+<div class="wikidoc">
+Below are the procedure steps. Clicking on any of the link takes directly to the related step:
+<ul>
+<li><strong><a href="#InstallationOfMicrosoftVisualStudio2010">Installation of Microsoft Visual Studio 2010</a></li></strong>
+<li><strong><a href="#InstallationOfMicrosoftVisualStudio2010ServicePack1">Installation of Microsoft Visual Studio 2010 Service Pack 1</a></li></strong>
+<li><strong><a href="#InstallationOfNASM">Installation of NASM</a></li></strong>
+<li><strong><a href="#InstallationOfYASM">Installation of YASM</a></li></strong>
+<li><strong><a href="#InstallationOfVisualCPP">Installation of Microsoft Visual C++ 1.52</a></li></strong>
+<li><strong><a href="#InstallationOfWindowsSDK71PP">Installation of the Windows SDK 7.1</a></li></strong>
+<li><strong><a href="#InstallationOfWDK71PP">Installation of the Windows Driver Kit 7.1</a></li></strong>
+<li><strong><a href="#InstallationOfSDK81PP">Installation of the Windows 8.1 SDK</a></li></strong>
+<li><strong><a href="#InstallationOfGzip">Installation of gzip</a></li></strong>
+<li><strong><a href="#InstallationOfUpx">Installation of upx</a></li></strong>
+<li><strong><a href="#InstallationOf7zip">Installation of 7zip</a></li></strong>
+<li><strong><a href="#InstallationOfWix3">Installation of Wix3</a></li></strong>
+<li><strong><a href="#InstallationOfVS2019">Installation of Microsoft Visual Studio 2019</a></li></strong>
+<li><strong><a href="#InstallationOfWDK10">Installation of the Windows Driver Kit 2004</a></li></strong>
+<li><strong><a href="#InstallationOfVisualBuildTools">Installation of the Visual Studio build tools</a></li></strong>
+<li><strong><a href="#DownloadVeraCrypt">Download VeraCrypt Source Files</a></li></strong>
+<li><strong><a href="#CompileWin32X64">Compile the Win32/x64 Versions of VeraCrypt</a></li></strong>
+<li><strong><a href="#CompileARM64">Compile the ARM64 Version of VeraCrypt</a></li></strong>
+<li><strong><a href="#BuildVeraCryptExecutables">Build the VeraCrypt Executables</a></li></strong>
+<li><strong><a href="#ImportCertificates">Import the Certificates</a></li></strong>
+<li><strong><a href="#KnownIssues">Known Issues</a></li></strong>
+</ul>
+</div>
+
+<div class="wikidoc">
+ <div class="textbox" id="InstallationOfMicrosoftVisualStudio2010">
+ <a href="#InstallationOfMicrosoftVisualStudio2010">Installation of Microsoft Visual Studio 2010</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the following Microsoft website and log in with a free Microsoft account: <br>
+ <a href="https://my.visualstudio.com/Downloads?q=Visual%20Studio%202010%20Professional&pgroup=" target="_blank">https://my.visualstudio.com/Downloads?q=Visual%20Studio%202010%20Professional&pgroup=</a>
+ </li>
+ <li>
+ Please download a (trial) version of “Visual Studio Professional 2010” <br>
+ <img src="CompilingGuidelineWin/DownloadVS2010.jpg" width="80%">
+ </li>
+ <li>
+ Mount the downloaded ISO file by doubleclicking it
+ </li>
+ <li>
+ Run the file "autorun.exe" as administrator
+ </li>
+ <li>
+ Install Microsoft Visual Studio 2010 with the default settings
+ </li>
+ </ol>
+ The installation of the Microsoft SQL Server 2008 Express Service Pack 1 (x64) may fail, but it is not required for compiling VeraCrypt.
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfMicrosoftVisualStudio2010ServicePack1">
+ <a href="#InstallationOfMicrosoftVisualStudio2010ServicePack1">Installation of Microsoft Visual Studio 2010 Service Pack 1</a>
+ <div class="texttohide">
+ <p>
+ Note: The content the official installer from Microsoft tries to download is no longer available. Therefore, it is necessary to use an offline installer.
+ <ol>
+ <li>
+ Visit the website of the internet archive and download the iso image of the Microsoft Visual Studio 2010 Service Pack 1:<br>
+ <a href="https://archive.org/details/vs-2010-sp-1dvd-1" target="_blank">https://archive.org/details/vs-2010-sp-1dvd-1</a>
+ </li>
+ <li>
+ Mount the downloaded ISO file by doubleclicking it
+ </li>
+ <li>
+ Run the file "Setup.exe" as administrator
+ </li>
+ <li>
+ Install Microsoft Visual Studio 2010 Service Pack 1 with the default settings
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfNASM">
+ <a href="#InstallationOfNASM">Installation of NASM</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Download “nasm-2.08-installer.exe” at: <br>
+ <a href="https://www.nasm.us/pub/nasm/releasebuilds/2.08/win32/" target="_blank">https://www.nasm.us/pub/nasm/releasebuilds/2.08/win32/</a>
+ </li>
+ <li>
+ Run the file as administrator
+ </li>
+ <li>
+ Install NASM with the default settings
+ </li>
+ <li>
+ Add NASM to the path Variable. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files (x86)\nasm</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ <li>
+ To check if the configuration is working correctly, please open a command prompt and watch the output of the following command: <br>
+ <p style="font-family: 'Courier New', monospace;">nasm</p> <br>
+ <img src="CompilingGuidelineWin/NasmCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfYASM">
+ <a href="#InstallationOfYASM">Installation of YASM</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please create the following folder: <br>
+ C:\Program Files\YASM
+ </li>
+ <li>
+ Please download the file "Win64 VS2010 .zip" at: <br>
+ <a href="https://yasm.tortall.net/Download.html" target="_blank">https://yasm.tortall.net/Download.html</a>
+ </li>
+ <li>
+ Your browser might inform you that the file might be a security risk due to the low download rate or the unencrypted connection. Nevertheless, the official website is the most reliable source for this file, so we recommend to allow the download
+ </li>
+ <li>
+ Unzip the zip file and copy the files to “C:\Program Files\YASM”
+ </li>
+ <li>
+ Please download the file "Win64 .exe" at: <br>
+ <a href="https://yasm.tortall.net/Download.html" target="_blank">https://yasm.tortall.net/Download.html</a>
+ </li>
+ <li>
+ Your browser might inform you that the file might be a security risk due to the low download rate or the unencrypted connection. Nevertheless, the official website is the most reliable source for this file, so we recommend to allow the download
+ </li>
+ <li>
+ Rename the file to “yasm.exe” and copy it to “C:\Program Files\YASM”
+ </li>
+ <li>
+ Add YASM to the path Variable and create a new system variable for YASM. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files\YASM</p>
+ </li>
+ <li>
+ Close the top window by clicking on "OK"
+ </li>
+ <li>
+ Within the area of the system variables, please click on "New..." <br>
+ <img src="CompilingGuidelineWin/AddNewSystemVar.jpg" width="25%">
+ </li>
+ <li>
+ Fill out the form with the following values: <br>
+ <p style="font-family: 'Courier New', monospace;">Variable name: YASMPATH<br> Variable value: C:\Program Files\YASM</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ <li>
+ To check if the configuration is working correctly, please open a command prompt and watch the output of the following command: <br>
+ <p style="font-family: 'Courier New', monospace;">yasm</p> <br>
+ and <br>
+ <p style="font-family: 'Courier New', monospace;">vsyasm</p> <br>
+ <img src="CompilingGuidelineWin/YasmCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfVisualCPP">
+ <a href="#InstallationOfVisualCPP">Installation of Microsoft Visual C++ 1.52</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visual C++ 1.52 is available via the paid Microsoft MSDN subscription. If you do not have a subscription, you download the ISO image via the internet archive: <br>
+ <a href="https://archive.org/details/ms-vc152" target="_blank">https://archive.org/details/ms-vc152</a>
+ </li>
+ <li>
+ Create the folder “C:\MSVC15”
+ </li>
+ <li>
+ Mount the ISO file and copy the content of the folder “MSVC” to “C:\MSVC15”
+ </li>
+ <li>
+ Create a system variable for Microsoft Visual C++ 1.52 <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please click on "New..." <br>
+ <img src="CompilingGuidelineWin/AddNewSystemVar.jpg" width="25%">
+ </li>
+ <li>
+ Fill out the form with the following values: <br>
+ <p style="font-family: 'Courier New', monospace;">Variable name: MSVC16_ROOT<br> Variable value: C:\MSVC15</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWindowsSDK71PP">
+ <a href="#InstallationOfWindowsSDK71PP">Installation of the Windows SDK 7.1</a>
+ <div class="texttohide">
+ <p>
+ The installer requires .Net Framework 4 (Not a newer one like .Net Framework 4.8!). Since a newer version is already preinstalled with Windows 10, the installer has to be tricked:
+ <ol>
+ <li>
+ Click on the start button and search for: "regedit.msc". Start the first finding.
+ </li>
+ <li>
+ Navigate to "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\"
+ </li>
+ <li>
+ Change the permissions for the "Client" folder, so you can edit the keys: <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Right click on the subfolder "Client" and select "Permissions..."
+ </li>
+ <li>
+ Click on "Advanced" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-1.jpg" width="17%">
+ </li>
+ <li>
+ Change the owner to your user and click on "Add" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-2.jpg" width="35%">
+ </li>
+ <li>
+ Set the principal to your user, select "Full Control" and click on "OK" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-3.jpg" width="35%">
+ </li>
+ <li>
+ Within the folder "Client" note down the value of the entry "Version"
+ </li>
+ <li>
+ Doubleclick on the entry "Version" and change the value to "4.0.30319" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-4.jpg" width="30%">
+ </li>
+ </ol>
+ </li>
+ <li>
+ Change the permissions for the "Full" folder, so you can edit the keys: <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Right click on the subfolder "Full" and select "Permissions..."
+ </li>
+ <li>
+ Click on "Advanced" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-1.jpg" width="17%">
+ </li>
+ <li>
+ Change the owner to your user and click on "Add" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-2.jpg" width="35%">
+ </li>
+ <li>
+ Set the principal to your user, select "Full Control" and click on "OK" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-3.jpg" width="35%">
+ </li>
+ <li>
+ Within the folder "Full" note down the value of the entry "Version"
+ </li>
+ <li>
+ Doubleclick on the entry "Version" and change the value to "4.0.30319" <br>
+ <img src="CompilingGuidelineWin/RegeditPermissions-4.jpg" width="30%">
+ </li>
+ </ol>
+ </li>
+ <li>
+ Download the Windows SDK 7.1 at: <br>
+ <a href="https://www.microsoft.com/en-us/download/details.aspx?id=8279" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=8279</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install the application with default settings
+ </li>
+ <li>
+ After the installation, revert the changes done in the registry editor. <br>
+ <b>Note:</b> The owner "TrustedInstaller" can be restored by searching for: "NT Service\TrustedInstaller"
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWDK71PP">
+ <a href="#InstallationOfWDK71PP">Installation of the Windows Driver Kit 7.1</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the ISO of the Windows Diver Kit 7.1 at: <br>
+ <a href="https://www.microsoft.com/en-us/download/details.aspx?id=11800" target="_blank">https://www.microsoft.com/en-us/download/details.aspx?id=11800</a>
+ </li>
+ <li>
+ Mount the downloaded ISO file by doubleclicking it
+ </li>
+ <li>
+ Run the file "KitSetup.exe" as administrator. Within the installation select all features to be installed. <br>
+ <b>Note: </b>It might be that during the installed you are requested to install the .NET Framework 3.5. In this case click on "Download and install this feature".
+ </li>
+ <li>
+ Install the Driver Kit to the default location
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfSDK81PP">
+ <a href="#InstallationOfSDK81PP">Installation of the Windows 8.1 SDK</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the ISO of the Windows 8.1 SDK at: <br>
+ <a href="https://developer.microsoft.com/de-de/windows/downloads/sdk-archive/" target="_blank">https://developer.microsoft.com/de-de/windows/downloads/sdk-archive/</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install the Windows 8.1 SDK with default settings
+ </li>
+ <li>
+ Create a system variable for the Windows 8.1 SDK <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please click on "New..." <br>
+ <img src="CompilingGuidelineWin/AddNewSystemVar.jpg" width="25%">
+ </li>
+ <li>
+ Fill out the form with the following values: <br>
+ <p style="font-family: 'Courier New', monospace;">Variable name: WSDK81<br> Variable value: C:\Program Files (x86)\Windows Kits\8.1\</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfGzip">
+ <a href="#InstallationOfGzip">Installation of gzip</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please create the following folder: <br>
+ C:\Program Files (x86)\gzip
+ </li>
+ <li>
+ Please download gzip version at: <br>
+ <a href="https://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-bin.zip/download?use-mirror=netix&download=" target="_blank">https://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-bin.zip/download?use-mirror=netix&download=</a>
+ </li>
+ <li>
+ Copy the content of the downloaded zip to “C:\Program Files (x86)\gzip”
+ </li>
+ <li>
+ Add gzip to the path Variable. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files (x86)\gzip\bin</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ <li>
+ To check if the configuration is working correctly, please open a command prompt and watch the output of the following command: <br>
+ <p style="font-family: 'Courier New', monospace;">gzip</p> <br>
+ <img src="CompilingGuidelineWin/gzipCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfUpx">
+ <a href="#InstallationOfUpx">Installation of upx</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please create the following folder: <br>
+ C:\Program Files (x86)\upx
+ </li>
+ <li>
+ Please download the latest upx-X-XX-win64.zip version at: <br>
+ <a href="https://github.com/upx/upx/releases/tag/v3.96" target="_blank">https://github.com/upx/upx/releases/tag/v3.96</a>
+ </li>
+ <li>
+ Copy the content of the downloaded zip to “C:\Program Files (x86)\upx”
+ </li>
+ <li>
+ Add gzip to the path Variable. This will make the command globally available on the command line. <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Open a file explorer
+ </li>
+ <li>
+ Within the left file tree, please make a right click on "This PC" and select "Properties" <br>
+ <img src="CompilingGuidelineWin/SelectThisPC.jpg" width="40%">
+ </li>
+ <li>
+ Within the right menu, please click on "Advanced system settings" <br>
+ <img src="CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg" width="50%">
+ </li>
+ <li>
+ Please click on "Environment Variables" <br>
+ <img src="CompilingGuidelineWin/SelectEnvironmentVariables.jpg" width="17%">
+ </li>
+ <li>
+ Within the area of the system variables, please select the "Path" variable and click on "Edit..." <br>
+ <img src="CompilingGuidelineWin/SelectPathVariable.jpg" width="25%">
+ </li>
+ <li>
+ Click on "New" and add the following value: <br>
+ <p style="font-family: 'Courier New', monospace;">C:\Program Files (x86)\upx</p>
+ </li>
+ <li>
+ Close the windows by clicking on "OK"
+ </li>
+ </ol>
+ </li>
+ <li>
+ To check if the configuration is working correctly, please open a command prompt and watch the output of the following command: <br>
+ <p style="font-family: 'Courier New', monospace;">upx</p> <br>
+ <img src="CompilingGuidelineWin/upxCommandLine.jpg" width="50%">
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOf7zip">
+ <a href="#InstallationOf7zip">Installation of 7zip</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the latest version of 7zip at: <br>
+ <a href="https://www.7-zip.de/" target="_blank">https://www.7-zip.de/</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install 7zip with default settings
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWix3">
+ <a href="#InstallationOfWix3">Installation of Wix3</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download wix311.exe at: <br>
+ <a href="https://github.com/wixtoolset/wix3/releases" target="_blank">https://github.com/wixtoolset/wix3/releases</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install WiX Toolset with default settings
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfVS2019">
+ <a href="#InstallationOfVS2019">Installation of Microsoft Visual Studio 2019</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the following Microsoft website and log in with a free Microsoft account: <br>
+ <a href="https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20Professional" target="_blank">https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20Professional</a>
+ </li>
+ <li>
+ Please download the latest (trial) version of “Visual Studio Professional 2019” <br>
+ <img src="CompilingGuidelineWin/DownloadVS2019.jpg" width="80%">
+ </li>
+ <li>
+ Run the downloaded file as administrator and go through the wizard. <br>
+ Select the following Workloads for installation: <br>
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Desktop development with C++
+ </li>
+ <li>
+ .NET desktop development
+ </li>
+ </ol>
+ Select the following individual components for installation:
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET 6.0 Runtime
+ </li>
+ <li>
+ .NET Core 3.1 Runtime (LTS)
+ </li>
+ <li>
+ .NET Framework 4 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.5 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.5.1 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.5.2 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.6 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.6.1 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.7.2 targeting pack
+ </li>
+ <li>
+ .NET Framework 4.8 SDK
+ </li>
+ <li>
+ .NET Framework 4.8 targeting pack
+ </li>
+ <li>
+ .NET SDK
+ </li>
+ <li>
+ ML.NET Model Builder (Preview)
+ </li>
+ </ol>
+ </li>
+ <li>
+ Cloud, database, and server
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ CLR data types for SQL Server
+ </li>
+ <li>
+ Connectivity and publishing tools
+ </li>
+ </ol>
+ </li>
+ <li>
+ Code tools
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ NuGet package manager
+ </li>
+ <li>
+ Text Template Transformation
+ </li>
+ </ol>
+ </li>
+ <li>
+ Compilers, build tools, and runtimes
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET Compiler Platform SDK
+ </li>
+ <li>
+ C# and Visual Basic Roslyn compilers
+ </li>
+ <li>
+ C++ 2019 Redistributable Update
+ </li>
+ <li>
+ C++ CMake tools for Windows
+ </li>
+ <li>
+ C++/CLI support for v142 build tools (Latest)
+ </li>
+ <li>
+ MSBuild
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 Spectre-mitigated libs (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (Latest)
+ </li>
+ </ol>
+ </li>
+ <li>
+ Debugging and testing
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET profiling tools
+ </li>
+ <li>
+ C++ AddressSanatizer
+ </li>
+ <li>
+ C++ profiling tools
+ </li>
+ <li>
+ Just-In-Time debugger
+ </li>
+ <li>
+ Test Adapter for Boost.Test
+ </li>
+ <li>
+ Test Adapter for Google Test
+ </li>
+ </ol>
+ </li>
+ <li>
+ Development activities
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C# and Visual Basic
+ </li>
+ <li>
+ C++ core features
+ </li>
+ <li>
+ F# language support
+ </li>
+ <li>
+ IntelliCode
+ </li>
+ <li>
+ JavaScript and TypeScript language support
+ </li>
+ <li>
+ Live Share
+ </li>
+ </ol>
+ </li>
+ <li>
+ Emulators
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Games and Graphics
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ Graphics debugger and GPU profiler for DirectX
+ </li>
+ </ol>
+ </li>
+ <li>
+ SDKs, libraries, and frameworks
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C++ ATL for latest v142 build tools (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools (x86 & x64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (x86 & x64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools (ARM64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools (x86 & x64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools with Spectre Mitigations (ARM64)
+ </li>
+ <li>
+ C++ MFC for latest v142 build tools with Spectre Mitigations (x86 & x64)
+ </li>
+ <li>
+ Entity Framework 6 tools
+ </li>
+ <li>
+ TypeScript 4.3 SDK
+ </li>
+ <li>
+ Windows 10 SDK (10.0.19041.0)
+ </li>
+ <li>
+ Windows Universal C Runtime
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfWDK10">
+ <a href="#InstallationOfWDK10">Installation of the Windows Driver Kit version 2004</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please download the Windows Driver Kit (WDK) version 2004 at: <br>
+ <a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads" target="_blank">https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads</a>
+ </li>
+ <li>
+ Run the downloaded file as administrator and install the WDK with default settings
+ </li>
+ <li>
+ At the end of the installation you will be asked if you want to "install Windows Driver Kit Visual Studio extension". <br>
+ Please make sure, that this option is selected before closing the dialog.
+ </li>
+ <li>
+ A different setup will start automatically and will detect Visual Studio Professional 2019 as possible target for the extension. <br>
+ Please select it and proceed with the installation.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="InstallationOfVisualBuildTools">
+ <a href="#InstallationOfVisualBuildTools">Installation of the Visual Studio build tools</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the following Microsoft website and log in with a free Microsoft account: <br>
+ <a href="https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20build%20tools" target="_blank">https://my.visualstudio.com/Downloads?q=visual%20studio%202019%20build%20tools</a>
+ </li>
+ <li>
+ Please download the latest version of “Build Tools for Visual Studio 2019” <br>
+ <img src="CompilingGuidelineWin/DownloadVSBuildTools.jpg" width="80%">
+ </li>
+ <li>
+ Run the downloaded file as administrator and go through the wizard. Select the following individual components for installation:
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ .NET
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Cloud, database, and server
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Code tools
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Compilers, build tools, and runtimes
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C++/CLI support for v142 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ ARM64 Spectre-mitigated libs (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
+ </li>
+ <li>
+ MSVC v142 - VS 2019 C++ x64/x86 Spectre-mitigated libs (Latest)
+ </li>
+ </ol>
+ </li>
+ <li>
+ Debugging and testing
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ Development activities
+ <ol style="list-style-type: upper-roman;">
+ NONE
+ </ol>
+ </li>
+ <li>
+ SDKs, libraries, and frameworks
+ <ol style="list-style-type: upper-roman;">
+ <li>
+ C++ ATL for latest v142 build tools (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools (x86 & x64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (ARM64)
+ </li>
+ <li>
+ C++ ATL for latest v142 build tools with Spectre Mitigations (x86 & x64)
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="DownloadVeraCrypt">
+ <a href="#DownloadVeraCrypt">Download VeraCrypt Source Files</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Visit the VeraCrypt Github repository at: <br>
+ <a href="https://github.com/veracrypt/VeraCrypt" target="_blank">https://github.com/veracrypt/VeraCrypt</a>
+ </li>
+ <li>
+ Please click on the green button with the label "Code" and download the code. <br>
+ You can download the repository as zip file, but you may consider to use the git protocol in order to track changes.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="CompileWin32X64">
+ <a href="#CompileWin32X64">Compile the Win32/x64 Versions of VeraCrypt</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please open the file "src/VeraCrypt.sln" in Visual Studio <b>2010</b>
+ </li>
+ <li>
+ Please select "All|Win32" as active configuration <br>
+ <img src="CompilingGuidelineWin/VS2010Win32Config.jpg" width="80%">
+ </li>
+ <li>
+ Please click on "Build -> Build Solution" <br>
+ <img src="CompilingGuidelineWin/VS2010BuildSolution.jpg" width="40%">
+ </li>
+ <li>
+ The compiling process should end with warnings, but without errors. Some projects should be skipped.
+ </li>
+ <li>
+ Please select "All|x64" as active configuration <br>
+ <img src="CompilingGuidelineWin/VS2010X64Config.jpg" width="80%">
+ </li>
+ <li>
+ Please click on "Build -> Build Solution" <br>
+ <img src="CompilingGuidelineWin/VS2010BuildSolution.jpg" width="40%">
+ </li>
+ <li>
+ The compiling process should end with warnings, but without errors. Some projects should be skipped. <br>
+ Please close Visual Studio 2010 after the compiling process finished
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="CompileARM64">
+ <a href="#CompileARM64">Compile the ARM64 Version of VeraCrypt</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please open the file "src/VeraCrypt_vs2019.sln" in Visual Studio <b>2019</b>
+ </li>
+ <li>
+ Please select "All|ARM64" as active configuration <br>
+ <img src="CompilingGuidelineWin/VS2019ARM64Config.jpg" width="80%">
+ </li>
+ <li>
+ Please click on "Build -> Build Solution" <br>
+ <img src="CompilingGuidelineWin/VS2019BuildSolution.jpg" width="40%">
+ </li>
+ <li>
+ The compiling process should end with warnings, but without errors. One project should be skipped. <br>
+ Please close Visual Studio 2019 after the compiling process finished
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="BuildVeraCryptExecutables">
+ <a href="#BuildVeraCryptExecutables">Build the VeraCrypt Executables</a>
+ <div class="texttohide">
+ <p>
+ <ol>
+ <li>
+ Please open a command line as administrator
+ </li>
+ <li>
+ Go into the folder "src/Signing/"
+ </li>
+ <li>
+ Run the script "sign_test.bat"
+ </li>
+ <li>
+ You will find the generated exectuables within the folder "src/Release/Setup Files"
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="ImportCertificates">
+ <a href="#ImportCertificates">Import the Certificates</a>
+ <div class="texttohide">
+ <p> With the sign_test.bat script you just signed the VeraCrypt executables. This is necessary, since Windows only accepts drivers, which are trusted by a signed Certificate Authority. <br>
+ Since you did not use the official VeraCrypt signing certificate to sign your code, but a public development version, you have to import and therefore trust the certificates used.
+ <ol>
+ <li>
+ Open the folder "src/Signing"
+ </li>
+ <li>
+ Import the following certificates to your Local Machine Certificate storage, by double clicking them:
+ <ul>
+ <li>GlobalSign_R3Cross.cer</li>
+ <li>GlobalSign_SHA256_EV_CodeSigning_CA.cer</li>
+ <li>TestCertificates/idrix_codeSign.pfx</li>
+ <li>TestCertificates/idrix_Sha256CodeSign.pfx</li>
+ <li>TestCertificates/idrix_SHA256TestRootCA.crt</li>
+ <li>TestCertificates/idrix_TestRootCA.crt</li>
+ </ul>
+ Note: If prompted, the password for .pfx certificates is <b>idrix</b>.
+ </li>
+ </ol>
+ </p>
+ </div>
+ </div>
+
+ <div class="textbox" id="KnownIssues">
+ <a href="#KnownIssues">Known Issues</a>
+ <div class="texttohide">
+ <p>
+ <ul>
+ <li>
+ <b>This distribution package is damaged</b> <br>
+ <img src="CompilingGuidelineWin/DistributionPackageDamaged.jpg" width="20%"> <br>
+ On Windows 10 or higher you might get the error message above. In order to avoid this, you will need to:<br>
+ <ul>
+ <li>Double-check the installation of the root certificate that issued the test code signing certificate in the "Local Machine Trusted Root Certification Authorities" store.</li>
+ <li>Compute SHA512 fingerprint of the test code signing certificate and update the gpbSha512CodeSignCertFingerprint array in the file "src/Common/Dlgcode.c" accordingly.</li>
+ </ul>
+ Please see <a href="https://sourceforge.net/p/veracrypt/discussion/technical/thread/83d5a2d6e8/#db12" target="_blank">https://sourceforge.net/p/veracrypt/discussion/technical/thread/83d5a2d6e8/#db12</a> for further details.<br>
+ <br>
+ Another approach is to disable the signature verification in the VeraCrypt code. This should be done only for testing purposes and not for production use:
+ <ol>
+ <li>
+ Open the file "src/Common/Dlgcode.c"
+ </li>
+ <li>
+ Look for the function "VerifyModuleSignature"
+ </li>
+ <li>
+ Replace the following lines: <br>
+ Find:<br>
+ <p style="font-family: 'Courier New', monospace;">
+ if (!IsOSAtLeast (WIN_10)) <br>
+ return TRUE;
+ </p> <br>
+ Replace:<br>
+ <p style="font-family: 'Courier New', monospace;">
+ return TRUE;
+ </p>
+ </li>
+ <li>
+ Compile the VeraCrypt code again
+ </li>
+ </ol>
+ </li>
+ <li>
+ <b>Driver Installation Failure during VeraCrypt Setup from Custom Builds</b> <br>
+ <img src="CompilingGuidelineWin/CertVerifyFails.jpg" width="20%"> <br>
+ Windows validates the signature for every driver which is going to be installed.<br>
+ For security reasons, Windows allows only drivers signed by Microsoft to load.<br>
+ So, when using a custom build:<br>
+ <ul>
+ <li>If you have not modified the VeraCrypt driver source code, you can use the Microsoft-signed drivers included in the VeraCrypt source code (under "src\Release\Setup Files").</li>
+ <li>If you have made modifications, <strong>you will need to boot Windows into "Test Mode"</strong>. This mode allows Windows to load drivers that aren't signed by Microsoft. However, even in "Test Mode", there are certain requirements for signatures, and failures can still occur due to reasons discussed below.</li>
+ </ul>
+ Potential Causes for Installation Failure under "Test Mode":
+ <ol>
+ <li>
+ <b>The certificate used for signing is not trusted by Windows</b><br>
+ You can verify if you are affected by checking the properties of the executable:
+ <ol>
+ <li>
+ Make a right click on the VeraCrypt Setup executable: "src/Release/Setup Files/VeraCrypt Setup 1.XX.exe"
+ </li>
+ <li>
+ Click on properties
+ </li>
+ <li>
+ Go to the top menu "Digital Signatures". Her you will find two signatures in the Signature list
+ </li>
+ Check both by double clicking on it. If the headline says "The certificate in the signature cannot be verified", the corresponding signing certificate was not imported correctly.<br>
+ Click on "View Certificate" and then on "Install Certificate..." to import the certificate to Local Machine certificate storage. For the Root certificates, you may need to choose "Place all certificates in the following store", and select the "Trusted Root Certification Authorities" store.<br>
+ <img src="CompilingGuidelineWin/CertificateCannotBeVerified.jpg" width="40%"> <br>
+ <li>
+ </ol>
+ </li>
+ <li>
+ <b>The driver was modified after the signing process.</b> <br>
+ In this case, please use the script "src/Signing/sign_test.bat" to sign your code again with the test certificates
+ </li>
+ </ol>
+ </li>
+ </ul>
+ </p>
+ </div>
+ </div>
+
+</div>
+</body></html>
diff --git a/doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg b/doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg
new file mode 100644
index 00000000..8e4bded1
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/AddNewSystemVar.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/CertVerifyFails.jpg b/doc/html/CompilingGuidelineWin/CertVerifyFails.jpg
new file mode 100644
index 00000000..c7166ffa
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/CertVerifyFails.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg b/doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg
new file mode 100644
index 00000000..f5dc2f21
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/CertificateCannotBeVerified.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg b/doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg
new file mode 100644
index 00000000..e04f07c7
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DistributionPackageDamaged.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DownloadVS2010.jpg b/doc/html/CompilingGuidelineWin/DownloadVS2010.jpg
new file mode 100644
index 00000000..1e4ba165
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DownloadVS2010.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DownloadVS2019.jpg b/doc/html/CompilingGuidelineWin/DownloadVS2019.jpg
new file mode 100644
index 00000000..98428292
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DownloadVS2019.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg b/doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg
new file mode 100644
index 00000000..37217733
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/DownloadVSBuildTools.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/NasmCommandLine.jpg b/doc/html/CompilingGuidelineWin/NasmCommandLine.jpg
new file mode 100644
index 00000000..d3a2f2f3
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/NasmCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg
new file mode 100644
index 00000000..46fcabbc
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-1.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg
new file mode 100644
index 00000000..5e3432cc
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-2.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg
new file mode 100644
index 00000000..7aa66aa0
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-3.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg b/doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg
new file mode 100644
index 00000000..aa9f1c7b
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/RegeditPermissions-4.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg b/doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg
new file mode 100644
index 00000000..753840d5
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectAdvancedSystemSettings.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg b/doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg
new file mode 100644
index 00000000..709589ba
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectEnvironmentVariables.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectPathVariable.jpg b/doc/html/CompilingGuidelineWin/SelectPathVariable.jpg
new file mode 100644
index 00000000..ef5aa44d
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectPathVariable.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/SelectThisPC.jpg b/doc/html/CompilingGuidelineWin/SelectThisPC.jpg
new file mode 100644
index 00000000..439182d7
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/SelectThisPC.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg b/doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg
new file mode 100644
index 00000000..7870cb51
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2010BuildSolution.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg b/doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg
new file mode 100644
index 00000000..f0be29b0
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2010Win32Config.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2010X64Config.jpg b/doc/html/CompilingGuidelineWin/VS2010X64Config.jpg
new file mode 100644
index 00000000..b8d989a2
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2010X64Config.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg b/doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg
new file mode 100644
index 00000000..825079da
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2019ARM64Config.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg b/doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg
new file mode 100644
index 00000000..015ab357
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/VS2019BuildSolution.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/YasmCommandLine.jpg b/doc/html/CompilingGuidelineWin/YasmCommandLine.jpg
new file mode 100644
index 00000000..9b414160
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/YasmCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/gzipCommandLine.jpg b/doc/html/CompilingGuidelineWin/gzipCommandLine.jpg
new file mode 100644
index 00000000..958f3f6a
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/gzipCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelineWin/upxCommandLine.jpg b/doc/html/CompilingGuidelineWin/upxCommandLine.jpg
new file mode 100644
index 00000000..cb0af820
--- /dev/null
+++ b/doc/html/CompilingGuidelineWin/upxCommandLine.jpg
Binary files differ
diff --git a/doc/html/CompilingGuidelines.html b/doc/html/CompilingGuidelines.html
new file mode 100644
index 00000000..22d30d34
--- /dev/null
+++ b/doc/html/CompilingGuidelines.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="Technical%20Details.html">Technical Details</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="CompilingGuidelines.html">Building VeraCrypt From Source</a>
+</p></div>
+
+<div class="wikidoc">
+<h1>Building VeraCrypt From Source</h1>
+<p>In order to build VeraCrypt from the source code, you can follow these step-by-step guidelines:
+<ul style="text-align:left; margin-top:18px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+<a href="CompilingGuidelineWin.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Windows Build Guide</a>
+</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+<a href="CompilingGuidelineLinux.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Linux Build Guide</a>
+</li></ul>
+</p>
+</div><div class="ClearBoth"></div></body></html>
diff --git a/doc/html/Conversion_Guide_VeraCrypt_1.26_and_Later.html b/doc/html/Conversion_Guide_VeraCrypt_1.26_and_Later.html
new file mode 100644
index 00000000..493d371c
--- /dev/null
+++ b/doc/html/Conversion_Guide_VeraCrypt_1.26_and_Later.html
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Conversion Guide for Versions 1.26 and Later</title>
+<meta name="description" content="Guide on how to handle deprecated features and conversion of TrueCrypt volumes in VeraCrypt versions 1.26 and later."/>
+<meta name="keywords" content="VeraCrypt, TrueCrypt, Conversion, Encryption, Security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="Conversion_Guide_VeraCrypt_1.26_and_Later.html">Conversion Guide for Versions 1.26 and Later</a>
+</p></div>
+
+<div class="wikidoc">
+<h1>Conversion Guide for VeraCrypt 1.26 and Later</h1>
+
+<h2>1. Introduction</h2>
+<p>Version 1.26 and newer of VeraCrypt have introduced significant changes by removing support for certain features. If you encounter issues while mounting volumes, this guide will help you understand and resolve them.</p>
+
+<h2>2. Deprecated Features in VeraCrypt 1.26 and Later</h2>
+<p>The following features have been deprecated:</p>
+<ul>
+<li>TrueCrypt Mode</li>
+<li>HMAC-RIPEMD-160 Hash Algorithm</li>
+<li>GOST89 Encryption Algorithm</li>
+</ul>
+<p>If you experience mounting errors with volumes created in VeraCrypt 1.25.9 or older, use VeraCrypt 1.25.9 to check if these deprecated features are in use. Highlight the volume and click on "Volume Properties" in the GUI to check.</p>
+
+<h2>3. Remediation Procedures Based on Version</h2>
+
+<h3>3.1 Scenario 1: Using VeraCrypt 1.25.9 or Older</h3>
+<p>If you are using or can upgrade to VeraCrypt 1.25.9, follow these steps:</p>
+<ul>
+<li>Convert TrueCrypt Volumes to VeraCrypt Volumes</li>
+<li>Change from Deprecated HMAC-RIPEMD-160 Hash Algorithm</li>
+<li>Recreate VeraCrypt Volume if Using GOST89 Encryption Algorithm</li>
+</ul>
+<p>Download the 1.25.9 version <a href="https://veracrypt.fr/en/Downloads_1.25.9.html">here</a>.</p>
+
+<h3>3.2 Scenario 2: Upgraded to VeraCrypt 1.26 or Newer</h3>
+<p>If you have already upgraded to VeraCrypt 1.26 or newer, follow these steps:</p>
+<ul>
+<li>Convert TrueCrypt Volumes to VeraCrypt Volumes</li>
+<li>Change from Deprecated HMAC-RIPEMD-160 Hash Algorithm</li>
+</ul>
+<p>If you are on Linux or Mac, temporarily downgrade to VeraCrypt 1.25.9. Windows users can use the VCPassChanger tool <a href="https://launchpad.net/veracrypt/trunk/1.25.9/+download/VCPassChanger_%28TrueCrypt_Convertion%29.zip">that can be downloaded from here</a>.</p>
+<ul>
+<li>Recreate VeraCrypt Volume if Using GOST89 Encryption Algorithm</li>
+</ul>
+All OSes temporarily downgrade to 1.25.9 version.
+<h2>4. Conversion and Remediation Procedures</h2>
+
+<h3>4.1 Converting TrueCrypt Volumes to VeraCrypt</h3>
+<p>TrueCrypt file containers and partitions created with TrueCrypt versions 6.x or 7.x can be converted to VeraCrypt using VeraCrypt 1.25.9 or the VCPassChanger tool on Windows. For more details, refer to the <a href="Converting%20TrueCrypt%20volumes%20and%20partitions.html">documentation</a>.</p>
+<p>After conversion, the file extension will remain as <code>.tc</code>. Manually change it to <code>.hc</code> if you want VeraCrypt 1.26 or newer to automatically recognize it.</p>
+
+<h3>4.2 Changing Deprecated HMAC-RIPEMD-160 Hash Algorithm</h3>
+<p>Use the "Set Header Key Derivation Algorithm" feature to change the HMAC-RIPEMD-160 hash algorithm to one supported in VeraCrypt 1.26. Refer to the <a href="Hash%20Algorithms.html">documentation</a> for more details.</p>
+
+<h3>4.3 Recreating VeraCrypt Volume if Using GOST89 Encryption Algorithm</h3>
+<p>If your volume uses the GOST89 encryption algorithm, you will need to copy your data elsewhere and recreate the volume using a supported encryption algorithm. More details are available in the <a href="Encryption%20Algorithms.html">encryption algorithm documentation</a>.</p>
+
+<h2>5. Important Notes</h2>
+<p><strong>Note to users who created volumes with VeraCrypt 1.17 or earlier:</strong></p>
+<blockquote>
+<p>To avoid revealing whether your volumes contain a hidden volume or not, or if you rely on plausible deniability, you must recreate both the outer and hidden volumes, including system encryption and hidden OS. Discard existing volumes created prior to VeraCrypt 1.18a.</p>
+</blockquote>
+
+<p>For more information, visit:</p>
+<ul>
+<li><a href="TrueCrypt%20Support.html">TrueCrypt Support</a></li>
+<li><a href="Converting%20TrueCrypt%20volumes%20and%20partitions.html">Converting TrueCrypt Volumes and Partitions</a></li>
+</ul>
+
+</div>
+
+<div class="ClearBoth"></div>
+</body>
+</html>
diff --git a/doc/html/Converting TrueCrypt volumes and partitions.html b/doc/html/Converting TrueCrypt volumes and partitions.html
index d2ef554c..b5485266 100644
--- a/doc/html/Converting TrueCrypt volumes and partitions.html
+++ b/doc/html/Converting TrueCrypt volumes and partitions.html
@@ -36,6 +36,10 @@
<h1>Converting TrueCrypt volumes and partitions</h1>
-<p>Starting from version 1.0f, TrueCrypt volumes and <strong>non-system</strong> partitions can be converted to VeraCrypt format using any of the following actions:</p>
+<p><strong>⚠️ Warning:</strong> <span style="color: red;">After conversion, ensure that the "TrueCrypt Mode" checkbox is not selected during the mount of the converted volume. Since it is no longer a TrueCrypt volume, mounting it with this option will lead to a mount failure.</span></p>
+<p><strong>⚠️ Important Notice:</strong> As of version 1.26, VeraCrypt has removed support for "TrueCrypt Mode." Consequently, the conversion of TrueCrypt volumes and partitions using this method is no longer possible. Please refer to <a href="Conversion_Guide_VeraCrypt_1.26_and_Later.html">this documentation page</a> for guidance on how to proceed with TrueCrypt volumes in VeraCrypt versions 1.26 and later.</p>
+<p>From version 1.0f up to and including version 1.25.9, TrueCrypt volumes and <strong>non-system</strong> partitions created with TrueCrypt versions 6.x and 7.x, starting with version 6.0 released on July 4th 2008, can be converted to VeraCrypt format using any of the following actions:</p>
<ul>
<li>Change Volume Password </li><li>Set Header Key Derivation Algorithm </li><li>Add/Remove key files </li><li>Remove all key files </li></ul>
-<p>&ldquo;TrueCrypt Mode&rdquo; must be checked in the dialog as show below:</p>
+<p>If the TrueCrypt volume contains a hidden volume, it should also be converted using the same approach, by specifying the hidden volume password and/or keyfiles.</p>
+<p>🚨 After conversion of a file container, the file extension will remain as .tc. Manually change it to .hc if you want VeraCrypt 1.26 or newer to automatically recognize it.</p>
+<p>&ldquo;TrueCrypt Mode&rdquo; must be checked in the dialog as shown below:</p>
<p>&nbsp;<img src="Converting TrueCrypt volumes and partitions_truecrypt_convertion.jpg" alt=""></p>
diff --git a/doc/html/Creating New Volumes.html b/doc/html/Creating New Volumes.html
index 5c235c10..7fe6144e 100644
--- a/doc/html/Creating New Volumes.html
+++ b/doc/html/Creating New Volumes.html
@@ -61,3 +61,3 @@ Note that the output of a hash function is <em>never </em>used directly as an en
<em>entirely </em>filled with random data. Quick format is much faster but may be less secure because until the whole volume has been filled with files, it may be possible to tell how much data it contains (if the space was not filled with random data beforehand).
- If you are not sure whether to enable or disable Quick Format, we recommend that you leave this option unchecked. Note that Quick Format can only be enabled when encrypting partitions/devices.</p>
+ If you are not sure whether to enable or disable Quick Format, we recommend that you leave this option unchecked. Note that Quick Format can only be enabled when encrypting partitions/devices, except on Windows where it is also available when creating file containers.</p>
<p>Important: When encrypting a partition/device within which you intend to create a hidden volume afterwards, leave this option unchecked.</p>
diff --git a/doc/html/Documentation.html b/doc/html/Documentation.html
index 5626301b..db4969bf 100644
--- a/doc/html/Documentation.html
+++ b/doc/html/Documentation.html
@@ -61,2 +61,4 @@
</li></ul>
+</li><li><strong><a href="Normal%20Unmount%20vs%20Force%20Unmount.html">Normal Unmount vs Force Unmount</a></strong>
+</li><li><strong><a href="Avoid%20Third-Party%20File%20Extensions.html">Avoid Third-Party File Extensions</a></strong>
</li><li><strong><a href="Parallelization.html">Parallelization</a></strong>
@@ -67,2 +69,3 @@
</li><li><strong><a href="Security%20Tokens%20%26%20Smart%20Cards.html">Security Tokens &amp; Smart Cards</a></strong>
+</li><li><strong><a href="EMV%20Smart%20Cards.html">EMV Smart Cards</a></strong>
</li><li><strong><a href="Portable%20Mode.html">Portable Mode</a></strong>
@@ -70,2 +73,3 @@
</li><li><strong><a href="Converting%20TrueCrypt%20volumes%20and%20partitions.html">Converting TrueCrypt Volumes &amp; Partitions</a></strong>
+</li><li><strong><a href="Conversion_Guide_VeraCrypt_1.26_and_Later.html">Conversion Guide for Versions 1.26 and Later</a></strong>
</li><li><strong><a href="Default%20Mount%20Parameters.html">Default Mount Parameters</a></strong>
@@ -80,3 +84,3 @@
<ul>
-<li><a href="RIPEMD-160.html">RIPEMD-160</a>
+<li><a href="BLAKE2s-256.html">BLAKE2s-256</a>
</li><li><a href="SHA-256.html">SHA-256</a> </li><li><a href="SHA-512.html">SHA-512</a> </li><li><a href="Whirlpool.html">Whirlpool</a>
@@ -96,2 +100,4 @@
</li><li><a href="Unencrypted%20Data%20in%20RAM.html">Unencrypted Data in RAM</a>
+</li><li><a href="VeraCrypt%20RAM%20Encryption.html">VeraCrypt RAM Encryption</a>
+</li><li><a href="VeraCrypt%20Memory%20Protection.html">VeraCrypt Memory Protection</a>
</li><li><a href="Physical%20Security.html">Physical Security</a>
@@ -137,2 +143,7 @@
</li><li><a href="Source%20Code.html">Source Code</a>
+</li><li><a href="CompilingGuidelines.html">Building VeraCrypt From Source</a>
+<ul>
+<li><a href="CompilingGuidelineWin.html">Windows Build Guide</a>
+</li><li><a href="CompilingGuidelineLinux.html">Linux Build Guide</a>
+</li></ul>
</li></ul>
diff --git a/doc/html/Donation.html b/doc/html/Donation.html
index 6bf151ed..9d0cd62f 100644
--- a/doc/html/Donation.html
+++ b/doc/html/Donation.html
@@ -9,2 +9,3 @@
<link href="styles.css" rel="stylesheet" type="text/css" />
+<script src="donation.js"></script>
</head>
@@ -29,3 +30,3 @@
<h1>Donation to VeraCrypt</h1>
-<p>You can support VeraCrypt development through donations using PayPal, bank transfers and cryptocurrencies (<a href="#Bitcoin">Bitcoin</a>, <a href="#BitcoinCash">Bitcoin Cash</a>, <a href="#Ethereum">Ethereum</a>, <a href="#Litecoin">Litecoin</a> and <a href="#Monero">Monero</a>). It is also possible to donate using Liberapay and Flattr.</p>
+<p>You can support VeraCrypt development through donations using PayPal, bank transfers and cryptocurrencies (<a href="#Bitcoin">Bitcoin</a>, <a href="#BitcoinCash">Bitcoin Cash</a>, <a href="#Ethereum">Ethereum</a>, <a href="#Litecoin">Litecoin</a> and <a href="#Monero">Monero</a>). It is also possible to donate using Liberapay.</p>
@@ -33,29 +34,81 @@
<h3><img src="paypal_30x30.png" style="vertical-align: middle; margin-right: 5px">PayPal</h3>
-<table>
-<tbody>
-<tr>
-<td align="center"><a title="Donate to VeraCrypt in Euros" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=H25GJLUDHBMB6" target="_blank"><img src="Donation_donate_Euros.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in USD" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=B8PU86SHE2ZVA" target="_blank"><img src="Donation_donate_Dollars.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in GBP" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MFAZACXK9NXT8" target="_blank"><img src="Donation_donate_GBP.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in Canadian Dollar" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QAN6T5E5F7F5J" target="_blank"><img src="Donation_donate_Dollars.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in Swiss Francs" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=98RJHVLY5NJ5U" target="_blank"><img src="Donation_donate_CHF.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in Japanese Yen" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=M9DXZ83WD7S8Y" target="_blank"><img src="Donation_donate_YEN.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in Australian Dollar" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=S9L769QS6WAU6" target="_blank"><img src="Donation_donate_Dollars.gif" alt="" width="92" height="26"></a></td>
-<td align="center"><a title="VeraCrypt Donation in Polish złoty" href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2WDGT7KUJ5GH8" target="_blank"><img src="Donation_donate_PLN.gif" alt="" width="92" height="26"></a></td>
-</tr>
-<tr>
-<td align="center">Euro</td>
-<td align="center">US Dollar</td>
-<td align="center">Pound Sterling</td>
-<td align="center">Canadian Dollar</td>
-<td align="center">Swiss Franc</td>
-<td align="center">Japanese Yen</td>
-<td align="center">Australian Dollar</td>
-<td align="center">Polish złoty</td>
-</tr>
-</tbody>
-</table>
-
-<p>For other currencies, click on the button below and then select your currency using the drop-down list under the amount.</p>
-<a title="VeraCrypt Donation in any currency" href="https://www.paypal.me/idrix" target="_blank"><img src="Donation_donate.gif" alt="" width="92" height="26"></a>
+<div class="donation-buttons">
+ <div class="donation-button">
+ <a title="Donate to VeraCrypt in Euros" href="https://www.paypal.com/ncp/payment/MN367WS3VY9ZU" target="_blank">
+ <img src="Donation_donate_Euros.gif" alt="Donate in Euros" width="92" height="26">
+ </a>
+ <div class="currency-label">Euro</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in USD" href="https://www.paypal.com/ncp/payment/MDY6S3XNCUQRW" target="_blank">
+ <img src="Donation_donate_Dollars.gif" alt="Donate in USD" width="92" height="26">
+ </a>
+ <div class="currency-label">US Dollar</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in GBP" href="https://www.paypal.com/ncp/payment/QLA86UP7S58H4" target="_blank">
+ <img src="Donation_donate_GBP.gif" alt="Donate in GBP" width="92" height="26">
+ </a>
+ <div class="currency-label">Pound Sterling</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in Canadian Dollar" href="https://www.paypal.com/ncp/payment/6KA5U56B9S2LS" target="_blank">
+ <img src="Donation_donate_Dollars.gif" alt="Donate in CAD" width="92" height="26">
+ </a>
+ <div class="currency-label">Canadian Dollar</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in Swiss Francs" href="https://www.paypal.com/ncp/payment/ZUD4RAVN3668G" target="_blank">
+ <img src="Donation_donate_CHF.gif" alt="Donate in CHF" width="92" height="26">
+ </a>
+ <div class="currency-label">Swiss Franc</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in Japanese Yen" href="https://www.paypal.com/ncp/payment/7VDVBU3HDMZWE" target="_blank">
+ <img src="Donation_donate_YEN.gif" alt="Donate in JPY" width="92" height="26">
+ </a>
+ <div class="currency-label">Japanese Yen</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in Australian Dollar" href="https://www.paypal.com/ncp/payment/JGW5REWFUUSJS" target="_blank">
+ <img src="Donation_donate_Dollars.gif" alt="Donate in AUD" width="92" height="26">
+ </a>
+ <div class="currency-label">Australian Dollar</div>
+ </div>
+ <div class="donation-button">
+ <a title="VeraCrypt Donation in Polish złoty" href="https://www.paypal.com/ncp/payment/YVFANME4Y9WFU" target="_blank">
+ <img src="Donation_donate_PLN.gif" alt="Donate in PLN" width="92" height="26">
+ </a>
+ <div class="currency-label">Polish złoty</div>
+ </div>
+</div>
+
+<p>For other currencies, select from the list below:</p>
+<form method="get" action="" id="currency-form" target="_blank">
+ <select name="currency" style="padding: 5px; margin-right: 10px;" required>
+ <option value="" disabled selected>Select your currency</option>
+ <option value="https://www.paypal.com/ncp/payment/MN367WS3VY9ZU">€ EUR - Euro</option>
+ <option value="https://www.paypal.com/ncp/payment/MDY6S3XNCUQRW">$ USD - US Dollar</option>
+ <option value="https://www.paypal.com/ncp/payment/JGW5REWFUUSJS">$ AUD - Australian Dollar</option>
+ <option value="https://www.paypal.com/ncp/payment/P8JABT6BWBQKG">R$ BRL - Brazilian Real</option>
+ <option value="https://www.paypal.com/ncp/payment/6KA5U56B9S2LS">$ CAD - Canadian Dollar</option>
+ <option value="https://www.paypal.com/ncp/payment/ZUD4RAVN3668G">₣ CHF - Swiss Franc</option>
+ <option value="https://www.paypal.com/ncp/payment/3LVJ8XBWNMCYQ">Kč CZK - Czech Koruna</option>
+ <option value="https://www.paypal.com/ncp/payment/542JDQZL74AZW">kr DKK - Danish Krone</option>
+ <option value="https://www.paypal.com/ncp/payment/QLA86UP7S58H4">£ GBP - British Pound</option>
+ <option value="https://www.paypal.com/ncp/payment/YXB526AAZACQ6">$ HKD - Hong Kong Dollar</option>
+ <option value="https://www.paypal.com/ncp/payment/VZBXSS49JNU6G">Ft HUF - Hungarian Forint</option>
+ <option value="https://www.paypal.com/ncp/payment/5FZRSA4VQ3UXA">₪ ILS - Israeli Shekel</option>
+ <option value="https://www.paypal.com/ncp/payment/7VDVBU3HDMZWE">¥ JPY - Japanese Yen</option>
+ <option value="https://www.paypal.com/ncp/payment/GAUPLADH3NV6S">$ MXN - Mexican Peso</option>
+ <option value="https://www.paypal.com/ncp/payment/6LGRTR5L7K5MQ">$ NZD - New Zealand Dollar</option>
+ <option value="https://www.paypal.com/ncp/payment/P5Z56HRYLSM6Q">kr NOK - Norwegian Krone</option>
+ <option value="https://www.paypal.com/ncp/payment/2AQ5GKLQJDLB8">₱ PHP - Philippine Peso</option>
+ <option value="https://www.paypal.com/ncp/payment/YVFANME4Y9WFU">zł PLN - Polish Złoty</option>
+ <option value="https://www.paypal.com/ncp/payment/542JDQZL74AZW">kr SEK - Swedish Krona</option>
+ <option value="https://www.paypal.com/ncp/payment/EFHP9Z9KL4H9N">S$ SGD - Singapore Dollar</option>
+ <option value="https://www.paypal.com/ncp/payment/QMSTMEMJ7UE3S">฿ THB - Thai Baht</option>
+ </select>
+ <input type="submit" value="Donate" style="padding: 5px 15px; background-color: #08aad7; color: white; border: none; cursor: pointer;">
+</form>
@@ -70,3 +123,2 @@
<li><strong>Liberapay: <a href="https://liberapay.com/VeraCrypt/donate" target="_blank"><img alt="Donate using Liberapay" src="liberapay_donate.svg" style="vertical-align: middle; margin-bottom: 5px"></a></strong></li>
-<li><strong>Flattr: <a title="Donate using Flattr" href="https://flattr.com/domain/veracrypt.fr" target="_blank"><img title="Flattr VeraCrypt" src="flattr-badge-large.png" alt="Flattr VeraCrypt" width="93" height="20" border="0" style="vertical-align: middle; margin-bottom: 5px"></a></strong></li>
</ul>
@@ -76,10 +128,11 @@
<ul>
-<li><strong>Legacy:</strong>
-<p><img src="Donation_VeraCrypt_Bitcoin_small.png" alt="VeraCrypt Bitcoin Address" width="150" height="150"></p>
-<p><strong>1NRoPQsm8by5iWyMMmHQy3P5takur3kYgG</strong></p>
-</li>
<li><strong>SegWit:</strong>
-<p><img src="Donation_VC_BTC_Sigwit.png" alt="VeraCrypt BTC SegWit Address" width="150" height="150"></p>
+<p><img src="Donation_VC_BTC_Sigwit.png" alt="VeraCrypt BTC SegWit Address" width="200" height="200"></p>
<p><strong>bc1q28x9udhvjp8jzwmmpsv7ehzw8za60c7g62xauh</strong></p>
</li>
+<li><strong>Legacy:</strong>
+<p><img src="Donation_VeraCrypt_Bitcoin_small.png" alt="VeraCrypt Bitcoin Address" width="200" height="200"></p>
+<p><strong>14atYG4FNGwd3F89h1wDAfeRDwYodgRLcf</strong></p>
+</li>
+
</ul>
@@ -87,4 +140,4 @@
<hr>
-<h3 id="BitcoinCash"><img src="BCH_Logo_48x30.png" style="vertical-align: middle; margin-right: 5px">Bitcoin Cash</h3>
-<p><img src="Donation_VeraCrypt_BitcoinCash.png" alt="VeraCrypt Bitcoin Cash Address" width="150" height="150"></p>
+<h3 id="BitcoinCash"><img src="BCH_Logo_30x30.png" style="vertical-align: middle; margin-right: 5px">Bitcoin Cash</h3>
+<p><img src="Donation_VeraCrypt_BitcoinCash.png" alt="VeraCrypt Bitcoin Cash Address" width="200" height="200"></p>
<p><strong>bitcoincash:qp5vrqwln247f7l9p98ucj4cqye0cjcyusc94jlpy9</strong></p>
@@ -93,3 +146,3 @@
<h3 id="Ethereum"><img src="Ethereum_Logo_19x30.png" style="vertical-align: middle; margin-right: 5px">Ethereum</h3>
-<p><img src="Donation_VeraCrypt_Ethereum.png" alt="VeraCrypt Ethereum Address" width="150" height="150"></p>
+<p><img src="Donation_VeraCrypt_Ethereum.png" alt="VeraCrypt Ethereum Address" width="200" height="200"></p>
<p><strong>0x0a7a86a3eB5f533d969500831e8CC681454a8bD2</strong></p>
@@ -98,3 +151,3 @@
<h3 id="Litecoin"><img src="LTC_Logo_30x30.png" style="vertical-align: middle; margin-right: 5px">Litecoin</h3>
-<p><img src="Donation_VeraCrypt_Litecoin.png" alt="VeraCrypt Litecoin Address" width="150" height="150"></p>
+<p><img src="Donation_VeraCrypt_Litecoin.png" alt="VeraCrypt Litecoin Address" width="200" height="200"></p>
<p><strong>LZkkfkMs4qHmWaP9DAvS1Ep1fAxaf8A2T7</strong></p>
@@ -103,3 +156,3 @@
<h3 id="Monero"><img src="Monero_Logo_30x30.png" style="vertical-align: middle; margin-right: 5px">Monero</h3>
-<p><img src="Donation_VeraCrypt_Monero.png" alt="VeraCrypt Monero Address" width="150" height="150"></p>
+<p><img src="Donation_VeraCrypt_Monero.png" alt="VeraCrypt Monero Address" width="200" height="200"></p>
<p><strong>464GGAau9CE5XiER4PSZ6SMbK4wxPCgdm2r36uqnL8NoS6zDjxUYXnyQymbUsK1QipDMY2fsSgDyZ3tMaLfpWvSr2EE8wMw</strong></p>
diff --git a/doc/html/Donation_Bank.html b/doc/html/Donation_Bank.html
index f9d64fda..b7f1f391 100644
--- a/doc/html/Donation_Bank.html
+++ b/doc/html/Donation_Bank.html
@@ -45,6 +45,6 @@ Reference: Open Source Donation<br>
Account Holder: IDRIX SARL<br>
-Account number: 9600000000026614<br>
-Routing number: 084009519<br>
+Account number: 8310085792<br>
+ACH and Wire routing number: 026073150<br>
Account Type: Checking<br>
-Address: TransferWise, 19 W 24th Street, New York, NY, 10010, United States<br>
+Address: Wise, 30 W. 26th Street, Sixth Floor, New York NY 10010, United States<br>
Reference: Open Source Donation<br>
@@ -54,4 +54,5 @@ Account Holder: IDRIX SARL<br>
Account number: 8310085792<br>
+Routing number: 026073150<br>
Bank code (SWIFT/BIC): CMFGUS33<br>
-Address: TransferWise, 19 W 24th Street, New York, NY, 10010, United States<br>
+Address: Wise, 30 W. 26th Street, Sixth Floor, New York NY 10010, United States<br>
Reference: Open Source Donation<br>
@@ -66,3 +67,3 @@ UK Sort Code: 23-14-70<br>
IBAN (to receive GBP from UK only): GB18 TRWI 2314 7056 3850 07<br>
-Address: TransferWise, 56 Shoreditch High Street, London, E1 6JJ, United Kingdom<br>
+Address: Wise, 56 Shoreditch High Street, London, E1 6JJ, United Kingdom<br>
Reference: Open Source Donation<br>
@@ -75,3 +76,3 @@ Account number: 711714051<br>
BSB Code: 802-985<br>
-Address: TransferWise, 36-38 Gipps Street, Collingwood VIC 3066, Autralia.<br>
+Address: Wise, 36-38 Gipps Street, Collingwood VIC 3066, Autralia.<br>
Reference: Open Source Donation<br>
@@ -83,3 +84,3 @@ Account Holder: IDRIX SARL<br>
Account number: 02-1291-0218919-000<br>
-Address: TransferWise, 56 Shoreditch High Street, London, E1 6JJ, United Kingdom<br>
+Address: Wise, 56 Shoreditch High Street, London, E1 6JJ, United Kingdom<br>
Reference: Open Source Donation<br>
diff --git a/doc/html/Donation_VC_BTC_Sigwit.png b/doc/html/Donation_VC_BTC_Sigwit.png
index 74a15dae..d754760e 100644
--- a/doc/html/Donation_VC_BTC_Sigwit.png
+++ b/doc/html/Donation_VC_BTC_Sigwit.png
Binary files differ
diff --git a/doc/html/Donation_VeraCrypt_BitcoinCash.png b/doc/html/Donation_VeraCrypt_BitcoinCash.png
index 49cf6eb4..c7e22e54 100644
--- a/doc/html/Donation_VeraCrypt_BitcoinCash.png
+++ b/doc/html/Donation_VeraCrypt_BitcoinCash.png
Binary files differ
diff --git a/doc/html/Donation_VeraCrypt_Bitcoin_small.png b/doc/html/Donation_VeraCrypt_Bitcoin_small.png
index 2f7f6d19..72ceae5c 100644
--- a/doc/html/Donation_VeraCrypt_Bitcoin_small.png
+++ b/doc/html/Donation_VeraCrypt_Bitcoin_small.png
Binary files differ
diff --git a/doc/html/Donation_VeraCrypt_Ethereum.png b/doc/html/Donation_VeraCrypt_Ethereum.png
index 49e69b27..fa511247 100644
--- a/doc/html/Donation_VeraCrypt_Ethereum.png
+++ b/doc/html/Donation_VeraCrypt_Ethereum.png
Binary files differ
diff --git a/doc/html/Donation_VeraCrypt_Litecoin.png b/doc/html/Donation_VeraCrypt_Litecoin.png
index 90134045..6f5d858a 100644
--- a/doc/html/Donation_VeraCrypt_Litecoin.png
+++ b/doc/html/Donation_VeraCrypt_Litecoin.png
Binary files differ
diff --git a/doc/html/Donation_VeraCrypt_Monero.png b/doc/html/Donation_VeraCrypt_Monero.png
index 9125e0a7..4085a721 100644
--- a/doc/html/Donation_VeraCrypt_Monero.png
+++ b/doc/html/Donation_VeraCrypt_Monero.png
Binary files differ
diff --git a/doc/html/EMV Smart Cards.html b/doc/html/EMV Smart Cards.html
new file mode 100644
index 00000000..d9c8716a
--- /dev/null
+++ b/doc/html/EMV Smart Cards.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title>
+ VeraCrypt - Free Open source disk encryption with strong security for the
+ Paranoid
+ </title>
+ <meta
+ name="description"
+ content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."
+ />
+ <meta name="keywords" content="encryption, security" />
+ <link href="styles.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div>
+ <a href="Documentation.html"
+ ><img src="VeraCrypt128x128.png" alt="VeraCrypt"
+ /></a>
+ </div>
+
+ <div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li>
+ <a
+ href="https://sourceforge.net/p/veracrypt/discussion/"
+ target="_blank"
+ >Forums</a
+ >
+ </li>
+ </ul>
+ </div>
+
+ <div>
+ <p>
+ <a href="Documentation.html">Documentation</a>
+ <img src="arrow_right.gif" alt=">>" style="margin-top: 5px" />
+ <a href="EMV%20Smart%20Cards.html">EMV Smart Cards</a>
+ </p>
+ </div>
+
+ <div class="wikidoc">
+ <h1>EMV Smart Cards</h1>
+ <div
+ style="
+ text-align: left;
+ margin-top: 19px;
+ margin-bottom: 19px;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ "
+ >
+ <p>
+ Windows and Linux versions of VeraCrypt offer to use EMV compliant
+ smart cards as a feature. Indeed, the use of PKCS#11 compliant smart
+ cards is dedicated to users with more or less cybersecurity skills.
+ However, in some situations, having such a card strongly reduces the
+ plausible deniability of the user.
+ </p>
+ <p>
+ To overcome this problem, the idea is to allow the use of a type of
+ smart card owned by anyone: EMV compliant smart cards. According to
+ the standard of the same name, these cards spread all over the world
+ are used to carry out banking operations. Using internal data of the
+ user's EMV card as keyfiles will strengthen the security of his volume
+ while keeping his denial plausible.
+ </p>
+ <p>
+ For more technical information, please see the section
+ <em style="text-align: left">EMV Smart Cards</em> in the chapter
+ <a
+ href="Keyfiles%20in%20VeraCrypt.html"
+ style="text-align: left; color: #0080c0; text-decoration: none.html"
+ >
+ <em style="text-align: left">Keyfiles</em></a
+ >.
+ </p>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/html/Encryption Scheme.html b/doc/html/Encryption Scheme.html
index e159c7e8..88c586a2 100644
--- a/doc/html/Encryption Scheme.html
+++ b/doc/html/Encryption Scheme.html
@@ -56,3 +56,3 @@ Hidden Operating System</a>). If there is a hidden volume within this volume (or
<em>Header Key Derivation, Salt, and Iteration Count</em></a>), which can be one of the following:
-<p>HMAC-SHA-512, HMAC-SHA-256, HMAC-RIPEMD-160, HMAC-Whirlpool. If a PRF is explicitly specified by the user, it will be used directly without trying the other possibilities.</p>
+<p>HMAC-SHA-512, HMAC-SHA-256, HMAC-BLAKE2S-256, HMAC-Whirlpool. If a PRF is explicitly specified by the user, it will be used directly without trying the other possibilities.</p>
<p>A password entered by the user (to which one or more keyfiles may have been applied &ndash; see the section
diff --git a/doc/html/FAQ.html b/doc/html/FAQ.html
index 8b2fabc7..df1bfe8d 100644
--- a/doc/html/FAQ.html
+++ b/doc/html/FAQ.html
@@ -67,4 +67,3 @@ As an example, when the system partition is encrypted, TrueCrypt uses PBKDF2-RIP
<span style="text-decoration:underline">327661</span>. And for standard containers and other partitions, TrueCrypt uses at most 2000 iterations but VeraCrypt uses
-<span style="text-decoration:underline">655331 </span>for RIPEMD160 and <span style="text-decoration:underline">
-500000 </span>iterations for SHA-2 and Whirlpool.<br>
+<span style="text-decoration:underline">500000 </span>iterations.<br>
This enhanced security adds some delay only to the opening of encrypted partitions without any performance impact to the application use phase. This is acceptable to the legitimate owner but it makes it much harder for an attacker to gain access to the encrypted
@@ -230,3 +229,3 @@ VeraCrypt volumes</a> are independent of the operating system. You will be able
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-Before you unplug or turn off the device, you should always dismount the VeraCrypt volume in VeraCrypt first, and then perform the '<em style="text-align:left">Eject</em>' operation if available (right-click the device in the '<em style="text-align:left">Computer</em>'
+Before you unplug or turn off the device, you should always unmount the VeraCrypt volume in VeraCrypt first, and then perform the '<em style="text-align:left">Eject</em>' operation if available (right-click the device in the '<em style="text-align:left">Computer</em>'
or '<em style="text-align:left">My Computer</em>' list), or use the '<em style="text-align:left">Safely Remove Hardware</em>' function (built in Windows, accessible via the taskbar notification area). Otherwise, data loss may occur.</div>
@@ -479,5 +478,5 @@ documentation</a>.</div>
<br style="text-align:left">
-<strong style="text-align:left">Do I have to dismount VeraCrypt volumes before shutting down or restarting Windows?</strong></div>
+<strong style="text-align:left">Do I have to unmount VeraCrypt volumes before shutting down or restarting Windows?</strong></div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-No. VeraCrypt automatically dismounts all mounted VeraCrypt volumes on system shutdown/restart.</div>
+No. VeraCrypt automatically unmounts all mounted VeraCrypt volumes on system shutdown/restart.</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
@@ -489,3 +488,3 @@ No. VeraCrypt automatically dismounts all mounted VeraCrypt volumes on system sh
Partitions/drives</a> may be better as regards performance. Note that reading and writing to/from a file container may take significantly longer when the container is heavily fragmented. To solve this problem, defragment the file system in which the container
- is stored (when the VeraCrypt volume is dismounted).</div>
+ is stored (when the VeraCrypt volume is unmounted).</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
@@ -526,10 +525,2 @@ volume header</a> and if it fails, it attempts to decrypt the area within the vo
<br style="text-align:left">
-<strong style="text-align:left">When I use HMAC-RIPEMD-160, is the size of the header encryption key only 160 bits?</strong></div>
-<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-No, VeraCrypt never uses an output of a hash function (nor of a HMAC algorithm) directly as an encryption key. See the section
-<a href="Header%20Key%20Derivation.html" target="_blank" style="text-align:left; color:#0080c0; text-decoration:none.html">
-Header Key Derivation, Salt, and Iteration Count</a> in the <a href="https://www.veracrypt.fr/en/Documentation.html" target="_blank" style="text-align:left; color:#0080c0; text-decoration:none">
-documentation</a> for more information.</div>
-<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-<br style="text-align:left">
<strong style="text-align:left">How do I burn a VeraCrypt container larger than 2 GB onto a DVD?</strong><br style="text-align:left">
@@ -730,2 +721,46 @@ In order to be able to index a VeraCrypt volume through Windows Search, the volu
drives that are available when it starts.</div>
+ <div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+<strong>I'm encountering an "Operation not permitted" error with VeraCrypt on macOS when trying to mount a file container. How can I resolve this?</strong></div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+
+<p>This specific error, which appears in the form "Operation not permitted: /var/folders/w6/d2xssyzx.../T/.veracrypt_aux_mnt1/control VeraCrypt::File::Open:232", has been reported by some users. It is the result of macOS not granting the necessary permissions to VeraCrypt. Here are a couple of solutions you can try:</p>
+
+<ul>
+<li>A. Granting Full Disk Access to VeraCrypt:
+<p>
+<ol>
+ <li>Go to <code>Apple Menu</code> > <code>System Settings</code>.</li>
+ <li>Click on the <code>Privacy & Security</code> tab.</li>
+ <li>Scroll down and select <code>Full Disk Access</code>.</li>
+ <li>Click the <code>+</code> button, navigate to your Applications folder, select <code>VeraCrypt</code>, and click <code>Open</code>.</li>
+ <li>Ensure that the checkbox next to VeraCrypt is ticked.</li>
+ <li>Close the System Settings window and try using VeraCrypt again.</li>
+</p>
+</ol>
+</li>
+<li>B. Using the sudo approach to launch VeraCrypt:
+<p>You can launch VeraCrypt from the Terminal using elevated permissions:
+
+<pre>
+sudo /Applications/VeraCrypt.app/Contents/MacOS/VeraCrypt
+</pre>
+
+Running VeraCrypt with sudo often bypasses certain permission-related issues, but it's always a good practice to grant the necessary permissions via the system settings whenever possible.</p>
+</li>
+</ul>
+</div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+<strong style="text-align:left">Why does VeraCrypt show an unknown device in its list that doesn't appear as a physical disk in Windows Disk Management or in DiskPart output?</strong></div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+<p>
+Starting from Windows 10 version 1903 and later, Microsoft introduced a feature called <b>Windows Sandbox</b>. This is an isolated environment designed to run untrusted applications safely. As part of this feature, Windows generates a dynamic virtual hard disk (VHDX) which represents a clean Windows installation. This VHDX contains a base system image, user data, and the runtime state, and its size can vary depending on system configurations and usage.
+</p>
+<p>
+When VeraCrypt enumerates devices on a system, it identifies all available disk devices using device path formats like <b>\Device\HardDiskX\PartitionY</b>. VeraCrypt lists these devices, including virtual ones such as those associated with Windows Sandbox, without making distinctions based on their physical or virtual nature. Therefore, you might observe an unexpected device in VeraCrypt, even if it doesn't appear as a physical disk in tools like diskpart.
+</p>
+<p>
+For more details on the Windows Sandbox feature and its associated virtual hard disk, you can refer to this <a href="https://techcommunity.microsoft.com/t5/windows-os-platform-blog/windows-sandbox/ba-p/301849">official Microsoft article</a>.
+</p>
+</div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
<strong style="text-align:left">I haven't found any answer to my question in the FAQ &ndash; what should I do?</strong></div>
diff --git a/doc/html/Hash Algorithms.html b/doc/html/Hash Algorithms.html
index 9e59aa66..ea8c19ea 100644
--- a/doc/html/Hash Algorithms.html
+++ b/doc/html/Hash Algorithms.html
@@ -46,3 +46,3 @@ VeraCrypt currently supports the following hash algorithms:</div>
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-<a href="RIPEMD-160.html"><strong style="text-align:left.html">RIPEMD-160</strong></a>
+<a href="BLAKE2s-256.html"><strong style="text-align:left.html">BLAKE2s-256</strong></a>
</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
@@ -56,3 +56,3 @@ VeraCrypt currently supports the following hash algorithms:</div>
</li></ul>
-<p><a href="RIPEMD-160.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold.html">Next Section &gt;&gt;</a></p>
+<p><a href="BLAKE2s-256.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold.html">Next Section &gt;&gt;</a></p>
</div><div class="ClearBoth"></div></body></html>
diff --git a/doc/html/Header Key Derivation.html b/doc/html/Header Key Derivation.html
index 860c85e0..f922d676 100644
--- a/doc/html/Header Key Derivation.html
+++ b/doc/html/Header Key Derivation.html
@@ -54,4 +54,4 @@ Modes of Operation</a>). The method that VeraCrypt uses to generate the header k
<a href="Random%20Number%20Generator.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
-VeraCrypt random number generator</a> during the volume creation process. The header key derivation function is based on HMAC-SHA-512, HMAC-SHA-256, HMAC-RIPEMD-160, or HMAC-Whirlpool (see [8, 9, 20, 22]) &ndash; the user selects which. The length of the derived
- key does not depend on the size of the output of the underlying hash function. For example, a header key for the AES-256 cipher is always 256 bits long even if HMAC-RIPEMD-160 is used (in XTS mode, an additional 256-bit secondary header key is used; hence,
+VeraCrypt random number generator</a> during the volume creation process. The header key derivation function is based on HMAC-SHA-512, HMAC-SHA-256, HMAC-BLAKE2S-256, HMAC-Whirlpool or HMAC-Streebog (see [8, 9, 20, 22]) &ndash; the user selects which. The length of the derived
+ key does not depend on the size of the output of the underlying hash function. For example, a header key for the AES-256 cipher is always 256 bits long even if HMAC-SHA-512 is used (in XTS mode, an additional 256-bit secondary header key is used; hence,
two 256-bit keys are used for AES-256 in total). For more information, refer to [7]. A large number of iterations of the key derivation function have to be performed to derive a header key, which increases the time necessary to perform an exhaustive search
@@ -59,12 +59,14 @@ VeraCrypt random number generator</a> during the volume creation process. The he
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-<p>Prior to version 1.12, VeraCrypt always used a fixed number of iterations depending on the volume type and the derivation algorithm used:</p>
-<ul>
-<li>For system partition encryption (boot encryption), <strong>200000</strong> iterations are used for the HMAC-SHA-256 derivation function and
-<strong>327661</strong> iterations are used for HMAC-RIPEMD-160. </li><li>For standard containers and other partitions, <strong>655331</strong> iterations are used for HMAC-RIPEMD-160 and
-<strong>500000</strong> iterations are used for HMAC-SHA-512,&nbsp;HMAC-SHA-256 and HMAC-Whirlpool.
-</li></ul>
-<p>Starting from version 1.12, the <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
+<p>Prior to version 1.12, VeraCrypt always used a fixed number of iterations That depended only on the volume type and the derivation algorithm used.
+Starting from version 1.12, the <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
PIM </a>field (<a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">Personal Iterations Multiplier</a>) enables users to have more control over the number of iterations used by the key derivation function.</p>
+<p>
<p>When a <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
-PIM </a>value is not specified or if it is equal to zero, VeraCrypt uses the default values expressed above.</p>
+PIM </a>value is not specified or if it is equal to zero, VeraCrypt uses the default values expressed below:<br/>
+<ul>
+<li>For system partition encryption (boot encryption) that uses SHA-256, BLAKE2s-256 or Streebog, <strong>200000</strong> iterations are used.</li>
+<li>For system encryption that uses SHA-512 or Whirlpool, <strong>500000</strong> iterations are used.</li>
+<li>For non-system encryption and file containers, all derivation algorithms will use <strong>500000</strong> iterations.
+</li></ul>
+</p>
<p>When a <a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html">
@@ -73,3 +75,4 @@ PIM </a>value is given by the user, the number of iterations of the key derivati
<li>For system encryption that doesn't use SHA-512 or Whirlpool: Iterations = <strong>PIM x 2048</strong>
-</li><li>For system encryption that uses SHA-512 or Whirlpool, non-system encryption and file containers: Iterations = <strong>15000 &#43; (PIM x 1000)</strong>
+</li><li>For system encryption that uses SHA-512 or Whirlpool: Iterations = <strong>15000 &#43; (PIM x 1000)</strong>
+</li><li>For non-system encryption and file containers: Iterations = <strong>15000 &#43; (PIM x 1000)</strong>
</li></ul>
diff --git a/doc/html/Hibernation File.html b/doc/html/Hibernation File.html
index cc0888f1..0641c06c 100644
--- a/doc/html/Hibernation File.html
+++ b/doc/html/Hibernation File.html
@@ -46,3 +46,3 @@
<p>When a computer hibernates (or enters a power-saving mode), the content of its system memory is written to a so-called hibernation file on the hard drive. You can configure VeraCrypt (<em>Settings</em> &gt;
-<em>Preferences</em> &gt; <em>Dismount all when: Entering power saving mode</em>) to automatically dismount all mounted VeraCrypt volumes, erase their master keys stored in RAM, and cached passwords (stored in RAM), if there are any, before a computer hibernates
+<em>Preferences</em> &gt; <em>Unmount all when: Entering power saving mode</em>) to automatically unmount all mounted VeraCrypt volumes, erase their master keys stored in RAM, and cached passwords (stored in RAM), if there are any, before a computer hibernates
(or enters a power-saving mode). However, keep in mind, that if you do not use system encryption (see the chapter
diff --git a/doc/html/Hidden Volume.html b/doc/html/Hidden Volume.html
index 56f38e2b..bb415d36 100644
--- a/doc/html/Hidden Volume.html
+++ b/doc/html/Hidden Volume.html
@@ -48,3 +48,3 @@ It may happen that you are forced by somebody to reveal the password to an encry
The principle is that a VeraCrypt volume is created within another VeraCrypt volume (within the free space on the volume). Even when the outer volume is mounted, it should be impossible to prove whether there is a hidden volume within it or not*, because free
- space on <em style="text-align:left">any </em>VeraCrypt volume is always filled with random data when the volume is created** and no part of the (dismounted) hidden volume can be distinguished from random data. Note that VeraCrypt does not modify the file
+ space on <em style="text-align:left">any </em>VeraCrypt volume is always filled with random data when the volume is created** and no part of the (unmounted) hidden volume can be distinguished from random data. Note that VeraCrypt does not modify the file
system (information about free space, etc.) within the outer volume in any way.</div>
diff --git a/doc/html/Incompatibilities.html b/doc/html/Incompatibilities.html
index 4c9e4bce..a87ed56d 100644
--- a/doc/html/Incompatibilities.html
+++ b/doc/html/Incompatibilities.html
@@ -66,3 +66,3 @@ Please note that this not a bug in VeraCrypt (the issue is caused by inappropria
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-If Outpost Firewall or Outpost Security Suite is installed with Proactive Protection enabled, the machine freezes completely for 5-10 seconds during the volume mount/dismount operation. This is caused by a conflict between Outpost System Guard option that protects "Active Desktop" objects and VeraCrypt waiting dialog displayed during mount/dismount operations.</div>
+If Outpost Firewall or Outpost Security Suite is installed with Proactive Protection enabled, the machine freezes completely for 5-10 seconds during the volume mount/unmount operation. This is caused by a conflict between Outpost System Guard option that protects "Active Desktop" objects and VeraCrypt waiting dialog displayed during mount/unmount operations.</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
diff --git a/doc/html/Introduction.html b/doc/html/Introduction.html
index 1a946be2..28009ec9 100644
--- a/doc/html/Introduction.html
+++ b/doc/html/Introduction.html
@@ -52,3 +52,3 @@ Let's suppose that there is an .avi video file stored on a VeraCrypt volume (the
<p>Note that VeraCrypt never saves any decrypted data to a disk &ndash; it only stores them temporarily in RAM (memory). Even when the volume is mounted, data stored in the volume is still encrypted. When you restart Windows or turn off your computer, the volume
- will be dismounted and files stored in it will be inaccessible (and encrypted). Even when power supply is suddenly interrupted (without proper system shut down), files stored in the volume are inaccessible (and encrypted). To make them accessible again, you
+ will be unmounted and files stored in it will be inaccessible (and encrypted). Even when power supply is suddenly interrupted (without proper system shut down), files stored in the volume are inaccessible (and encrypted). To make them accessible again, you
have to mount the volume (and provide the correct password and/or keyfile). For a quick start guide, please see the chapter Beginner's Tutorial.</p>
diff --git a/doc/html/Issues and Limitations.html b/doc/html/Issues and Limitations.html
index eed2e222..4fa1e0e3 100644
--- a/doc/html/Issues and Limitations.html
+++ b/doc/html/Issues and Limitations.html
@@ -47,4 +47,4 @@ Also, there are other entries whose name start with &quot;#{&quot; and &quot;\??
</li>
-<li>On some Windows machines, VeraCrypt may hang intermittently when mounting or dismounting a volume. Similar hanging may affect other running applications during VeraCrypt mounting or dismounting operations.
-This issue is caused by a conflict between VeraCrypt waiting dialog displayed during mount/dismount operations and other software installed on the machine (e.g. Outpost Firewall Pro).
+<li>On some Windows machines, VeraCrypt may hang intermittently when mounting or unmounting a volume. Similar hanging may affect other running applications during VeraCrypt mounting or unmounting operations.
+This issue is caused by a conflict between VeraCrypt waiting dialog displayed during mount/unmount operations and other software installed on the machine (e.g. Outpost Firewall Pro).
In such situations, the issue can be solved by disabling VeraCrypt waiting dialog in the Preferences: use menu "Settings -> Preferences" and check the option "Don't show wait message dialog when performing operations".
@@ -81,3 +81,3 @@ Note: The only exception is the multi-boot configuration where a running VeraCry
systems (encrypted or unencrypted) installed on other drives connected to the computer (when drive #0 is disconnected, drive #1 becomes drive #0, etc.)
-</li><li>When the notebook battery power is low, Windows may omit sending the appropriate messages to running applications when the computer is entering power saving mode. Therefore, VeraCrypt may fail to auto-dismount volumes in such cases.
+</li><li>When the notebook battery power is low, Windows may omit sending the appropriate messages to running applications when the computer is entering power saving mode. Therefore, VeraCrypt may fail to auto-unmount volumes in such cases.
</li><li>Preserving of any timestamp of any file (e.g. a container or keyfile) is not guaranteed to be reliably and securely performed (for example, due to filesystem journals, timestamps of file attributes, or the operating system failing to perform it for various
@@ -105,3 +105,3 @@ link </a>explains how to disable it in Windows 8 and this <a href="https://www.t
</li>
-<li>Windows system Repair/Recovery Disk can't be created when a VeraCrypt volume is mounted as a fixed disk (which is the default). To solve this, either dismount all volumes or mount volumes are removable media.
+<li>Windows system Repair/Recovery Disk can't be created when a VeraCrypt volume is mounted as a fixed disk (which is the default). To solve this, either unmount all volumes or mount volumes are removable media.
</li><li>Further limitations are listed in the section <a href="Security%20Model.html">
diff --git a/doc/html/Keyfiles in VeraCrypt.html b/doc/html/Keyfiles in VeraCrypt.html
index ed940d53..5a07bf48 100644
--- a/doc/html/Keyfiles in VeraCrypt.html
+++ b/doc/html/Keyfiles in VeraCrypt.html
@@ -54,3 +54,2 @@ Allows managing multi-user <em style="text-align:left">shared</em> access (all k
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-Any kind of file (for example, .txt, .exe, mp3**, .avi) can be used as a VeraCrypt keyfile (however, we recommend that you prefer compressed files, such as .mp3, .jpg, .zip, etc).
<br style="text-align:left">
@@ -116,2 +115,21 @@ Tools</em> &gt; <em style="text-align:left">Close All Security Token Sessions</e
<p>&nbsp;</p>
+<h3 id="SmartCard" style="text-align:left; font-family:Arial,Helvetica,Verdana,sans-serif; font-weight:bold; margin-top:0px; font-size:13px; margin-bottom:4px">
+EMV Smart Cards</h3>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+Windows and Linux versions of VeraCrypt can use directly as keyfiles data extracted from EMV compliant smart cards, supporting Visa, Mastecard or Maestro applications. As with PKCS-11 compliant smart cards, to use such data as VeraCrypt keyfiles,
+click <em style="text-align:left">Add Token Files</em> (in the keyfile dialog window). The last four digits of the card's Primary Account Number will be displayed, allowing the selection of the card as a keyfile source.
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+The data extracted and concatenated into a single keyfile are as follow : ICC Public Key Certificate, Issuer Public Key Certificate and Card Production Life
+Cycle (CPLC) data. They are respectively identified by the tags '9F46', '90' and '9F7F' in the card's data management system. These two certificates are specific to an application deployed on the EMV card and used for the Dynamic Data Authentication of the card
+during banking transactions. CPLC data are specific to the card and not to any of its applications. They contain information on the production process of the smart card. Therefore both certificates and data are unique and static on any EMV compliant smart card.</div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+According to the ISO/IEC 7816 standard on which the EMV standard is based, communication with an EMV smart card is done through structured commands called APDUs, allowing to extract the data from the smart card. These data are encoded in the BER-TLV format,
+defined by the ASN.1 standard, and therefore need to be parsed before being concatenated into a keyfile. No PIN is required to access and retrieve data from the card. To cope with the diversity of smart cards readers on the market, librairies compliant with the Microsoft Personal
+Computer/Smart Card communication standard are used. The Winscard library is used. Natively available on Windows in System32, it then doesn't require any installation on this operating system. However, the libpcsclite1 package has to be installed on Linux.</div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+Since the card is read-only, it is not possible to import or delete data. However, data used as keyfiles can be exported locally in any binary file. During the entire cryptographic process of mounting or creating a volume, the certificates and CPLC data are never stored anywhere
+other than in the user's machine RAM. Once the process is complete, these RAM memory areas are rigorously erased.</div>
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+It important to note that this feature is optional and disabled by default. It can be enabled in the <em style="text-align:left">Security Token Preferences</em> parameters by checking the box provided.</div>
+<p>&nbsp;</p>
<h3 style="text-align:left; font-family:Arial,Helvetica,Verdana,sans-serif; font-weight:bold; margin-top:0px; font-size:13px; margin-bottom:4px">
diff --git a/doc/html/Keyfiles.html b/doc/html/Keyfiles.html
index db4fb52c..04dd3463 100644
--- a/doc/html/Keyfiles.html
+++ b/doc/html/Keyfiles.html
@@ -1,81 +1,222 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8" />
-<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
-<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
-<meta name="keywords" content="encryption, security"/>
-<link href="styles.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
+ <head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title>
+ VeraCrypt - Free Open source disk encryption with strong security for the
+ Paranoid
+ </title>
+ <meta
+ name="description"
+ content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."
+ />
+ <meta name="keywords" content="encryption, security" />
+ <link href="styles.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+ <div>
+ <a href="Documentation.html"
+ ><img src="VeraCrypt128x128.png" alt="VeraCrypt"
+ /></a>
+ </div>
-<div>
-<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
-</div>
+ <div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li>
+ <a
+ href="https://sourceforge.net/p/veracrypt/discussion/"
+ target="_blank"
+ >Forums</a
+ >
+ </li>
+ </ul>
+ </div>
-<div id="menu">
- <ul>
- <li><a href="Home.html">Home</a></li>
- <li><a href="/code/">Source Code</a></li>
- <li><a href="Downloads.html">Downloads</a></li>
- <li><a class="active" href="Documentation.html">Documentation</a></li>
- <li><a href="Donation.html">Donate</a></li>
- <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
- </ul>
-</div>
+ <div>
+ <p>
+ <a href="Documentation.html">Documentation</a>
+ <img src="arrow_right.gif" alt=">>" style="margin-top: 5px" />
+ <a href="Technical%20Details.html">Technical Details</a>
+ <img src="arrow_right.gif" alt=">>" style="margin-top: 5px" />
+ <a href="Keyfiles.html">Keyfiles</a>
+ </p>
+ </div>
-<div>
-<p>
-<a href="Documentation.html">Documentation</a>
-<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
-<a href="Technical%20Details.html">Technical Details</a>
-<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
-<a href="Keyfiles.html">Keyfiles</a>
-</p></div>
-
-<div class="wikidoc">
-<h1>Keyfiles</h1>
-<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-<p>VeraCrypt keyfile is a file whose content is combined with a password. The user can use any kind of file as a VeraCrypt keyfile. The user can also generate a keyfile using the built-in keyfile generator, which utilizes the VeraCrypt RNG to generate a file
- with random content (for more information, see the section <a href="Random%20Number%20Generator.html">
-<em>Random Number Generator</em></a>).</p>
-<p>The maximum size of a keyfile is not limited; however, only its first 1,048,576 bytes (1 MiB) are processed (all remaining bytes are ignored due to performance issues connected with processing extremely large files). The user can supply one or more keyfiles
- (the number of keyfiles is not limited).</p>
-<p>Keyfiles can be stored on PKCS-11-compliant [23] security tokens and smart cards protected by multiple PIN codes (which can be entered either using a hardware PIN pad or via the VeraCrypt GUI).</p>
-<p>Keyfiles are processed and applied to a password using the following method:</p>
-<ol>
-<li>Let <em>P</em> be a VeraCrypt volume password supplied by user (may be empty)
-</li><li>Let <em>KP</em> be the keyfile pool </li><li>Let <em>kpl</em> be the size of the keyfile pool <em>KP</em>, in bytes (64, i.e., 512 bits);
-<p>kpl must be a multiple of the output size of a hash function H</p>
-</li><li>Let <em>pl</em> be the length of the password <em>P</em>, in bytes (in the current version: 0 &le;
-<em>pl</em> &le; 64) </li><li>if <em>kpl &gt; pl</em>, append (<em>kpl &ndash; pl</em>) zero bytes to the password
-<em>P</em> (thus <em>pl = kpl</em>) </li><li>Fill the keyfile pool <em>KP</em> with <em>kpl</em> zero bytes. </li><li>For each keyfile perform the following steps:
-<ol type="a">
-<li>Set the position of the keyfile pool cursor to the beginning of the pool </li><li>Initialize the hash function <em>H</em> </li><li>Load all bytes of the keyfile one by one, and for each loaded byte perform the following steps:
-<ol type="i">
-<li>Hash the loaded byte using the hash function <em>H</em> without initializing the hash, to obtain an intermediate hash (state)
-<em>M.</em> Do not finalize the hash (the state is retained for next round). </li><li>Divide the state <em>M</em> into individual bytes.<br>
-For example, if the hash output size is 4 bytes, (<em>T</em><sub>0</sub> || <em>T</em><sub>1</sub> ||
-<em>T</em><sub>2</sub> || <em>T</em><sub>3</sub>) = <em>M</em> </li><li>Write these bytes (obtained in step 7.c.ii) individually to the keyfile pool with the modulo 2<sup>8</sup> addition operation (not by replacing the old values in the pool) at the position of the pool cursor. After a byte is written, the pool cursor position
- is advanced by one byte. When the cursor reaches the end of the pool, its position is set to the beginning of the pool.
-</li></ol>
-</li></ol>
-</li><li>Apply the content of the keyfile pool to the password <em>P</em> using the following method:
-<ol type="a">
-<li>Divide the password <em>P</em> into individual bytes <em>B</em><sub>0</sub>...<em>B</em><sub>pl-1</sub>.<br>
-Note that if the password was shorter than the keyfile pool, then the password was padded with zero bytes to the length of the pool in Step 5 (hence, at this point the length of the password is always greater than or equal to the length of the keyfile pool).
-</li><li>Divide the keyfile pool <em>KP</em> into individual bytes <em>G</em><sub>0</sub>...<em>G</em><sub>kpl-1</sub>
-</li><li>For 0 &le; i &lt; kpl perform: Bi = Bi &oplus; Gi </li><li><em>P</em> = <em>B</em><sub>0</sub> || <em>B</em><sub>1</sub> || ... || <em>B</em><sub>pl-2</sub> ||
-<em>B</em><sub>pl-1</sub> </li></ol>
-</li><li>The password <em>P</em> (after the keyfile pool content has been applied to it) is now passed to the header key derivation function PBKDF2 (PKCS #5 v2), which processes it (along with salt and other data) using a cryptographically secure hash algorithm
- selected by the user (e.g., SHA-512). See the section <a href="Header%20Key%20Derivation.html">
-<em>Header Key Derivation, Salt, and Iteration Count</em></a> for more information.
-</li></ol>
-<p>The role of the hash function <em>H</em> is merely to perform diffusion [2]. CRC-32 is used as the hash function
-<em>H</em>. Note that the output of CRC-32 is subsequently processed using a cryptographically secure hash algorithm: The keyfile pool content (in addition to being hashed using CRC-32) is applied to the password, which is then passed to the header key derivation
- function PBKDF2 (PKCS #5 v2), which processes it (along with salt and other data) using a cryptographically secure hash algorithm selected by the user (e.g., SHA-512). The resultant values are used to form the header key and the secondary header key (XTS mode).</p>
-<p>&nbsp;</p>
-<p><a href="Personal%20Iterations%20Multiplier%20%28PIM%29.html" style="text-align:left; color:#0080c0; text-decoration:none; font-weight:bold.html">Next Section &gt;&gt;</a></p>
-</div>
-</div><div class="ClearBoth"></div></body></html>
+ <div class="wikidoc">
+ <h1>Keyfiles</h1>
+ <div
+ style="
+ text-align: left;
+ margin-top: 19px;
+ margin-bottom: 19px;
+ padding-top: 0px;
+ padding-bottom: 0px;
+ "
+ >
+ <p>
+ VeraCrypt keyfile is a file whose content is combined with a password.
+ The user can use any kind of file as a VeraCrypt keyfile. The user can
+ also generate a keyfile using the built-in keyfile generator, which
+ utilizes the VeraCrypt RNG to generate a file with random content (for
+ more information, see the section
+ <a href="Random%20Number%20Generator.html">
+ <em>Random Number Generator</em></a
+ >).
+ </p>
+ <p>
+ The maximum size of a keyfile is not limited; however, only its first
+ 1,048,576 bytes (1 MiB) are processed (all remaining bytes are ignored
+ due to performance issues connected with processing extremely large
+ files). The user can supply one or more keyfiles (the number of
+ keyfiles is not limited).
+ </p>
+ <p>
+ Keyfiles can be stored on PKCS-11-compliant [23] security tokens and
+ smart cards protected by multiple PIN codes (which can be entered
+ either using a hardware PIN pad or via the VeraCrypt GUI).
+ </p>
+ <p>
+ EMV-compliant smart cards' data can be used as keyfile, see chapter
+ <a
+ href="EMV%20Smart%20Cards.html"
+ style="text-align: left; color: #0080c0; text-decoration: none.html"
+ >
+ <em style="text-align: left">EMV Smart Cards</em></a
+ >.
+ </p>
+ <p>
+ Keyfiles are processed and applied to a password using the following
+ method:
+ </p>
+ <ol>
+ <li>
+ Let <em>P</em> be a VeraCrypt volume password supplied by user (may
+ be empty)
+ </li>
+ <li>Let <em>KP</em> be the keyfile pool</li>
+ <li>
+ Let <em>kpl</em> be the size of the keyfile pool <em>KP</em>, in
+ bytes (64, i.e., 512 bits);
+ <p>
+ kpl must be a multiple of the output size of a hash function H
+ </p>
+ </li>
+ <li>
+ Let <em>pl</em> be the length of the password <em>P</em>, in bytes
+ (in the current version: 0 &le; <em>pl</em> &le; 64)
+ </li>
+ <li>
+ if <em>kpl &gt; pl</em>, append (<em>kpl &ndash; pl</em>) zero bytes
+ to the password <em>P</em> (thus <em>pl = kpl</em>)
+ </li>
+ <li>
+ Fill the keyfile pool <em>KP</em> with <em>kpl</em> zero bytes.
+ </li>
+ <li>
+ For each keyfile perform the following steps:
+ <ol type="a">
+ <li>
+ Set the position of the keyfile pool cursor to the beginning of
+ the pool
+ </li>
+ <li>Initialize the hash function <em>H</em></li>
+ <li>
+ Load all bytes of the keyfile one by one, and for each loaded
+ byte perform the following steps:
+ <ol type="i">
+ <li>
+ Hash the loaded byte using the hash function
+ <em>H</em> without initializing the hash, to obtain an
+ intermediate hash (state) <em>M.</em> Do not finalize the
+ hash (the state is retained for next round).
+ </li>
+ <li>
+ Divide the state <em>M</em> into individual bytes.<br />
+ For example, if the hash output size is 4 bytes, (<em>T</em
+ ><sub>0</sub> || <em>T</em><sub>1</sub> || <em>T</em
+ ><sub>2</sub> || <em>T</em><sub>3</sub>) = <em>M</em>
+ </li>
+ <li>
+ Write these bytes (obtained in step 7.c.ii) individually to
+ the keyfile pool with the modulo 2<sup>8</sup> addition
+ operation (not by replacing the old values in the pool) at
+ the position of the pool cursor. After a byte is written,
+ the pool cursor position is advanced by one byte. When the
+ cursor reaches the end of the pool, its position is set to
+ the beginning of the pool.
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ <li>
+ Apply the content of the keyfile pool to the password
+ <em>P</em> using the following method:
+ <ol type="a">
+ <li>
+ Divide the password <em>P</em> into individual bytes <em>B</em
+ ><sub>0</sub>...<em>B</em><sub>pl-1</sub>.<br />
+ Note that if the password was shorter than the keyfile pool,
+ then the password was padded with zero bytes to the length of
+ the pool in Step 5 (hence, at this point the length of the
+ password is always greater than or equal to the length of the
+ keyfile pool).
+ </li>
+ <li>
+ Divide the keyfile pool <em>KP</em> into individual bytes
+ <em>G</em><sub>0</sub>...<em>G</em><sub>kpl-1</sub>
+ </li>
+ <li>For 0 &le; i &lt; kpl perform: Bi = Bi &oplus; Gi</li>
+ <li>
+ <em>P</em> = <em>B</em><sub>0</sub> || <em>B</em><sub>1</sub> ||
+ ... || <em>B</em><sub>pl-2</sub> || <em>B</em><sub>pl-1</sub>
+ </li>
+ </ol>
+ </li>
+ <li>
+ The password <em>P</em> (after the keyfile pool content has been
+ applied to it) is now passed to the header key derivation function
+ PBKDF2 (PKCS #5 v2), which processes it (along with salt and other
+ data) using a cryptographically secure hash algorithm selected by
+ the user (e.g., SHA-512). See the section
+ <a href="Header%20Key%20Derivation.html">
+ <em>Header Key Derivation, Salt, and Iteration Count</em></a
+ >
+ for more information.
+ </li>
+ </ol>
+ <p>
+ The role of the hash function <em>H</em> is merely to perform
+ diffusion [2]. CRC-32 is used as the hash function <em>H</em>. Note
+ that the output of CRC-32 is subsequently processed using a
+ cryptographically secure hash algorithm: The keyfile pool content (in
+ addition to being hashed using CRC-32) is applied to the password,
+ which is then passed to the header key derivation function PBKDF2
+ (PKCS #5 v2), which processes it (along with salt and other data)
+ using a cryptographically secure hash algorithm selected by the user
+ (e.g., SHA-512). The resultant values are used to form the header key
+ and the secondary header key (XTS mode).
+ </p>
+ <p>&nbsp;</p>
+ <p>
+ <a
+ href="Personal%20Iterations%20Multiplier%20%28PIM%29.html"
+ style="
+ text-align: left;
+ color: #0080c0;
+ text-decoration: none;
+ font-weight: bold.html;
+ "
+ >Next Section &gt;&gt;</a
+ >
+ </p>
+ </div>
+ </div>
+ <div class="ClearBoth"></div>
+ </body>
+</html>
diff --git a/doc/html/LTC_Logo_30x30.png b/doc/html/LTC_Logo_30x30.png
index 22d760a3..e707c4f0 100644
--- a/doc/html/LTC_Logo_30x30.png
+++ b/doc/html/LTC_Logo_30x30.png
Binary files differ
diff --git a/doc/html/Language Packs.html b/doc/html/Language Packs.html
index fe4a1c4a..54f7f493 100644
--- a/doc/html/Language Packs.html
+++ b/doc/html/Language Packs.html
@@ -12,3 +12,3 @@
-<div>
+<div>
<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
@@ -29,3 +29,3 @@
<p>
-<a href="Documentation.html">Documentation</a>
+<a href="Documentation.html">Documentation</a>
<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
@@ -49,4 +49,4 @@ OK</em>.</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-You can still download an archive containing all language packs for the latest version (1.22) from
-<a href="https://launchpad.net/veracrypt/trunk/1.22/+download/VeraCrypt_1.22_Language_Files.zip">
+You can still download an archive containing all language packs for the latest version (1.26.18) from
+<a href="https://launchpad.net/veracrypt/trunk/1.26.18/+download/VeraCrypt_1.26.18_Language_Files.zip">
the following link</a>.</div>
diff --git a/doc/html/Legal Information.html b/doc/html/Legal Information.html
index 6abf4e34..cbd3f172 100644
--- a/doc/html/Legal Information.html
+++ b/doc/html/Legal Information.html
@@ -45,6 +45,6 @@ can be found here</a>.</p>
<br>
-Copyright &copy; 2013-2019 IDRIX. All rights reserved.<br>
+Copyright &copy; 2013-2025 IDRIX. All rights reserved.<br>
<br>
Portions of this software:</p>
-<p>Copyright &copy; 2013-2019 IDRIX. All rights reserved.<br>
+<p>Copyright &copy; 2013-2025 IDRIX. All rights reserved.<br>
<br>
@@ -54,8 +54,9 @@ Copyright &copy; 2003-2012 TrueCrypt Developers Association. All rights reserved
Copyright &copy; 1998-2008 Brian Gladman, Worcester, UK. All rights reserved.</p>
-<p>Copyright &copy; 1995-2017 Jean-loup Gailly and Mark Adler.</p>
+<p>Copyright &copy; 1995-2023 Jean-loup Gailly and Mark Adler.</p>
<p>Copyright &copy; 2016 Disk Cryptography Services for EFI (DCS), Alex Kolotnikov</p>
-<p>Copyright &copy; 1999-2017 Dieter Baron and Thomas Klausner.</p>
+<p>Copyright &copy; 1999-2023 Dieter Baron and Thomas Klausner.</p>
<p>Copyright &copy; 2013, Alexey Degtyarev. All rights reserved.</p>
<p>Copyright &copy; 1999-2016 Jack Lloyd. All rights reserved.</p>
-<p>Copyright &copy; 2013-2018 Stephan Mueller &lt;smueller@chronox.de&gt;</p>
+<p>Copyright &copy; 2013-2019 Stephan Mueller &lt;smueller@chronox.de&gt;</p>
+<p>Copyright &copy; 1999-2023 Igor Pavlov.</p>
<br>
diff --git a/doc/html/Main Program Window.html b/doc/html/Main Program Window.html
index 30ee175b..c232633f 100644
--- a/doc/html/Main Program Window.html
+++ b/doc/html/Main Program Window.html
@@ -47,3 +47,3 @@ Note: There is a more comfortable way of mounting VeraCrypt partitions/devices &
the volume will be mounted.</p>
-<p>Important: Note that when you exit the VeraCrypt application, the VeraCrypt driver continues working and no VeraCrypt volume is dismounted.</p>
+<p>Important: Note that when you exit the VeraCrypt application, the VeraCrypt driver continues working and no VeraCrypt volume is unmounted.</p>
<h3 id="AutoMountDevices">Auto-Mount Devices</h3>
@@ -58,9 +58,9 @@ If the password you enter is wrong, mounting is attempted using cached passwords
Drive letters will be assigned starting from the one that is selected in the drive list in the main window.</p>
-<h3>Dismount</h3>
-<p>This function allows you to dismount the VeraCrypt volume selected in the drive list in the main window. To dismount a VeraCrypt volume means to close it and make it impossible to read/write from/to the volume.</p>
-<h3>Dismount All</h3>
+<h3>Unmount</h3>
+<p>This function allows you to unmount the VeraCrypt volume selected in the drive list in the main window. To unmount a VeraCrypt volume means to close it and make it impossible to read/write from/to the volume.</p>
+<h3>Unmount All</h3>
<p>Note: The information in this section applies to all menu items and buttons with the same or similar caption (for example, it also applies to the system tray menu item
-<em>Dismount All</em>).<br>
+<em>Unmount All</em>).<br>
<br>
-This function allows you to dismount multiple VeraCrypt volumes. To dismount a VeraCrypt volume means to close it and make it impossible to read/write from/to the volume. This function dismounts all mounted VeraCrypt volumes except the following:</p>
+This function allows you to unmount multiple VeraCrypt volumes. To unmount a VeraCrypt volume means to close it and make it impossible to read/write from/to the volume. This function unmounts all mounted VeraCrypt volumes except the following:</p>
<ul>
@@ -68,4 +68,4 @@ This function allows you to dismount multiple VeraCrypt volumes. To dismount a V
</li><li>VeraCrypt volumes that are not fully accessible to the user account (e.g. a volume mounted from within another user account).
-</li><li>VeraCrypt volumes that are not displayed in the VeraCrypt application window. For example, system favorite volumes attempted to be dismounted by an instance of VeraCrypt without administrator privileges when the option '<em>Allow only administrators to
- view and dismount system favorite volumes in VeraCrypt</em>' is enabled. </li></ul>
+</li><li>VeraCrypt volumes that are not displayed in the VeraCrypt application window. For example, system favorite volumes attempted to be unmounted by an instance of VeraCrypt without administrator privileges when the option '<em>Allow only administrators to
+ view and unmount system favorite volumes in VeraCrypt</em>' is enabled. </li></ul>
<h3>Wipe Cache</h3>
@@ -89,7 +89,7 @@ Note: You can clear the volume history by selecting <em>Tools</em> -&gt; <em>Cle
<h3>Exit</h3>
-<p>Terminates the VeraCrypt application. The driver continues working and no VeraCrypt volumes are dismounted. When running in &lsquo;portable&rsquo; mode, the VeraCrypt driver is unloaded when it is no longer needed (e.g., when all instances of the main application
- and/or of the Volume Creation Wizard are closed and no VeraCrypt volumes are mounted). However, if you force dismount on a</p>
+<p>Terminates the VeraCrypt application. The driver continues working and no VeraCrypt volumes are unmounted. When running in &lsquo;portable&rsquo; mode, the VeraCrypt driver is unloaded when it is no longer needed (e.g., when all instances of the main application
+ and/or of the Volume Creation Wizard are closed and no VeraCrypt volumes are mounted). However, if you force unmount on a</p>
<p>VeraCrypt volume when VeraCrypt runs in portable mode, or mount a writable NTFS-formatted volume on Windows Vista or later, the VeraCrypt driver may
<em>not</em> be unloaded when you exit VeraCrypt (it will be unloaded only when you shut down or restart the system). This prevents various problems caused by a bug in Windows (for instance, it would be impossible to start VeraCrypt again as long as there are
- applications using the dismounted volume).</p>
+ applications using the unmounted volume).</p>
<h3>Volume Tools</h3>
diff --git a/doc/html/Multi-User Environment.html b/doc/html/Multi-User Environment.html
index 99456293..94c0f5e0 100644
--- a/doc/html/Multi-User Environment.html
+++ b/doc/html/Multi-User Environment.html
@@ -48,7 +48,7 @@ Moreover, on Windows, the password cache is shared by all logged on users (for m
Also note that switching users in Windows XP or later (<em>Fast User Switching</em> functionality) does
-<em>not</em> dismount a successfully mounted VeraCrypt volume (unlike system restart, which dismounts all mounted VeraCrypt volumes).<br>
+<em>not</em> unmount a successfully mounted VeraCrypt volume (unlike system restart, which unmounts all mounted VeraCrypt volumes).<br>
<br>
On Windows 2000, the container file permissions are ignored when a file-hosted VeraCrypt volume is to be mounted. On all supported versions of Windows, users without administrator privileges can mount any partition/device-hosted VeraCrypt volume (provided that
- they supply the correct password and/or keyfiles). A user without administrator privileges can dismount only volumes that he or she mounted. However, this does not apply to system favorite volumes unless you enable the option (disabled by default)
-<em>Settings</em> &gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<em>Allow only administrators to view and dismount system favorite volumes in VeraCrypt</em>&rsquo;.</p>
+ they supply the correct password and/or keyfiles). A user without administrator privileges can unmount only volumes that he or she mounted. However, this does not apply to system favorite volumes unless you enable the option (disabled by default)
+<em>Settings</em> &gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<em>Allow only administrators to view and unmount system favorite volumes in VeraCrypt</em>&rsquo;.</p>
</div>
diff --git a/doc/html/Normal Unmount vs Force Unmount.html b/doc/html/Normal Unmount vs Force Unmount.html
new file mode 100644
index 00000000..72da246b
--- /dev/null
+++ b/doc/html/Normal Unmount vs Force Unmount.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>VeraCrypt - Free Open source disk encryption with strong security for the Paranoid</title>
+<meta name="description" content="VeraCrypt is free open-source disk encryption software for Windows, Mac OS X and Linux. In case an attacker forces you to reveal the password, VeraCrypt provides plausible deniability. In contrast to file encryption, data encryption performed by VeraCrypt is real-time (on-the-fly), automatic, transparent, needs very little memory, and does not involve temporary unencrypted files."/>
+<meta name="keywords" content="encryption, security"/>
+<link href="styles.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+<div>
+<a href="Documentation.html"><img src="VeraCrypt128x128.png" alt="VeraCrypt"/></a>
+</div>
+
+<div id="menu">
+ <ul>
+ <li><a href="Home.html">Home</a></li>
+ <li><a href="/code/">Source Code</a></li>
+ <li><a href="Downloads.html">Downloads</a></li>
+ <li><a class="active" href="Documentation.html">Documentation</a></li>
+ <li><a href="Donation.html">Donate</a></li>
+ <li><a href="https://sourceforge.net/p/veracrypt/discussion/" target="_blank">Forums</a></li>
+ </ul>
+</div>
+
+<div>
+<p>
+<a href="Documentation.html">Documentation</a>
+<img src="arrow_right.gif" alt=">>" style="margin-top: 5px">
+<a href="Normal%20Unmount%20vs%20Force%20Unmount.html">Normal Unmount vs Force Unmount</a>
+</p></div>
+
+<div class="wikidoc">
+<h1>Normal Unmount vs Force Unmount</h1>
+<p>Understanding the distinction between "Normal Unmount" and "Force Unmount" operation is important due to the potential impact on user data.</p>
+
+<h2>Normal Unmount Process</h2>
+
+<p>During a normal unmount process, VeraCrypt performs the following steps:</p>
+
+<ol>
+ <li>Requests the Windows operating system to lock the volume, prohibiting further I/O operations.</li>
+ <li>Requests Windows to gracefully eject the volume from the system. This step is analogous to user-initiated device ejection via the system tray.</li>
+ <li>Instructs the Windows Mount Manager to unmount the volume.</li>
+ <li>Deletes the link between the drive letter and the volume's virtual device.</li>
+ <li>Deletes the volume's virtual device, which includes erasing the encryption keys from RAM.</li>
+</ol>
+
+<p>In this flow, steps 1 and 2 may fail if there are open files on the volume. Notably, even if all user applications accessing files on the volume are closed, Windows might still keep the files open until the I/O cache is completely flushed.</p>
+
+<h2>Force Unmount Process</h2>
+
+<p>The Force Unmount process is distinct but largely similar to the Normal Unmount. It essentially follows the same steps but disregards any failures that might occur during steps 1 and 2, and carries on with the rest of the procedure. However, if there are files open by the user or if the volume I/O cache has not yet been flushed, this could result in potential data loss. This situation parallels forcibly removing a USB device from your computer while Windows is still indicating its active usage.</p>
+
+<p>Provided all applications using files on the mounted volume have been successfully closed and the I/O cache is fully flushed, neither data loss nor data/filesystem corruption should occur when executing a 'force unmount'. As in a normal unmount, the encryption keys are erased from RAM upon successful completion of a 'Force Unmount'.</p>
+
+<h2>How to Trigger Force Unmount</h2>
+
+<p>There are three approaches to trigger a force unmount in VeraCrypt:</p>
+
+<ol>
+ <li>Through the popup window that appears if a normal unmount attempt is unsuccessful.</li>
+ <li>Via Preferences, by checking the "force auto-unmount" option in the "Auto-Unmount" section.</li>
+ <li>Using the command line, by incorporating the /force or /f switch along with the /d or /unmount switch.</li>
+</ol>
+
+<p>In order to avoid inadvertent data loss or corruption, always ensure to follow suitable precautions when unmounting a VeraCrypt volume. This includes</p>
+<ol>
+ <li>Ensuring all files on the volume are closed before initiating a unmount.</li>
+ <li>Allowing some time after closing all files to ensure Windows has completely flushed the I/O cache.</li>
+ <li>Take note that some antivirus software may keep file handles open on the volume after performing a scan, hindering a successful Normal Unmount. If you experience this issue, you might consider excluding the VeraCrypt volume from your antivirus scans. Alternatively, consult with your antivirus software provider to understand how their product interacts with VeraCrypt volumes and how to ensure it doesn't retain open file handles.</li>
+</ol>
+
+
+</div><div class="ClearBoth"></div></body></html>
diff --git a/doc/html/Personal Iterations Multiplier (PIM).html b/doc/html/Personal Iterations Multiplier (PIM).html
index 5271ced2..d673d431 100644
--- a/doc/html/Personal Iterations Multiplier (PIM).html
+++ b/doc/html/Personal Iterations Multiplier (PIM).html
@@ -41,9 +41,17 @@
or in the command line.</p>
-<p>If no PIM value is specified, VeraCrypt will use the default number of iterations used in versions prior to 1.12 (see
-<a href="Header%20Key%20Derivation.html">
-Header Key Derivation</a>).</p>
<p>When a PIM value is specified, the number of iterations is calculated as follows:</p>
<ul>
-<li>For system encryption that doesn't use SHA-512 or Whirlpool: Iterations = <strong>PIM x 2048</strong> </li><li>For system encryption that uses SHA-512 or Whirlpool, non-system encryption and file containers: Iterations = <strong>15000 &#43; (PIM x 1000)</strong>
+<li>For system encryption that doesn't use SHA-512 or Whirlpool: Iterations = <strong>PIM x 2048</strong>
+</li><li>For system encryption that uses SHA-512 or Whirlpool: Iterations = <strong>15000 &#43; (PIM x 1000)</strong>
+</li><li>For non-system encryption and file containers: Iterations = <strong>15000 &#43; (PIM x 1000)</strong>
</li></ul>
+<p>If no PIM value is specified, VeraCrypt will use the default number of iterations used in versions prior to 1.12 (see
+ <a href="Header%20Key%20Derivation.html">
+ Header Key Derivation</a>). This can be summarized as follows:<br/>
+ <ul>
+ <li>For system partition encryption (boot encryption) that uses SHA-256, BLAKE2s-256 or Streebog, <strong>200000</strong> iterations are used which is equivalent to a PIM value of <strong>98</strong>.</li>
+ <li>For system encryption that uses SHA-512 or Whirlpool, <strong>500000</strong> iterations are used which is equivalent to a PIM value of <strong>485</strong>.</li>
+ <li>For non-system encryption and file containers, all derivation algorithms will use <strong>500000</strong> iterations which is equivalent to a PIM value of <strong>485</strong>.</li>
+ </ul>
+</p>
<p>Prior to version 1.12, the security of a VeraCrypt volume was only based on the password strength because VeraCrypt was using a fixed number of iterations.<br>
diff --git a/doc/html/Portable Mode.html b/doc/html/Portable Mode.html
index b26cb35b..006c7d0f 100644
--- a/doc/html/Portable Mode.html
+++ b/doc/html/Portable Mode.html
@@ -66,5 +66,5 @@ Note: To extract files from the VeraCrypt self-extracting package, run it, and t
<p>Note: When running in &lsquo;portable&rsquo; mode, the VeraCrypt driver is unloaded when it is no longer needed (e.g., when all instances of the main application and/or of the Volume Creation Wizard are closed and no VeraCrypt volumes are mounted). However,
- if you force dismount on a VeraCrypt volume when VeraCrypt runs in portable mode, or mount a writable NTFS-formatted volume on Windows Vista or later, the VeraCrypt driver may
+ if you force unmount on a VeraCrypt volume when VeraCrypt runs in portable mode, or mount a writable NTFS-formatted volume on Windows Vista or later, the VeraCrypt driver may
<em>not</em> be unloaded when you exit VeraCrypt (it will be unloaded only when you shut down or restart the system). This prevents various problems caused by a bug in Windows (for instance, it would be impossible to start VeraCrypt again as long as there are
- applications using the dismounted volume).</p>
+ applications using the unmounted volume).</p>
<h3>Tools -&gt; Traveler Disk Setup</h3>
diff --git a/doc/html/Program Menu.html b/doc/html/Program Menu.html
index caed5f40..cbc52b84 100644
--- a/doc/html/Program Menu.html
+++ b/doc/html/Program Menu.html
@@ -43,5 +43,5 @@
<em>Auto-Mount Devices.</em></a></p>
-<h3>Volumes -&gt; Dismount All Mounted Volumes</h3>
+<h3>Volumes -&gt; Unmount All Mounted Volumes</h3>
<p>See the section <a href="Main%20Program%20Window.html">
-<em>Dismount All.</em></a></p>
+<em>Unmount All.</em></a></p>
<h3>Volumes -&gt; Change Volume Password</h3>
@@ -75,3 +75,3 @@ Note: When VeraCrypt re-encrypts a volume header, the original volume header is
<h3>Volumes -&gt; Set Header Key Derivation Algorithm</h3>
-<p>This function allows you to re-encrypt a volume header with a header key derived using a different PRF function (for example, instead of HMAC-RIPEMD-160 you could use HMAC-Whirlpool). Note that the volume header contains the master encryption key with which
+<p>This function allows you to re-encrypt a volume header with a header key derived using a different PRF function (for example, instead of HMAC-BLAKE2S-256 you could use HMAC-Whirlpool). Note that the volume header contains the master encryption key with which
the volume is encrypted. Therefore, the data stored on the volume will <em>not</em> be lost after you use this function. For more information, see the section
@@ -136,3 +136,3 @@ Rescue Disk</a>.</p>
<br>
-WARNING: Restoring a volume header also restores the volume password that was valid when the backup was created. Moreover, if keyfile(s) are/is necessary to mount a volume when the backup is created, the same keyfile(s) will be necessary to mount the volume
+WARNING: Restoring a volume header also restores the volume password and PIM that were valid when the backup was created. Moreover, if keyfile(s) are/is necessary to mount a volume when the backup is created, the same keyfile(s) will be necessary to mount the volume
again after the volume header is restored. For more information, see the section
@@ -141,3 +141,3 @@ WARNING: Restoring a volume header also restores the volume password that was va
<br>
-After you create a volume header backup, you might need to create a new one only when you change the volume password and/or keyfiles. Otherwise, the volume header remains unmodified so the volume header backup remains up-to-date.</p>
+After you create a volume header backup, you might need to create a new one only when you change the volume password and/or keyfiles, or when you change the PIM value. Otherwise, the volume header remains unmodified so the volume header backup remains up-to-date.</p>
<p>Note: Apart from salt (which is a sequence of random numbers), external header backup files do not contain any unencrypted information and they cannot be decrypted without knowing the correct password and/or supplying the correct keyfile(s). For more information,
@@ -149,6 +149,6 @@ After you create a volume header backup, you might need to create a new one only
When <em>restoring</em> a volume header, you need to choose the type of volume whose header you wish to restore (a standard or hidden volume). Only one volume header can be restored at a time. To restore both headers, you need to use the function twice (<em>Tools</em>
- -&gt; <em>Restore Volume Header</em>). You will need to enter the correct password (and/or to supply the correct keyfiles) that was/were valid when the volume header backup was created. The password (and/or keyfiles) will also automatically determine the type
+ -&gt; <em>Restore Volume Header</em>). You will need to enter the correct password (and/or to supply the correct keyfiles) and the non-default PIM value, if applicable, that were valid when the volume header backup was created. The password (and/or keyfiles) and PIM will also automatically determine the type
of the volume header to restore, i.e. standard or hidden (note that VeraCrypt determines the type through the process of trial and error).<br>
<br>
-Note: If the user fails to supply the correct password (and/or keyfiles) twice in a row when trying to mount a volume, VeraCrypt will automatically try to mount the volume using the embedded backup header (in addition to trying to mount it using the primary
+Note: If the user fails to supply the correct password (and/or keyfiles) and/or the correct non-default PIM value twice in a row when trying to mount a volume, VeraCrypt will automatically try to mount the volume using the embedded backup header (in addition to trying to mount it using the primary
header) each subsequent time that the user attempts to mount the volume (until he or she clicks
@@ -166,6 +166,6 @@ Disable this option if you experience stability issues (like volume access issue
<h4>Wipe cached passwords on exit</h4>
-<p>If enabled, passwords (which may also contain processed keyfile contents) cached in driver memory will be cleared when VeraCrypt exits.</p>
+<p>If enabled, passwords (which may also contain processed keyfile contents) and PIM values cached in driver memory will be cleared when VeraCrypt exits.</p>
<h4>Cache passwords in driver memory</h4>
-<p>When checked, passwords and/or processed keyfile contents for up to last four successfully mounted VeraCrypt volumes are cached. This allows mounting volumes without having to type their passwords (and selecting keyfiles) repeatedly. VeraCrypt never saves
- any password to a disk (however, see the chapter <a href="Security%20Requirements%20and%20Precautions.html">
+<p>When checked, passwords and/or processed keyfile contents for up to last four successfully mounted VeraCrypt volumes are cached. If the 'Include PIM when caching a password' option is enabled in the Preferences, non-default PIM values are cached alongside the passwords. This allows mounting volumes without having to type their passwords (and selecting keyfiles) repeatedly. VeraCrypt never saves
+ any password or PIM values to a disk (however, see the chapter <a href="Security%20Requirements%20and%20Precautions.html">
<em>Security Requirements and Precautions</em></a>). Password caching can be enabled/disabled in the Preferences (<em>Settings</em> -&gt;
@@ -188,4 +188,4 @@ If this option is checked and if there are two or more favorite volumes, then du
</li><li>VeraCrypt volumes that are not fully accessible to the user account (e.g. a volume mounted from within another user account).
-</li><li>VeraCrypt volumes that are not displayed in the VeraCrypt application window. For example, system favorite volumes attempted to be dismounted by an instance of VeraCrypt without administrator privileges when the option '<em>Allow only administrators to
- view and dismount system favorite volumes in VeraCrypt</em>' is enabled. </li></ul>
+</li><li>VeraCrypt volumes that are not displayed in the VeraCrypt application window. For example, system favorite volumes attempted to be unmounted by an instance of VeraCrypt without administrator privileges when the option '<em>Allow only administrators to
+ view and unmount system favorite volumes in VeraCrypt</em>' is enabled. </li></ul>
<h4>VeraCrypt Background Task &ndash; Enabled</h4>
@@ -197,6 +197,6 @@ If this option is checked and if there are two or more favorite volumes, then du
<em>VeraCrypt Background Task</em></a>. Note that this option cannot be disabled when VeraCrypt runs in portable mode.</p>
-<h4>Auto-dismount volume after no data has been read/written to it for</h4>
-<p>After no data has been written/read to/from a VeraCrypt volume for <em>n</em> minutes, the volume is automatically dismounted.</p>
-<h4>Force auto-dismount even if volume contains open files or directories</h4>
-<p>This option applies only to auto-dismount (not to regular dismount). It forces dismount (without prompting) on the volume being auto-dismounted in case it contains open files or directories (i.e., file/directories that are in use by the system or applications).</p>
+<h4>Auto-unmount volume after no data has been read/written to it for</h4>
+<p>After no data has been written/read to/from a VeraCrypt volume for <em>n</em> minutes, the volume is automatically unmounted.</p>
+<h4>Force auto-unmount even if volume contains open files or directories</h4>
+<p>This option applies only to auto-unmount (not to regular unmount). It forces unmount (without prompting) on the volume being auto-unmounted in case it contains open files or directories (i.e., file/directories that are in use by the system or applications).</p>
<p>&nbsp;</p>
diff --git a/doc/html/Protection of Hidden Volumes.html b/doc/html/Protection of Hidden Volumes.html
index 3e3e5890..ce320d21 100644
--- a/doc/html/Protection of Hidden Volumes.html
+++ b/doc/html/Protection of Hidden Volumes.html
@@ -63,4 +63,4 @@ Both passwords must be correct; otherwise, the outer volume will not be mounted.
<em style="text-align:left">not</em> actually mount the hidden volume. It only decrypts its header (in RAM) and retrieves information about the size of the hidden volume (from the decrypted header). Then, the outer volume is mounted and any attempt to save
- data to the area of the hidden volume will be rejected (until the outer volume is dismounted).
-<strong style="text-align:left">Note that VeraCrypt never modifies the filesystem (e.g., information about allocated clusters, amount of free space, etc.) within the outer volume in any way. As soon as the volume is dismounted, the protection is lost. When
+ data to the area of the hidden volume will be rejected (until the outer volume is unmounted).
+<strong style="text-align:left">Note that VeraCrypt never modifies the filesystem (e.g., information about allocated clusters, amount of free space, etc.) within the outer volume in any way. As soon as the volume is unmounted, the protection is lost. When
the volume is mounted again, it is not possible to determine whether the volume has used hidden volume protection or not. The hidden volume protection can be activated only by users who supply the correct password (and/or keyfiles) for the hidden volume (each
@@ -68,3 +68,3 @@ Both passwords must be correct; otherwise, the outer volume will not be mounted.
</strong><br style="text-align:left">
-As soon as a write operation to the hidden volume area is denied/prevented (to protect the hidden volume), the entire host volume (both the outer and the hidden volume) becomes write-protected until dismounted (the VeraCrypt driver reports the 'invalid parameter'
+As soon as a write operation to the hidden volume area is denied/prevented (to protect the hidden volume), the entire host volume (both the outer and the hidden volume) becomes write-protected until unmounted (the VeraCrypt driver reports the 'invalid parameter'
error to the system upon each attempt to write data to the volume). This preserves plausible deniability (otherwise certain kinds of inconsistency within the file system could indicate that this volume has used hidden volume protection). When damage to hidden
@@ -83,3 +83,3 @@ Moreover, the field <em style="text-align:left">Hidden Volume Protected </em>in
Note that when damage to hidden volume is prevented, <em style="text-align:left">
-no</em> information about the event is written to the volume. When the outer volume is dismounted and mounted again, the volume properties will
+no</em> information about the event is written to the volume. When the outer volume is unmounted and mounted again, the volume properties will
<em style="text-align:left">not </em>display the string &quot;<em style="text-align:left">damage prevented</em>&quot;.<em style="text-align:left"><br style="text-align:left">
@@ -102,3 +102,3 @@ The type of the mounted outer volume is <em style="text-align:left">Outer</em>:
type &quot;Outer&quot; but &quot;Normal&quot;). The reason is that, during the time when an outer volume is mounted with the hidden volume protection enabled, the adversary
-</strong></em><strong style="text-align:left">can</strong><em style="text-align:left"><strong style="text-align:left"> find out that a hidden volume exists within the outer volume (he/she will be able to find it out until the volume is dismounted and possibly
+</strong></em><strong style="text-align:left">can</strong><em style="text-align:left"><strong style="text-align:left"> find out that a hidden volume exists within the outer volume (he/she will be able to find it out until the volume is unmounted and possibly
even some time after the computer has been powered off - see <a href="Unencrypted%20Data%20in%20RAM.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
diff --git a/doc/html/Random Number Generator.html b/doc/html/Random Number Generator.html
index e5080389..8b9d934c 100644
--- a/doc/html/Random Number Generator.html
+++ b/doc/html/Random Number Generator.html
@@ -53,5 +53,5 @@
<ol>
-<li>Let <em>R</em> be the randomness pool. </li><li>Let <em>H</em> be the hash function selected by the user (SHA-512, RIPEMD-160, or Whirlpool).
+<li>Let <em>R</em> be the randomness pool. </li><li>Let <em>H</em> be the hash function selected by the user (SHA-512, BLAKE2S-256, or Whirlpool).
</li><li><em>l</em> = byte size of the output of the hash function <em>H</em> (i.e., if
-<em>H</em> is RIPEMD-160, then <em>l</em> = 20; if <em>H</em> is SHA-512, <em>l</em> = 64)
+<em>H</em> is BLAKE2S-256, then <em>l</em> = 20; if <em>H</em> is SHA-512, <em>l</em> = 64)
</li><li><em>z</em> = byte size of the randomness pool <em>R </em>(320 bytes) </li><li><em>q</em> = <em>z</em> / <em>l</em> &ndash; 1 (e.g., if <em>H</em> is Whirlpool, then
diff --git a/doc/html/Release Notes.html b/doc/html/Release Notes.html
index 6dcae52f..a35d2f3d 100644
--- a/doc/html/Release Notes.html
+++ b/doc/html/Release Notes.html
@@ -41,2 +41,286 @@
</p>
+
+<p><strong style="text-align:left">1.26.20</strong> (February 3<sup>rd</sup>, 2025):</p>
+<ul>
+<li><strong>All OSes:</strong>
+ <ul>
+ <li>Implement SHA-256 acceleration on ARM64 platforms using CPU instructions.</li>
+ <li>Update translations.</li>
+ <li>Replace "Dismount" with "Unmount" across the UI and documentation to align with IT standards.</li>
+ </ul>
+</li>
+<li><strong>Windows:</strong>
+ <ul>
+ <li>Fix regression in driver that always allowed defragmentation and caused other side effects.</li>
+ <li>Revert to the previous method of gathering system entropy due to stability issues reported by users.</li>
+ </ul>
+</li>
+<li><strong>Linux:</strong>
+ <ul>
+ <li>Fix a regression in Linux Mint affecting administrator password authentication (GH #1473).</li>
+ </ul>
+</li>
+<li><strong>macOS:</strong>
+<ul>
+<li>Fix a regression that prevented volume unmounting (GH #1467).</li>
+<li>Resolve a wxWidgets 3.2.6 assertion error related to the undefined switch <code>use-dummy-sudo-password</code> (GH #1470).</li>
+</ul>
+</li>
+</ul>
+
+<p><strong style="text-align:left">1.26.18</strong> (January 20<sup>th</sup>, 2025):</p>
+<ul>
+<li><strong>All OSes:</strong>
+<ul>
+<li>Added support for SHA-256 x86 intrinsic to enhance the performance of PBKDF2-HMAC-SHA256.</li>
+<li>Added support for AES hardware on ARM64 platforms (e.g. Windows ARM64, macOS on Apple Silicon Mx).</li>
+<li>Updated translations</li>
+</ul>
+</li>
+<li><strong>Windows:</strong>
+ <ul>
+ <li>Dropped support for Windows 32-bit.</li>
+ <li>Set Windows 10 October 2018 Update (version 1809) as the minimum supported version.</li>
+ <li>Reduce driver deadlock occurences under low-memory scenarios caused by re-entrant IRP completions.</li>
+ <li>Fixed failed EFI detection on some PCs where the BootOrder variable is not defined (proposed by @kriegste, GH #360).</li>
+ <li>Fixed "Access Denied" error when updating VeraCrypt using EXE setup following a Windows upgrade.</li>
+ <li>Fixed various issues affecting the EFI system encryption configuration editor.</li>
+ <li>Fixed regression in Traveler Disk creation (GH #886)</li>
+ <li>Replaced the deprecated CryptGenRandom with BCryptGenRandom for generating secure random bytes.</li>
+ <li>Use modern API to gather system entropy for random generation instead of obsolete ones.</li>
+ <li> Update LZMA SDK to version 24.09</li>
+ <li>Update libzip to version 1.11.2</li>
+ </ul>
+</li>
+<li><strong>Linux:</strong>
+ <ul>
+ <li>CVE-2024-54187: Added absolute paths when executing system binaries to prevent path hijacking (collaboration with SivertPL @__tfr)</li>
+ <li>CVE-2025-23021: Prevent mounting volumes on system directories and PATH (reported by SivertPL @__tfr)</li>
+ <li>Fixed an assertion issue with the wxWidgets library included in Ubuntu.</li>
+ <li>Improved directory-opening logic by prioritizing xdg-open and adding fallback mechanisms.</li>
+ <li>Ensure that volume exists before starting the mount operation.</li>
+ <li>Fix "Password too long" error message not expanded to include max length (GH #1456)</li>
+ <li>Simplify sudo session detection logic.</li>
+ </ul>
+</li>
+<li><strong>macOS:</strong>
+ <ul>
+ <li>CVE-2024-54187: Added absolute paths when executing system binaries to prevent path hijacking (collaboration with SivertPL @__tfr)</li>
+ <li>CVE-2025-23021: Prevent mounting volumes on system directories and PATH (reported by SivertPL @__tfr)</li>
+ <li>Disabled screen capture by default. Added the --allow-screencapture CLI switch to enable it if needed.</li>
+ <li>Ensure that volume exists before starting the mount operation.</li>
+ <li>Implement sudo session detection logic</li>
+ </ul>
+</li>
+</ul>
+
+<p><strong style="text-align:left">1.26.15</strong> (September 2<sup>nd</sup>, 2024):</p>
+<ul>
+<li><strong>Windows:</strong>
+<ul>
+ <li>Fix MSI install/uninstall issues:
+ <ul>
+ <li>Fixed error 1603 returned by MSI silent install when REBOOT=ReallySuppress is specified and a reboot is required.</li>
+ <li>Fixed missing documentation and language files from the MSI package.</li>
+ <li>Fixed MSI not installing new documentation and language files when upgrading from an EXE-based installation.</li>
+ <li>Fixed installation folder not being removed after MSI uninstall in some cases.</li>
+ </ul>
+ </li>
+ <li>Fix regression during UEFI system decryption that caused the bootloader to persist.</li>
+</ul>
+</li>
+</ul>
+
+<p><strong style="text-align:left">1.26.14</strong> (August 25<sup>th</sup>, 2024):</p>
+<ul>
+<li><strong>All OSes:</strong>
+<ul>
+<li>Update translations and documentation</li>
+<li>Implement language selection settings in non-Windows versions.</li>
+<li>Make codebase compatible with wxWidgets 3.3 in non-Windows versions.</li>
+<li>Implement detection of volumes affected by XTS master key vulnerability and warn user about it.</li>
+<li>Update mount failure error messages to mention removal of TrueCrypt support and old algorithms.</li>
+</ul>
+</li>
+<li><strong>Windows:</strong>
+ <ul>
+ <li>Better fix for Secure Desktop issues under Windows 11 22H2
+ <ul>
+ <li>IME is now disabled in Secure Desktop because it is known to cause issues</li>
+ </ul>
+ </li>
+ <li>VeraCrypt Expander: Fix expansion of volumes on disks with a sector size different from 512 (by skl0n6)</li>
+ <li>Fix writing wrong EFI System Encryption Advanced Options to registry</li>
+ <li>Don't close Setup when exiting VeraCrypt process through system tray Exit menu</li>
+ <li>Fix failure to format some disks (e.g. VHDX) caused by virtual partition offset not 4K aligned</li>
+ <li>Fallback to absolute positioning when accessing disks if relative positioning fails</li>
+ <li>Update zlib to version 1.3.1</li>
+ </ul>
+</li>
+<li><strong>Linux:</strong>
+ <ul>
+ <li>Focus PIM field when selected (#1239)</li>
+ <li>Fix generic installation script on Konsole in Wayland (#1244)</li>
+ <li>Added the ability to build using wolfCrypt as the cryptographic backend. Disabled by default. (Contributed by wolfSSL, GH PR #1227)</li>
+ <li>Allows GUI to launch in a Wayland-only environment (GH #1264)</li>
+ <li>CLI: Don't initially re-ask PIM if it was already specified (GH #1288)</li>
+ <li>CLI: Fix incorrect max hidden volume size for file containers (GH #1338))</li>
+ <li>Enhance ASLR security of generic installer binaries by adding linked flag for old GCC version (reported by @morton-f on Sourceforge)</li>
+ </ul>
+</li>
+<li><strong>macOS:</strong>
+ <ul>
+ <li>Fix corrupted disk icon in main UI (GH #1218)</li>
+ <li>Fix near zero width PIM input box and simplify wxTextValidator logic (GH #1274)</li>
+ <li>Use correct Disk Utility location when "check filesystem" is ran (GH #1273)</li>
+ <li>Add support for FUSE-T as an alternative to MacFUSE (GH #1055)</li>
+ </ul>
+</li>
+<li><strong>FreeBSD:</strong>
+ <ul>
+ <li>Fix privilege escalation prompts not showing up (GH #1349)</li>
+ <li>Support automatic detection and mounting of ext2/3/4, exFAT, NTFS filesystems (GH #1350)</li>
+ <li>Use correct Disk Utility location when "check filesystem" is ran (GH #1273)</li>
+ </ul>
+</li>
+</ul>
+
+<p><strong style="text-align:left">1.26.7</strong> (October 1<sup>st</sup>, 2023):</p>
+<ul>
+<li><strong>All OSes:</strong>
+<ul>
+<li>Security: Ensure that XTS primary key is different from the secondary key when creating volumes
+ <ul>
+ <li>Issue unlikely to happen thanks to random generator properties but this check must be added to prevent attacks</li>
+ <li>Reference: CCSS,NSA comment at page 3: <a href="https://csrc.nist.gov/csrc/media/Projects/crypto-publication-review-project/documents/initial-comments/sp800-38e-initial-public-comments-2021.pdf">https://csrc.nist.gov/csrc/media/Projects/crypto-publication-review-project/documents/initial-comments/sp800-38e-initial-public-comments-2021.pdf</a></li>
+ </ul>
+</li>
+<li>Remove TrueCrypt Mode support. Version 1.25.9 can be used to mount or convert TrueCrypt volumes.</li>
+<li>Complete removal of RIPEMD160 and GOST89 algorithms. Legacy volumes using any of them cannot be mounted by VeraCrypt anymore.</li>
+<li>Add support for BLAKE2s as new PRF algorithm for both system encryption and standard volumes.</li>
+<li>Introducing support for EMV banking smart cards as keyfiles for non-system volumes.
+ <ul>
+ <li>No need for a separate PKCS#11 module configuration.</li>
+ <li>Card PIN isn't required.</li>
+ <li>Generates secure keyfile content from unique, encoded data present on the banking card.</li>
+ <li>Supports all EMV standard-compliant banking cards.</li>
+ <li>Can be enabled in settings (go to Settings->Security Tokens).</li>
+ <li>Developed by a team of students from the <a href="https://www.insa-rennes.fr">Institut national des sciences appliquées de Rennes</a>.</li>
+ <li>More details about the team and the project are available at <a href="https://projets-info.insa-rennes.fr/projets/2022/VeraCrypt/index_en.html">https://projets-info.insa-rennes.fr/projets/2022/VeraCrypt/index_en.html</a>.</li>
+ </ul>
+</li>
+<li>When overwriting an existing file container during volume creation, add its current size to the available free space</li>
+<li>Add Corsican language support. Update several translations. </li>
+<li>Update documentation</li>
+</ul>
+</li>
+<li><strong>Windows:</strong>
+<ul>
+<li>Officially, the minimum supported version is now <strong>Windows 10</strong>. VeraCrypt may still run on Windows 7 and Windows 8/8.1, but no active tests are done on these platforms.</li>
+<li>EFI Bootloader:
+<ul>
+<li>Fix bug in PasswordTimeout value handling that caused it to be limited to 255 seconds.</li>
+<li>Rescue Disk: enhance "Boot Original Windows Loader" by using embedded backup of original Windows loader if it is missing from disk</li>
+<li>Addition of Blake2s and removal of RIPEMD160 & GOST89</li>
+</ul>
+</li>
+<li>Enable memory protection by default. Add option under Performance/Driver Configuration to disable it if needed.
+<ul>
+ <li>Memory protection blocks non-admin processes from reading VeraCrypt memory</li>
+ <li>It may block Screen Readers (Accessibility support) from reading VeraCrypt UI, in which case it can be disabled</li>
+ <li>It can be disabled by setting registry value "VeraCryptEnableMemoryProtection" to 0 under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\veracrypt"</li>
+</ul>
+</li>
+<li>Add process mitigation policy to prevent VeraCrypt from being injected by other processes</li>
+<li>Minor enhancements to RAM Encryption implementation</li>
+<li>Fix Secure Desktop issues under Windows 11 22H2</li>
+<li>Implement support for mounting partially encrypted system partitions.</li>
+<li>Fix false positive detection of new device insertion when Clear Encryption Keys option is enable (System Encryption case only)</li>
+<li>Better implementation of Fast Create when creating file containers that uses UAC to request required privilege if not already held</li>
+<li>Allow choosing Fast Create in Format Wizard UI when creating file containers</li>
+<li>Fix formatting issues during volume creation on some machines.</li>
+<li>Fix stall issue caused by Quick Format of large file containers</li>
+<li>Add dropdown menu to Mount button to allow mounting without using the cache.</li>
+<li>Possible workaround for logarithmic slowdown for Encrypt-In-Place on large volumes.</li>
+<li>Make Expander first check file existence before proceeding further</li>
+<li>Allow selecting size unit (KB/MB/GB) for generated keyfiles</li>
+<li>Display full list of supported cluster sizes for NTFS, ReFS and exFAT filesystems when creating volumes</li>
+<li>Support drag-n-drop of files and keyfiles in Expander.</li>
+<li>Implement translation of Expander UI</li>
+<li>Replace legacy file/dir selection APIs with modern IFileDialog interface for better Windows 11 compatibility</li>
+<li>Enhancements to dependency dlls safe loading, including delay loading.</li>
+<li>Remove recommendation of keyfiles files extensions and update documentation to mention risks of third-party file extensions.</li>
+<li>Add support for more language in the setup installer</li>
+<li>Update LZMA library to version 23.01</li>
+<li>Update libzip to version 1.10.1 and zlib to version 1.3</li>
+</ul>
+</li>
+<li><strong>Linux:</strong>
+<ul>
+<li>Fix bug in Random generator on Linux when used with Blake2s that was triggering a self test failure.</li>
+<li>Modify Random Generator on Linux to exactly match official documentation and the Windows implementation.</li>
+<li>Fix compatibility issues with Ubuntu 23.04.</li>
+<li>Fix assert messages displayed when using wxWidgets 3.1.6 and newer.</li>
+<li>Fix issues launching fsck on Linux.</li>
+<li>Fix privilege escalation prompts being ignored.</li>
+<li>Fix wrong size for hidden volume when selecting the option to use all free space.</li>
+<li>Fix failure to create hidden volume on a disk using CLI caused by wrong maximum size detection.</li>
+<li>Fix various issues when running in Text mode:
+<ul>
+<li>Don't allow selecting exFAT/BTRFS filesytem if they are not present or not compatible with the created volume.</li>
+<li>Fix wrong unmount message displayed when mounting a volume.</li>
+<li>Hide PIM during entry and re-ask PIM when user entered a wrong value.</li>
+<li>Fix printing error when checking free space during volume creation in path doesn't exist.</li>
+</ul>
+</li>
+<li>Use wxWidgets 3.2.2.1 for static builds (e.g. console only version)</li>
+<li>Fix compatibility of generic installers with old Linux distros</li>
+<li>Update help message to indicate that when cascading algorithms they must be separated by dash</li>
+<li>Better compatibility with building under Alpine Linux and musl libc</li>
+</ul>
+</li>
+<li><strong>macOS:</strong>
+ <ul>
+ <li>Fix issue of VeraCrypt window becoming unusable in use cases involving multiple monitors and change in resolution.</li>
+ </ul>
+</li>
+</ul>
+
+<p><strong style="text-align:left">1.25.9</strong> (February 19<sup>th</sup>, 2022):</p>
+<ul>
+<li><strong>All OSes:</strong>
+<ul>
+<li>Update translations (Chinese, Dutch, French, German, Turkish).</li>
+</ul>
+</li>
+<li><strong>Windows:</strong>
+<ul>
+<li>Make MSI installer compatible with system encryption.</li>
+<li>Set minimum support for MSI installation to Windows 7.</li>
+<li>Fix failure to create Traveler Disk when VeraCrypt is installed using MSI.</li>
+<li>Don't cache the outer volume password when mounting with hidden volume protection if wrong hidden volume password was specified.</li>
+<li>Reduce the size of EXE installers by almost 50% by using LZMA compression instead of DEFLATE.</li>
+<li>Fix double-clicking mounted drive in VeraCrypt UI not working in some special Windows configurations.</li>
+<li>Add registry key to fix BSOD during shutdown/reboot on some machines when using system encryption.
+<ul>
+<li>Under "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\veracrypt", create a REG_DWORD value named "VeraCryptEraseKeysShutdown".</li>
+<li>Setting this registry value to 0 disables erasing system encryption keys which is the cause of BSOD during shutdown on some machines.</li>
+</ul>
+</li>
+</ul>
+</li>
+<li><strong>Linux:</strong>
+<ul>
+<li>Fix hidden volume settings not correctly displayed when enabling hidden volume protection in mount options window.</li>
+<li>Fix generic Linux installer overwriting /usr/sbin if it is a symlink.</li>
+<li>Fix crash when building with _GLIBCXX_ASSERTIONS defined.</li>
+<li>Enable building from source without AES-NI support.</li>
+</ul>
+</li>
+<li><strong>MacOSX:</strong>
+<ul>
+<li>Fix hidden volume settings not correctly displayed when enabling hidden volume protection in mount options window.</li>
+</ul>
+</li>
+</ul>
<p><strong style="text-align:left">1.25.7</strong> (January 7<sup>th</sup>, 2022):</p>
@@ -234,3 +518,3 @@
<li>Add switch /signalExit to support notifying <a href="https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/waitfor" target="_blank">WAITFOR</a> Windows command when VeraCrypt.exe exits if /q was specified in CLI (cf documentation for usage).</li>
-<li>Don't display mount/dismount examples in help dialog for command line in Format and Expander.</li>
+<li>Don't display mount/unmount examples in help dialog for command line in Format and Expander.</li>
<li>Documentation and translation updates.</li>
@@ -508,3 +792,3 @@
<li>Fix current application losing focus when VeraCrypt is run in command line with /quit /silent switches.</li>
-<li>Fix some cases of external applications freezing during mount/dismount.</li>
+<li>Fix some cases of external applications freezing during mount/unmount.</li>
<li>Fix rare cases of secure desktop for password dialog not visible which caused UI to block.</li>
@@ -797,3 +1081,3 @@ incorrect Impersonation Token Handling. </li></ul>
</li><li>Add possibility to show system encryption password in Windows GUI and bootloader
-</li><li>Solve &quot;Class Already exists&quot; error that was happening for some users. </li><li>Solve some menu items and GUI fields not translatable </li><li>Make volumes correctly report Physical Sector size to Windows. </li><li>Correctly detect switch user/RDP disconnect operations for autodismount on session locked.
+</li><li>Solve &quot;Class Already exists&quot; error that was happening for some users. </li><li>Solve some menu items and GUI fields not translatable </li><li>Make volumes correctly report Physical Sector size to Windows. </li><li>Correctly detect switch user/RDP disconnect operations for autounmount on session locked.
</li><li>Add manual selection of partition when resuming in-place encryption. </li><li>Add command line option (/cache f) to temporarily cache password during favorites mounting.
@@ -832,3 +1116,3 @@ incorrect Impersonation Token Handling. </li></ul>
<ul>
-<li>Solve issue volumes not auto-dismounting when quitting VeraCrypt<strong>.</strong>
+<li>Solve issue volumes not auto-unmounting when quitting VeraCrypt<strong>.</strong>
</li><li>Solve issue VeraCrypt window not reopening by clicking dock icon. </li></ul>
@@ -869,3 +1153,3 @@ incorrect Impersonation Token Handling. </li></ul>
</li><li>Correct a random crash when clicking the link for more information on keyfiles
-</li><li>Implement option to auto-dismount when user session is locked </li><li>Add self-test vectors for SHA-256 </li><li>Modern look-and-feel by enabling visual styles </li><li>few minor fixed. </li></ul>
+</li><li>Implement option to auto-unmount when user session is locked </li><li>Add self-test vectors for SHA-256 </li><li>Modern look-and-feel by enabling visual styles </li><li>few minor fixed. </li></ul>
</li></ul>
diff --git a/doc/html/Removable Medium Volume.html b/doc/html/Removable Medium Volume.html
index 63c59c55..2be8297c 100644
--- a/doc/html/Removable Medium Volume.html
+++ b/doc/html/Removable Medium Volume.html
@@ -49,4 +49,4 @@
NTFS health checks as <a href="https://blogs.msdn.microsoft.com/b8/2012/05/09/redesigning-chkdsk-and-the-new-ntfs-health-model/" target="_blank">
-explained here</a>. Big thanks to Liran Elharar for discovering this. </li><li>Windows may use caching methods and write delays that are normally used for removable media (for example, USB flash drives). This might slightly decrease the performance but at the same increase the likelihood that it will be possible to dismount the volume
- quickly without having to force the dismount. </li><li>The operating system may tend to keep the number of handles it opens to such a volume to a minimum. Hence, volumes mounted as removable media might require fewer forced dismounts than other volumes.
+explained here</a>. Big thanks to Liran Elharar for discovering this. </li><li>Windows may use caching methods and write delays that are normally used for removable media (for example, USB flash drives). This might slightly decrease the performance but at the same increase the likelihood that it will be possible to unmount the volume
+ quickly without having to force the unmount. </li><li>The operating system may tend to keep the number of handles it opens to such a volume to a minimum. Hence, volumes mounted as removable media might require fewer forced unmounts than other volumes.
</li><li>Under Windows Vista and earlier, the &lsquo;<em>Computer</em>&rsquo; (or &lsquo;<em>My Computer</em>&rsquo;) list does not show the amount of free space on volumes mounted as removable (note that this is a Windows limitation, not a bug in VeraCrypt).
diff --git a/doc/html/Removing Encryption.html b/doc/html/Removing Encryption.html
index c2baf5c6..3f3bf139 100644
--- a/doc/html/Removing Encryption.html
+++ b/doc/html/Removing Encryption.html
@@ -45,3 +45,3 @@ for non-system partition/drive). If you need to remove encryption (e.g., if you
<li>Mount the VeraCrypt volume. </li><li>Move all files from the VeraCrypt volume to any location outside the VeraCrypt volume (note that the files will be decrypted on the fly).
-</li><li>Dismount the VeraCrypt volume. </li><li>delete it (the container) just like you delete any other file. </li></ol>
+</li><li>Unmount the VeraCrypt volume. </li><li>delete it (the container) just like you delete any other file. </li></ol>
<p>If in-place decryption of non-system partitions/drives is not desired, it is also possible in this case to follow the steps 1-3 described above.<br>
diff --git a/doc/html/Security Model.html b/doc/html/Security Model.html
index 79e154d2..edac59d2 100644
--- a/doc/html/Security Model.html
+++ b/doc/html/Security Model.html
@@ -53,3 +53,3 @@
</li><li>Preserve/verify the integrity or authenticity of encrypted or decrypted data.
-</li><li>Prevent traffic analysis when encrypted data is transmitted over a network. </li><li>Prevent an attacker from determining in which sectors of the volume the content changed (and when and how many times) if he or she can observe the volume (dismounted or mounted) before and after data is written to it, or if the storage medium/device allows
+</li><li>Prevent traffic analysis when encrypted data is transmitted over a network. </li><li>Prevent an attacker from determining in which sectors of the volume the content changed (and when and how many times) if he or she can observe the volume (unmounted or mounted) before and after data is written to it, or if the storage medium/device allows
the attacker to determine such information (for example, the volume resides on a device that saves metadata that can be used to determine when data was written to a particular sector).
@@ -67,5 +67,5 @@ Known Issues &amp; Limitations</a>). </li></ul>
<em>Settings</em> &gt; &lsquo;<em>System Encryption</em>&rsquo; &gt; &lsquo;<em>Allow pre-boot authentication to be bypassed by pressing the Esc key</em>&rsquo;; note that this option can be enabled or disabled only by an administrator).
-</li><li>Dismount, using VeraCrypt, (and, in the VeraCrypt application window, see the path to and properties of) any VeraCrypt volume mounted by him or her. However, this does not apply to &lsquo;system favorite volumes&rsquo;, which he or she can dismount (etc.)
+</li><li>Unmount, using VeraCrypt, (and, in the VeraCrypt application window, see the path to and properties of) any VeraCrypt volume mounted by him or her. However, this does not apply to &lsquo;system favorite volumes&rsquo;, which he or she can unmount (etc.)
regardless of who mounted them (this can be prevented by enabling the option <em>
-Settings</em> &gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<em>Allow</em> only administrators to view and dismount system favorite volumes in VeraCrypt&rsquo;; note that this option can be enabled or disabled only by an administrator).
+Settings</em> &gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<em>Allow</em> only administrators to view and unmount system favorite volumes in VeraCrypt&rsquo;; note that this option can be enabled or disabled only by an administrator).
</li><li>Create a file-hosted VeraCrypt volume containing a FAT or no file system (provided that the relevant folder permissions allow it).
@@ -89,3 +89,3 @@ Settings</em> &gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<e
<li>Mount any file-hosted or partition/device-hosted VeraCrypt volume provided that the file/device permissions allow it.
-</li><li>Dismount, using VeraCrypt, (and, in the VeraCrypt application window, see the path to and properties of) any VeraCrypt volume mounted by him or her.
+</li><li>Unmount, using VeraCrypt, (and, in the VeraCrypt application window, see the path to and properties of) any VeraCrypt volume mounted by him or her.
</li><li>Create a file-hosted or partition/device-hosted VeraCrypt volume provided that the relevant folder/device permissions allow it.
diff --git a/doc/html/Security Requirements and Precautions.html b/doc/html/Security Requirements and Precautions.html
index da8519e1..1f2c0c47 100644
--- a/doc/html/Security Requirements and Precautions.html
+++ b/doc/html/Security Requirements and Precautions.html
@@ -61,2 +61,4 @@ The sections in this chapter specify security requirements for using VeraCrypt a
</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+<a href="VeraCrypt%20Memory%20Protection.html" style="text-align:left; color:#0080c0; text-decoration:none.html">VeraCrypt Memory Protection</a>
+</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
<a href="Physical%20Security.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Physical Security</a>
diff --git a/doc/html/Security Requirements for Hidden Volumes.html b/doc/html/Security Requirements for Hidden Volumes.html
index 3b5dbdb3..7ac28c40 100644
--- a/doc/html/Security Requirements for Hidden Volumes.html
+++ b/doc/html/Security Requirements for Hidden Volumes.html
@@ -46,3 +46,3 @@ hidden VeraCrypt volume</a>, you must follow the security requirements and preca
<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-If an adversary has access to a (dismounted) VeraCrypt volume at several points over time, he may be able to determine which sectors of the volume are changing. If you change the contents of a
+If an adversary has access to a (unmounted) VeraCrypt volume at several points over time, he may be able to determine which sectors of the volume are changing. If you change the contents of a
<a href="Hidden%20Volume.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
diff --git a/doc/html/Sharing over Network.html b/doc/html/Sharing over Network.html
index 829838b9..f1969f0f 100644
--- a/doc/html/Sharing over Network.html
+++ b/doc/html/Sharing over Network.html
@@ -47,3 +47,3 @@
<em>System Favorite Volumes</em></a>).</p>
-</li><li>A dismounted VeraCrypt file container is stored on a single computer (for example, on a server). This encrypted file is shared over a network. Users on other computers or systems will locally mount the shared file. Thus, the volume will be mounted simultaneously
+</li><li>A unmounted VeraCrypt file container is stored on a single computer (for example, on a server). This encrypted file is shared over a network. Users on other computers or systems will locally mount the shared file. Thus, the volume will be mounted simultaneously
under multiple operating systems.
diff --git a/doc/html/Supported Operating Systems.html b/doc/html/Supported Operating Systems.html
index 9814913d..67612ab2 100644
--- a/doc/html/Supported Operating Systems.html
+++ b/doc/html/Supported Operating Systems.html
@@ -39,25 +39,14 @@ Windows 11 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; p
Windows 10 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows 8 and 8.1 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows 7 (KB3033929 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Vista (KB4039648 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows XP </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Windows Server 2016 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2012 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2008 R2 (64-bit) (KB3033929 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2008 (KB4039648 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2003 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+Mac OS X 14 Sonoma </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+Mac OS X 13 Ventura </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Mac OS X 12 Monterey </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 11 Big Sur </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.15 Catalina </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.14 Mojave </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.13 High Sierra </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.12 Sierra </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.11 El Capitan </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.10 Yosemite </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Mac OS X 10.9 Mavericks </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Linux x86 (32-bit and 64-bit versions, kernel 2.6 or compatible) </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-FreeBSD x86 (32-bit and 64-bit versions, starting from version 11) </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+Linux x86, x86-64, ARM64 (Starting from Debian 10, Ubuntu 20.04, CentOS 7, OpenSUSE 15.1) </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+FreeBSD x86-64 (starting from version 12) </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
Raspberry Pi OS (32-bit and 64-bit) </li></ul>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-<span style="text-align:left;">Note: VeraCrypt 1.24-Update8 is the last version that supports Mac OS X 10.7 Lion and Mac OS X 10.8 Mountain Lion.</span></div>
+<span style="text-align:left;">Note: <br/>
+VeraCrypt 1.25.9 is the last version that supports Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 8.1.<br/>
+VeraCrypt 1.25.9 is the last version the supports Mac OS X versions from 10.9 Mavericks to 11 Big Sur<br/>
+VeraCrypt 1.24-Update8 is the last version that supports Mac OS X 10.7 Lion and Mac OS X 10.8 Mountain Lion.</span></div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
diff --git a/doc/html/Supported Systems for System Encryption.html b/doc/html/Supported Systems for System Encryption.html
index 67e5d2d4..afadc0ec 100644
--- a/doc/html/Supported Systems for System Encryption.html
+++ b/doc/html/Supported Systems for System Encryption.html
@@ -44,11 +44,3 @@ VeraCrypt can currently encrypt the following operating systems:</div>
Windows 11 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows 10 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows 8 and 8.1 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows 7 (KB3033929 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Vista SP2 (KB4039648 or KB4474419 must be installed) </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows XP </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2012 </li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2008 R2 (64-bit) (KB3033929 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2008 (KB4039648 or KB4474419 must be installed)</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
-Windows Server 2003 </li></ul>
+Windows 10 </li></ul>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
diff --git a/doc/html/System Encryption.html b/doc/html/System Encryption.html
index 464ac8fc..c83d72fe 100644
--- a/doc/html/System Encryption.html
+++ b/doc/html/System Encryption.html
@@ -42,2 +42,8 @@ System encryption provides the highest level of security and privacy, because al
registry entries are always permanently encrypted as well.</div>
+
+<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
+<strong>Note on SSDs and TRIM:</strong>
+When using system encryption on SSDs, it's important to consider the implications of the TRIM operation, which can potentially reveal information about which sectors on the drive are not in use. For detailed guidance on how TRIM operates with VeraCrypt and how to manage its settings for enhanced security, please refer to the <a href="Trim%20Operation.html">TRIM Operation</a> documentation.
+</div>
+
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
@@ -64,6 +70,7 @@ System</em> &gt; <em style="text-align:left">Encrypt System Partition/Drive</em>
Because of BIOS requirement, the pre-boot password is typed using <strong>US keyboard layout.
-</strong>During the system encryption process, VeraCrypt automatically and transparently switches the keyboard to US layout in order to ensure that the password value typed will match the one typed in pre-boot mode. Thus, in order to avoid wrong password errors,
- one must type the password using the same keys as when creating the system encryption.</div>
+</strong>During the system encryption process, VeraCrypt automatically and transparently switches the keyboard to US layout in order to ensure that the password value typed will match the one typed in pre-boot mode.
+However, pasting the password from the clipboard can override this protective measure. To prevent any issues arising from this discrepancy, VeraCrypt disables the option to paste passwords from the clipboard in the system encryption wizard.
+Thus, when setting or entering your password, it's crucial to type it manually using the same keys as when creating the system encryption, ensuring consistent access to your encrypted system.</div>
<p>Note: By default, Windows 7 and later boot from a special small partition. The partition contains files that are required to boot the system. Windows allows only applications that have administrator privileges to write to the partition (when the system is
- running). In EFI boot mode, which is the default on modern PCs, VeraCrypt can not encrypt this partition since it must remain unencrypted so that the BIOS can load the EFI bootloader from it. This in turn implies that in EFI boot mode, VeraCrypt offers only to encrypt the system partition where Windows is installed (the user can later manualy encrypt other data partitions using VeraCrypt).
+ running). In EFI boot mode, which is the default on modern PCs, VeraCrypt can not encrypt this partition since it must remain unencrypted so that the BIOS can load the EFI bootloader from it. This in turn implies that in EFI boot mode, VeraCrypt offers only to encrypt the system partition where Windows is installed (the user can later manually encrypt other data partitions using VeraCrypt).
In MBR legacy boot mode, VeraCrypt encrypts the partition only if you choose to encrypt the whole system drive (as opposed to choosing to encrypt only the partition where Windows is installed).</p>
diff --git a/doc/html/System Favorite Volumes.html b/doc/html/System Favorite Volumes.html
index 491a6698..3dd06b74 100644
--- a/doc/html/System Favorite Volumes.html
+++ b/doc/html/System Favorite Volumes.html
@@ -54,4 +54,4 @@ each time the operating system starts. </li></ul>
System favorite volumes <strong>can be configured to be available within VeraCrypt only to users with administrator privileges
-</strong>(select <em>Settings </em>&gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<em>Allow only administrators to view and dismount system favorite volumes in VeraCrypt</em>&rsquo;). This option should be enabled on servers to ensure that
- system favorite volumes cannot be dismounted by users without administrator privileges. On non-server systems, this option can be used to prevent normal VeraCrypt volume actions (such as &lsquo;<em>Dismount All</em>&rsquo;, auto-dismount, etc.) from affecting
+</strong>(select <em>Settings </em>&gt; &lsquo;<em>System Favorite Volumes</em>&rsquo; &gt; &lsquo;<em>Allow only administrators to view and unmount system favorite volumes in VeraCrypt</em>&rsquo;). This option should be enabled on servers to ensure that
+ system favorite volumes cannot be unmounted by users without administrator privileges. On non-server systems, this option can be used to prevent normal VeraCrypt volume actions (such as &lsquo;<em>Unmount All</em>&rsquo;, auto-unmount, etc.) from affecting
system favorite volumes. In addition, when VeraCrypt is run without administrator privileges (the default on Windows Vista and later), system favorite volumes will not be displayed in the drive letter list in the main VeraCrypt application window.</p>
diff --git a/doc/html/Technical Details.html b/doc/html/Technical Details.html
index 29f7aae1..63878e05 100644
--- a/doc/html/Technical Details.html
+++ b/doc/html/Technical Details.html
@@ -57,2 +57,11 @@
<a href="Source%20Code.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Source Code</a>
+</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+<a href="CompilingGuidelines.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Building VeraCrypt From Source</a>
+<ul>
+<li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+<a href="CompilingGuidelineWin.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Windows Build Guide</a>
+</li><li style="text-align:left; margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px">
+<a href="CompilingGuidelineLinux.html" style="text-align:left; color:#0080c0; text-decoration:none.html">Linux Build Guide</a>
+</li>
+</ul>
</li></ul>
diff --git a/doc/html/Trim Operation.html b/doc/html/Trim Operation.html
index be4cec73..a186f9da 100644
--- a/doc/html/Trim Operation.html
+++ b/doc/html/Trim Operation.html
@@ -40,10 +40,19 @@
Some storage devices (e.g., some solid-state drives, including USB flash drives) use so-called 'trim' operation to mark drive sectors as free e.g. when a file is deleted. Consequently, such sectors may contain unencrypted zeroes or other undefined data (unencrypted)
- even if they are located within a part of the drive that is encrypted by VeraCrypt. VeraCrypt does not block the trim operation on partitions that are within the key scope of
-<a href="System%20Encryption.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
-system encryption</a> (unless a <a href="Hidden%20Operating%20System.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
-hidden operating system</a> is running) and under Linux on all volumes that use the Linux native kernel cryptographic services. In those cases, the adversary will be able to tell which sectors contain free space (and may be able to use this information for
+ even if they are located within a part of the drive that is encrypted by VeraCrypt.<br>
+<br>
+On Windows, VeraCrypt allows users to control the trim operation for both non-system and system volumes:
+<ul>
+<li>For non-system volumes, trim is blocked by default. Users can enable trim through VeraCrypt's interface by navigating to "Settings -> Performance/Driver Configuration" and checking the option "Allow TRIM command for non-system SSD partition/drive."</li>
+<li>For <a href="System%20Encryption.html">system encryption</a>, trim is enabled by default (unless a <a href="Hidden%20Operating%20System.html">hidden operating system</a> is running). Users can disable trim by navigating to "System -> Settings" and checking the option "Block TRIM command on system partition/drive."</li>
+</ul>
+
+Under Linux, VeraCrypt does not block the trim operation on volumes using the native Linux kernel cryptographic services, which is the default setting. To block TRIM on Linux, users should either enable the "do not use kernel cryptographic services" option in VeraCrypt's Preferences (applicable only to volumes mounted afterward) or use the <code>--mount-options=nokernelcrypto</code> switch in the command line when mounting.
+<br>
+<br>
+Under macOS, VeraCrypt does not support the trim operation. Therefore, trim is always blocked on all volumes.
+<br>
+<br>
+In cases where trim operations occur, the adversary will be able to tell which sectors contain free space (and may be able to use this information for
further analysis and attacks) and <a href="Plausible%20Deniability.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
-plausible deniability</a> may be negatively affected. If you want to avoid those issues, do not use
-<a href="System%20Encryption.html" style="text-align:left; color:#0080c0; text-decoration:none.html">
-system encryption</a> on drives that use the trim operation and, under Linux, either configure VeraCrypt not to use the Linux native kernel cryptographic services or make sure VeraCrypt volumes are not located on drives that use the trim operation.</div>
+plausible deniability</a> may be negatively affected. In order to avoid these issues, users should either disable trim in VeraCrypt settings as previously described or make sure VeraCrypt volumes are not located on drives that use the trim operation.</div>
<p>To find out whether a device uses the trim operation, please refer to documentation supplied with the device or contact the vendor/manufacturer.</p>
diff --git a/doc/html/Troubleshooting.html b/doc/html/Troubleshooting.html
index 3eece663..e3cfb49f 100644
--- a/doc/html/Troubleshooting.html
+++ b/doc/html/Troubleshooting.html
@@ -316,3 +316,3 @@ Replace the motherboard with a different one (different type and/or brand). </li
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-<em style="text-align:left">When mounting or dismounting a VeraCrypt volume, the system crashes (a 'blue screen' error screen appears or the
+<em style="text-align:left">When mounting or unmounting a VeraCrypt volume, the system crashes (a 'blue screen' error screen appears or the
<span style="text-align:left">computer abruptly restarts)</span>.</em></div>
diff --git a/doc/html/TrueCrypt Support.html b/doc/html/TrueCrypt Support.html
index 4c61f738..af1383c7 100644
--- a/doc/html/TrueCrypt Support.html
+++ b/doc/html/TrueCrypt Support.html
@@ -36,2 +36,5 @@
<h1>TrueCrypt Support</h1>
+<p>
+<strong>Note: <span style="color:#ff0000;">TrueCrypt support was dropped starting from version 1.26</span></strong>
+</p>
<p>Starting from version 1.0f, VeraCrypt supports loading TrueCrypt volumes and partitions, both normal and hidden. In order to activate this, you have to check &ldquo;TrueCrypt Mode&rdquo; in the password prompt dialog as shown below.</p>
diff --git a/doc/html/Unencrypted Data in RAM.html b/doc/html/Unencrypted Data in RAM.html
index 9c4de777..96fe5813 100644
--- a/doc/html/Unencrypted Data in RAM.html
+++ b/doc/html/Unencrypted Data in RAM.html
@@ -42,7 +42,7 @@ It is important to note that VeraCrypt is <em style="text-align:left">disk</em>
Keep in mind that most programs do not clear the memory area (buffers) in which they store unencrypted (portions of) files they load from a VeraCrypt volume. This means that after you exit such a program, unencrypted data it worked with may remain in memory
- (RAM) until the computer is turned off (and, according to some researchers, even for some time after the power is turned off*). Also note that if you open a file stored on a VeraCrypt volume, for example, in a text editor and then force dismount on the VeraCrypt
- volume, then the file will remain unencrypted in the area of memory (RAM) used by (allocated to) the text editor. This also applies to forced auto-dismount.</div>
+ (RAM) until the computer is turned off (and, according to some researchers, even for some time after the power is turned off*). Also note that if you open a file stored on a VeraCrypt volume, for example, in a text editor and then force unmount on the VeraCrypt
+ volume, then the file will remain unencrypted in the area of memory (RAM) used by (allocated to) the text editor. This also applies to forced auto-unmount.</div>
<div style="text-align:left; margin-top:19px; margin-bottom:19px; padding-top:0px; padding-bottom:0px">
-Inherently, unencrypted master keys have to be stored in RAM too. When a non-system VeraCrypt volume is dismounted, VeraCrypt erases its master keys (stored in RAM). When the computer is cleanly restarted (or cleanly shut down), all non-system VeraCrypt volumes
- are automatically dismounted and, thus, all master keys stored in RAM are erased by the VeraCrypt driver (except master keys for system partitions/drives &mdash; see below). However, when power supply is abruptly interrupted, when the computer is reset (not
+Inherently, unencrypted master keys have to be stored in RAM too. When a non-system VeraCrypt volume is unmounted, VeraCrypt erases its master keys (stored in RAM). When the computer is cleanly restarted (or cleanly shut down), all non-system VeraCrypt volumes
+ are automatically unmounted and, thus, all master keys stored in RAM are erased by the VeraCrypt driver (except master keys for system partitions/drives &mdash; see below). However, when power supply is abruptly interrupted, when the computer is reset (not
cleanly restarted), or when the system crashes, <strong style="text-align:left">
@@ -72,5 +72,5 @@ Hibernation File</a>).</td>
(e.g. -50&nbsp;&deg;C). New types of memory modules allegedly exhibit a much shorter decay time (e.g. 1.5-2.5 seconds) than older types (as of 2008).</span><br style="text-align:left">
-<span style="text-align:left; font-size:10px; line-height:12px">** Before a key can be erased from RAM, the corresponding VeraCrypt volume must be dismounted. For non-system volumes, this does not cause any problems. However, as Microsoft currently does not
- provide any appropriate API for handling the final phase of the system shutdown process, paging files located on encrypted system volumes that are dismounted during the system shutdown process may still contain valid swapped-out memory pages (including portions
- of Windows system files). This could cause 'blue screen' errors. Therefore, to prevent 'blue screen' errors, VeraCrypt does not dismount encrypted system volumes and consequently cannot clear the master keys of the system volumes when the system is shut down
+<span style="text-align:left; font-size:10px; line-height:12px">** Before a key can be erased from RAM, the corresponding VeraCrypt volume must be unmounted. For non-system volumes, this does not cause any problems. However, as Microsoft currently does not
+ provide any appropriate API for handling the final phase of the system shutdown process, paging files located on encrypted system volumes that are unmounted during the system shutdown process may still contain valid swapped-out memory pages (including portions
+ of Windows system files). This could cause 'blue screen' errors. Therefore, to prevent 'blue screen' errors, VeraCrypt does not unmount encrypted system volumes and consequently cannot clear the master keys of the system volumes when the system is shut down
or restarted.</span></p>
diff --git a/doc/html/Using VeraCrypt Without Administrator Privileges.html b/doc/html/Using VeraCrypt Without Administrator Privileges.html
index 742ae0e9..1bb1bbb9 100644
--- a/doc/html/Using VeraCrypt Without Administrator Privileges.html
+++ b/doc/html/Using VeraCrypt Without Administrator Privileges.html
@@ -42,3 +42,3 @@
<br>
-After a system administrator installs VeraCrypt on the system, users without administrator privileges will be able to run VeraCrypt, mount/dismount any type of VeraCrypt volume, load/save data from/to it, and create file-hosted VeraCrypt volumes on the system.
+After a system administrator installs VeraCrypt on the system, users without administrator privileges will be able to run VeraCrypt, mount/unmount any type of VeraCrypt volume, load/save data from/to it, and create file-hosted VeraCrypt volumes on the system.
However, users without administrator privileges cannot encrypt/format partitions, cannot create NTFS volumes, cannot install/uninstall VeraCrypt, cannot change passwords/keyfiles for VeraCrypt partitions/devices, cannot backup/restore headers of VeraCrypt
diff --git a/doc/html/VeraCrypt Background Task.html b/doc/html/VeraCrypt Background Task.html
index 2ded6d50..bc56155b 100644
--- a/doc/html/VeraCrypt Background Task.html
+++ b/doc/html/VeraCrypt Background Task.html
@@ -41,3 +41,3 @@
<ol>
-<li>Hot keys </li><li>Auto-dismount (e.g., upon logoff, inadvertent host device removal, time-out, etc.)
+<li>Hot keys </li><li>Auto-unmount (e.g., upon logoff, inadvertent host device removal, time-out, etc.)
</li><li>Auto-mount of favorite volumes </li><li>Notifications (e.g., when damage to hidden volume is prevented) </li><li>Tray icon </li></ol>
diff --git a/doc/html/VeraCrypt Hidden Operating System.html b/doc/html/VeraCrypt Hidden Operating System.html
index 8881b925..fcaeef57 100644
--- a/doc/html/VeraCrypt Hidden Operating System.html
+++ b/doc/html/VeraCrypt Hidden Operating System.html