VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMounir IDRASSI <mounir.idrassi@idrix.fr>2015-01-03 22:57:24 +0100
committerMounir IDRASSI <mounir.idrassi@idrix.fr>2015-01-03 23:54:09 +0100
commit55b3400afa1f94f9f7a4317750a15be6b45157a6 (patch)
tree24324cb043822b3daa7d2023ac246eacf24290b9 /src
parent8f5fd67ff3ca2e68bc97e74ce6ae91931c92775f (diff)
downloadVeraCrypt-55b3400afa1f94f9f7a4317750a15be6b45157a6.tar.gz
VeraCrypt-55b3400afa1f94f9f7a4317750a15be6b45157a6.zip
Windows: change cascade encryption naming format to reflex mathematical composition of the encryption algorithm, thus being more clear. For example AES(Twofish(Serpent)) instead of AES-Twofish-Serpent.
Diffstat (limited to 'src')
-rw-r--r--src/Common/Crypto.c32
-rw-r--r--src/Common/Crypto.h2
-rw-r--r--src/Common/Dlgcode.c4
-rw-r--r--src/Common/Tests.c4
-rw-r--r--src/Driver/DriveFilter.c2
-rw-r--r--src/Format/Tcformat.c6
-rw-r--r--src/Mount/Mount.c8
7 files changed, 37 insertions, 21 deletions
diff --git a/src/Common/Crypto.c b/src/Common/Crypto.c
index e47f9565..fc9be05c 100644
--- a/src/Common/Crypto.c
+++ b/src/Common/Crypto.c
@@ -408,19 +408,35 @@ BOOL EAInitMode (PCRYPTO_INFO ci)
return TRUE;
}
+static void EAGetDisplayName(char *buf, int ea, int i)
+{
+ strcpy (buf, CipherGetName (i));
+ if (i = EAGetPreviousCipher(ea, i))
+ {
+ strcat (buf, "(");
+ EAGetDisplayName (&buf[strlen(buf)], ea, i);
+ strcat (buf, ")");
+ }
+}
// Returns name of EA, cascaded cipher names are separated by hyphens
-char *EAGetName (char *buf, int ea)
+char *EAGetName (char *buf, int ea, int guiDisplay)
{
- int i = EAGetLastCipher(ea);
- strcpy (buf, (i != 0) ? CipherGetName (i) : "?");
-
- while (i = EAGetPreviousCipher(ea, i))
+ if (guiDisplay)
{
- strcat (buf, "-");
- strcat (buf, CipherGetName (i));
+ EAGetDisplayName (buf, ea, EAGetLastCipher(ea));
}
+ else
+ {
+ int i = EAGetLastCipher(ea);
+ strcpy (buf, (i != 0) ? CipherGetName (i) : "?");
+ while (i = EAGetPreviousCipher(ea, i))
+ {
+ strcat (buf, "-");
+ strcat (buf, CipherGetName (i));
+ }
+ }
return buf;
}
@@ -432,7 +448,7 @@ int EAGetByName (char *name)
do
{
- EAGetName (n, ea);
+ EAGetName (n, ea, 0);
if (strcmp (n, name) == 0)
return ea;
}
diff --git a/src/Common/Crypto.h b/src/Common/Crypto.h
index 70f481d8..208e72a1 100644
--- a/src/Common/Crypto.h
+++ b/src/Common/Crypto.h
@@ -293,7 +293,7 @@ void DecipherBlocks (int cipher, void *dataPtr, void *ks, size_t blockCount);
int EAGetFirst ();
int EAGetCount (void);
int EAGetNext (int previousEA);
-char * EAGetName (char *buf, int ea);
+char * EAGetName (char *buf, int ea, int guiDisplay);
int EAGetByName (char *name);
int EAGetKeySize (int ea);
int EAGetFirstMode (int ea);
diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c
index 9bb4ac49..9b1abb56 100644
--- a/src/Common/Dlgcode.c
+++ b/src/Common/Dlgcode.c
@@ -4574,7 +4574,7 @@ static BOOL PerformBenchmark(HWND hBenchDlg, HWND hwndDlg)
benchmarkTable[benchmarkTotalItems].decSpeed = performanceCountEnd.QuadPart - performanceCountStart.QuadPart;
benchmarkTable[benchmarkTotalItems].id = ci->ea;
benchmarkTable[benchmarkTotalItems].meanBytesPerSec = ((unsigned __int64) (benchmarkBufferSize / ((float) benchmarkTable[benchmarkTotalItems].encSpeed / benchmarkPerformanceFrequency.QuadPart)) + (unsigned __int64) (benchmarkBufferSize / ((float) benchmarkTable[benchmarkTotalItems].decSpeed / benchmarkPerformanceFrequency.QuadPart))) / 2;
- EAGetName (benchmarkTable[benchmarkTotalItems].name, ci->ea);
+ EAGetName (benchmarkTable[benchmarkTotalItems].name, ci->ea, 1);
benchmarkTotalItems++;
}
@@ -5349,7 +5349,7 @@ CipherTestDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
for (ea = EAGetFirst (); ea != 0; ea = EAGetNext (ea))
{
if (EAGetCipherCount (ea) == 1 && EAIsFormatEnabled (ea))
- AddComboPair (GetDlgItem (hwndDlg, IDC_CIPHER), EAGetName (buf, ea), EAGetFirstCipher (ea));
+ AddComboPair (GetDlgItem (hwndDlg, IDC_CIPHER), EAGetName (buf, ea, 1), EAGetFirstCipher (ea));
}
ResetCipherTest(hwndDlg, idTestCipher);
diff --git a/src/Common/Tests.c b/src/Common/Tests.c
index 7007f64a..c5aea91d 100644
--- a/src/Common/Tests.c
+++ b/src/Common/Tests.c
@@ -511,7 +511,7 @@ BOOL TestSectorBufEncryption (PCRYPTO_INFO ci)
if (!EAIsModeSupported (ci->ea, ci->mode))
continue;
- EAGetName (name, ci->ea);
+ EAGetName (name, ci->ea, 0);
if (EAInit (ci->ea, key1, ci->ks) != ERR_SUCCESS)
return FALSE;
@@ -777,7 +777,7 @@ BOOL TestSectorBufEncryption (PCRYPTO_INFO ci)
if (!EAIsModeSupported (ci->ea, ci->mode))
continue;
- EAGetName (name, ci->ea);
+ EAGetName (name, ci->ea, 0);
if (EAInit (ci->ea, key1, ci->ks) != ERR_SUCCESS)
return FALSE;
diff --git a/src/Driver/DriveFilter.c b/src/Driver/DriveFilter.c
index 328f348e..df1e2356 100644
--- a/src/Driver/DriveFilter.c
+++ b/src/Driver/DriveFilter.c
@@ -1640,7 +1640,7 @@ void GetBootEncryptionAlgorithmName (PIRP irp, PIO_STACK_LOCATION irpSp)
if (BootDriveFilterExtension && BootDriveFilterExtension->DriveMounted)
{
GetBootEncryptionAlgorithmNameRequest *request = (GetBootEncryptionAlgorithmNameRequest *) irp->AssociatedIrp.SystemBuffer;
- EAGetName (request->BootEncryptionAlgorithmName, BootDriveFilterExtension->Queue.CryptoInfo->ea);
+ EAGetName (request->BootEncryptionAlgorithmName, BootDriveFilterExtension->Queue.CryptoInfo->ea, 0);
HashGetName2 (request->BootPrfAlgorithmName, BootDriveFilterExtension->Queue.CryptoInfo->pkcs5);
irp->IoStatus.Information = sizeof (GetBootEncryptionAlgorithmNameRequest);
diff --git a/src/Format/Tcformat.c b/src/Format/Tcformat.c
index e694a176..d55cc064 100644
--- a/src/Format/Tcformat.c
+++ b/src/Format/Tcformat.c
@@ -1189,7 +1189,7 @@ void ComboSelChangeEA (HWND hwndDlg)
int i, cnt = 0;
nIndex = SendMessage (GetDlgItem (hwndDlg, IDC_COMBO_BOX), CB_GETITEMDATA, nIndex, 0);
- EAGetName (name, nIndex);
+ EAGetName (name, nIndex, 0);
if (strcmp (name, "AES") == 0)
{
@@ -3723,7 +3723,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
for (ea = EAGetFirst (); ea != 0; ea = EAGetNext (ea))
{
if (EAIsFormatEnabled (ea))
- AddComboPair (GetDlgItem (hwndDlg, IDC_COMBO_BOX), EAGetName (buf, ea), ea);
+ AddComboPair (GetDlgItem (hwndDlg, IDC_COMBO_BOX), EAGetName (buf, ea, 1), ea);
}
SelectAlgo (GetDlgItem (hwndDlg, IDC_COMBO_BOX), &nVolumeEA);
@@ -4976,7 +4976,7 @@ BOOL CALLBACK PageDialogProc (HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
int nIndex = SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX), CB_GETCURSEL, 0, 0);
nIndex = SendMessage (GetDlgItem (hCurPage, IDC_COMBO_BOX), CB_GETITEMDATA, nIndex, 0);
- EAGetName (name, nIndex);
+ EAGetName (name, nIndex, 0);
if (strcmp (name, "AES") == 0)
Applink ("aes", FALSE, "");
diff --git a/src/Mount/Mount.c b/src/Mount/Mount.c
index 1d25473d..e7350cf8 100644
--- a/src/Mount/Mount.c
+++ b/src/Mount/Mount.c
@@ -1188,7 +1188,7 @@ void LoadDriveLetters (HWND hwndDlg, HWND hTree, int drive)
GetSizeString (GetSysEncDeviceSize(TRUE), szTmpW, sizeof(szTmpW));
ListSubItemSetW (hTree, listItem.iItem, 2, szTmpW);
- EAGetName (szTmp, propSysEnc.ea);
+ EAGetName (szTmp, propSysEnc.ea, 1);
listItem.iSubItem = 3;
ListView_SetItem (hTree, &listItem);
@@ -1305,7 +1305,7 @@ void LoadDriveLetters (HWND hwndDlg, HWND hTree, int drive)
GetSizeString (bSysEncPartition ? GetSysEncDeviceSize(TRUE) : driver.diskLength[i], szTmpW, sizeof(szTmpW));
ListSubItemSetW (hTree, listItem.iItem, 2, szTmpW);
- EAGetName (szTmp, bSysEncPartition ? propSysEnc.ea : driver.ea[i]);
+ EAGetName (szTmp, bSysEncPartition ? propSysEnc.ea : driver.ea[i], 1);
listItem.iSubItem = 3;
ListView_SetItem (hTree, &listItem);
@@ -3081,14 +3081,14 @@ BOOL CALLBACK VolumePropertiesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LP
return 1;
}
- EAGetName (szTmp, prop.ea);
+ EAGetName (szTmp, prop.ea, 1);
ListSubItemSet (list, i++, 1, szTmp);
// Key size(s)
{
char name[128];
int size = EAGetKeySize (prop.ea);
- EAGetName (name, prop.ea);
+ EAGetName (name, prop.ea, 1);
// Primary key
ListItemAddW (list, i, GetString ("KEY_SIZE"));