mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-11 02:58:02 -06:00
Windows: in case of In-Place encryption, encrypt random data instead of existing data when filling unused space like the other cases.
This commit is contained in:
@@ -1239,7 +1239,7 @@ BOOL WriteEffectiveVolumeHeader (BOOL device, HANDLE fileHandle, byte *header)
|
||||
// Writes randomly generated data to unused/reserved header areas.
|
||||
// When bPrimaryOnly is TRUE, then only the primary header area (not the backup header area) is filled with random data.
|
||||
// When bBackupOnly is TRUE, only the backup header area (not the primary header area) is filled with random data.
|
||||
int WriteRandomDataToReservedHeaderAreas (HWND hwndDlg, HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly, BOOL bInPlaceEnc)
|
||||
int WriteRandomDataToReservedHeaderAreas (HWND hwndDlg, HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly)
|
||||
{
|
||||
char temporaryKey[MASTER_KEYDATA_SIZE];
|
||||
char originalK2[MASTER_KEYDATA_SIZE];
|
||||
@@ -1298,12 +1298,8 @@ int WriteRandomDataToReservedHeaderAreas (HWND hwndDlg, HANDLE dev, CRYPTO_INFO
|
||||
goto final_seq;
|
||||
}
|
||||
|
||||
if (backupHeaders || !bInPlaceEnc)
|
||||
{
|
||||
// encrypt random data instead of existing data for better entropy, except in case of primary
|
||||
// header of an in-place encrypted disk
|
||||
RandgetBytesFull (hwndDlg, buf + TC_VOLUME_HEADER_EFFECTIVE_SIZE, sizeof (buf) - TC_VOLUME_HEADER_EFFECTIVE_SIZE, FALSE, TRUE);
|
||||
}
|
||||
// encrypt random data instead of existing data for better entropy
|
||||
RandgetBytesFull (hwndDlg, buf + TC_VOLUME_HEADER_EFFECTIVE_SIZE, sizeof (buf) - TC_VOLUME_HEADER_EFFECTIVE_SIZE, FALSE, TRUE);
|
||||
|
||||
EncryptBuffer (buf + TC_VOLUME_HEADER_EFFECTIVE_SIZE, sizeof (buf) - TC_VOLUME_HEADER_EFFECTIVE_SIZE, cryptoInfo);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user