VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Format
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2014-07-26 17:46:17 +0200
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2014-11-08 23:21:40 +0100
commit97154aaf51efe787dd1678c8e1baeeb65ce46fe1 (patch)
tree0034e3b6d3c272ceb35b3b186305e8510afc64c5 /src/Format
parent1ddae209326858f1c244a4b52ba2bd068cc8985a (diff)
downloadVeraCrypt-97154aaf51efe787dd1678c8e1baeeb65ce46fe1.tar.gz
VeraCrypt-97154aaf51efe787dd1678c8e1baeeb65ce46fe1.zip
Lower number of times we overwrite volume header during the encryption of a partition if the user choose to wipe the driver. Latest studies show that even one pass is enough to make data irretrievable. A value of 3 is a conservative approach that enhance performance without scarifying security. http://www.infosecisland.com/blogview/16130-The-Urban-Legend-of-Multipass-Hard-Disk-Overwrite.html http://digital-forensics.sans.org/blog/2009/01/15/overwriting-hard-drive-data/
Diffstat (limited to 'src/Format')
-rw-r--r--src/Format/InPlace.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Format/InPlace.c b/src/Format/InPlace.c
index 228e2e5f..b1bfac98 100644
--- a/src/Format/InPlace.c
+++ b/src/Format/InPlace.c
@@ -501,7 +501,7 @@ int EncryptPartitionInPlaceBegin (volatile FORMAT_VOL_PARAMETERS *volParams, vol
501 area is occuppied by data until the very end of the process). */ 501 area is occuppied by data until the very end of the process). */
502 502
503 // Prepare the backup header 503 // Prepare the backup header
504 for (int wipePass = 0; wipePass < (wipeAlgorithm == TC_WIPE_NONE ? 1 : PRAND_DISK_WIPE_PASSES); wipePass++) 504 for (int wipePass = 0; wipePass < (wipeAlgorithm == TC_WIPE_NONE ? 1 : PRAND_HEADER_WIPE_PASSES); wipePass++)
505 { 505 {
506 nStatus = CreateVolumeHeaderInMemory (FALSE, 506 nStatus = CreateVolumeHeaderInMemory (FALSE,
507 header, 507 header,
@@ -518,7 +518,7 @@ int EncryptPartitionInPlaceBegin (volatile FORMAT_VOL_PARAMETERS *volParams, vol
518 0, 518 0,
519 volParams->headerFlags | TC_HEADER_FLAG_NONSYS_INPLACE_ENC, 519 volParams->headerFlags | TC_HEADER_FLAG_NONSYS_INPLACE_ENC,
520 volParams->sectorSize, 520 volParams->sectorSize,
521 wipeAlgorithm == TC_WIPE_NONE ? FALSE : (wipePass < PRAND_DISK_WIPE_PASSES - 1)); 521 wipeAlgorithm == TC_WIPE_NONE ? FALSE : (wipePass < PRAND_HEADER_WIPE_PASSES - 1));
522 522
523 if (nStatus != 0) 523 if (nStatus != 0)
524 goto closing_seq; 524 goto closing_seq;
@@ -969,7 +969,7 @@ inplace_enc_read:
969 969
970 SetNonSysInplaceEncUIStatus (NONSYS_INPLACE_ENC_STATUS_FINALIZING); 970 SetNonSysInplaceEncUIStatus (NONSYS_INPLACE_ENC_STATUS_FINALIZING);
971 971
972 for (int wipePass = 0; wipePass < (wipeAlgorithm == TC_WIPE_NONE ? 1 : PRAND_DISK_WIPE_PASSES); wipePass++) 972 for (int wipePass = 0; wipePass < (wipeAlgorithm == TC_WIPE_NONE ? 1 : PRAND_HEADER_WIPE_PASSES); wipePass++)
973 { 973 {
974 nStatus = CreateVolumeHeaderInMemory (FALSE, 974 nStatus = CreateVolumeHeaderInMemory (FALSE,
975 header, 975 header,
@@ -986,7 +986,7 @@ inplace_enc_read:
986 masterCryptoInfo->RequiredProgramVersion, 986 masterCryptoInfo->RequiredProgramVersion,
987 masterCryptoInfo->HeaderFlags | TC_HEADER_FLAG_NONSYS_INPLACE_ENC, 987 masterCryptoInfo->HeaderFlags | TC_HEADER_FLAG_NONSYS_INPLACE_ENC,
988 masterCryptoInfo->SectorSize, 988 masterCryptoInfo->SectorSize,
989 wipeAlgorithm == TC_WIPE_NONE ? FALSE : (wipePass < PRAND_DISK_WIPE_PASSES - 1)); 989 wipeAlgorithm == TC_WIPE_NONE ? FALSE : (wipePass < PRAND_HEADER_WIPE_PASSES - 1));
990 990
991 if (nStatus != ERR_SUCCESS) 991 if (nStatus != ERR_SUCCESS)
992 goto closing_seq; 992 goto closing_seq;