VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Main
AgeCommit message (Expand)AuthorFilesLines
2015-03-08Linux/MacOSX: Load preferences if only volume path is given in command line a...Mounir IDRASSI3-6/+23
2015-02-28Linux/MacOSX: A configuration option for default hash and default TrueCrypt m...Mounir IDRASSI8-6/+410
2015-02-27Linux/MacOSX: Modify wxFormBuilder generated files directly to solve the 'X' ...Mounir IDRASSI1-6/+6
2015-02-27Revert "Linux/MacOSX: solve the 'X' icon not closing some dialog. This was ca...Mounir IDRASSI8-14/+14
2015-02-16Linux/MacOSX: solve the 'X' icon not closing some dialog. This was caused by ...Mounir IDRASSI8-14/+14
2015-02-13Linux: Perform a quick NTFS formatting by adding the "-f" switch to mkfs.ntfs...Mounir IDRASSI1-0/+4
2015-02-11Linux: modify installer script to make it run when the "less" command doesn't...Mounir IDRASSI1-1/+1
2015-02-10Linux: Add graphical installer support when xterm is not available (Linux Min...Mounir IDRASSI1-1/+1
2015-02-08Linux: solve rare issue where VeraCrypt wrongly reports that another instance...Mounir IDRASSI1-3/+21
2015-02-08Linux: When not under Gnome/KDE, use xdg-open to open the mounted volume if i...Mounir IDRASSI1-1/+17
2015-02-08Linux/MacOSX: use command line values of TrueCryptMode and PRF as defaults fo...Mounir IDRASSI6-9/+33
2015-01-04Linux/MacOSX: Add wait dialog to the benchmark computation. Correct handling ...Mounir IDRASSI4-22/+42
2015-01-04Linux/MacOSX: make the cancel button work on the preferences dialog.Mounir IDRASSI1-1/+1
2015-01-04Linux/MacOSX: change cascade encryption naming format in the UI as it was don...Mounir IDRASSI4-5/+5
2015-01-03Linux/MacOSX: workaround for wxWidgets bug in the method wxTextEntry::IsEmpty...Mounir IDRASSI1-1/+1
2015-01-02Linux: solve link error on recent Ubuntu when using shared wxWidgets.Mounir IDRASSI1-1/+1
2014-12-30Linux/MacOSX: code refactoring and cleanup.Mounir IDRASSI2-28/+25
2014-12-30Linux/MacOSX: Implement TrueCrypt conversion and loading support. Correct man...Mounir IDRASSI21-72/+374
2014-12-28Linux/MacOSX: Add possibility to choose 1-pass wipe mode without changing the...Mounir IDRASSI2-4/+4
2014-12-26Linux/MacOSX: Implement waiting dialog for lengthy operations in order to hav...Mounir IDRASSI15-18/+658
2014-12-20Linux: update the embedded data index inside the installer because the licens...Mounir IDRASSI1-1/+1
2014-12-20Linux/MacOSX: Add a donation menu entryMounir IDRASSI4-0/+23
2014-12-20Linux/MacOSX: remove calls to non existent class VolumeLayoutV1HiddenMounir IDRASSI2-4/+4
2014-12-20Reduce time for reporting wrong password by removing support for legacy hidde...Mounir IDRASSI1-2/+2
2014-12-19Linux/MacOSX: Enhance performance by implementing the possibility to choose t...Mounir IDRASSI16-20/+95
2014-12-11Linux/macOSX: always display random gathering dialog/interface before perform...Mounir IDRASSI3-0/+20
2014-12-11Linux/MacOSX: Implement generating more than one keyfile, specifying the size...Mounir IDRASSI6-11/+948
2014-12-07MacOSX/Linux: Solve truncated text in some Wizard windows by defining a large...VeraCrypt_1.0f-BETA2Mounir IDRASSI3-9/+9
2014-12-04Linux/macOSX: handle project URLs using the new valuesMounir IDRASSI1-38/+107
2014-11-08Linux/MacOSX: solve compilation warning by explicitly converting wxCStrData t...Mounir IDRASSI1-2/+2
2014-11-08Replace deprecated wxTextValidator::SetBellOnError whose logic whose inverted...Mounir IDRASSI1-2/+4
2014-11-08MacOSX: fix warning by displacing declaration of variable used only under LinuxMounir IDRASSI1-1/+1
2014-11-08Linux/MacOSX: Remove static size values from GUI in order to let wxWidgets ca...Mounir IDRASSI3-11/+20
2014-11-08Linux: remove workaround for wxFileType::GetOpenCommand bug in handling path ...Mounir IDRASSI1-5/+0
2014-11-08Linux: Support NTFS formatting of volume. We use mkfs.ntfs so it needs to be ...Mounir IDRASSI3-0/+4
2014-11-08MacOSX : Update Main Makefile to used the new package name that include the v...VeraCrypt_MacOSX_1.0dMounir IDRASSI1-1/+1
2014-11-08MacOSX : Correct typos in Main MakefileMounir IDRASSI1-3/+3
2014-11-08MacOSX : change OSXFuse error message to indicate the MacFUSE compatibility l...Mounir IDRASSI1-1/+1
2014-11-08MacOSX : modify Makefile to automatically build and sign the MacOSX installer...Mounir IDRASSI1-1/+3
2014-11-08MacOSX : Since we link directly with OSXFuse, change error message to indicat...Mounir IDRASSI1-1/+1
2014-11-08MacOSX : Copy console version of VeraCrypt inside the bundle under the name v...Mounir IDRASSI1-0/+11
2014-11-08MacOSX : Update Fuse error message to display OSXFUSE requirement alongside M...Mounir IDRASSI1-1/+1
2014-11-08MacOSX : copy the help pdf into the VeraCrypt bundle during package creationMounir IDRASSI1-0/+1
2014-11-08MacOSX : correct the name of dmg file used by the rm commandMounir IDRASSI1-1/+1
2014-11-08MacOSX : correct compilation issue caused by system API deprication and use o...Mounir IDRASSI2-11/+5
2014-11-08MacOSX : Correct issue of compiling assembly files in both 32-bit and 64-bit ...Mounir IDRASSI1-0/+3
2014-11-08Linux GUI : hide the wipe choice during volume creation. Remove extra content...Mounir IDRASSI3-3/+5
2014-11-08Correct compilation error under Linux introduced in latest commitMounir IDRASSI1-1/+1
2014-11-08Linux/MacOSX port of manual selection of number of passes for volume header o...Mounir IDRASSI6-3/+210
2014-11-08Correct Linux compilation after removing legacy cryptographic code.Mounir IDRASSI1-1/+1
pan>> (new CipherTwofish ())); return l; } void Cipher::SetKey (const ConstBufferPtr &key) { if (key.Size() != GetKeySize ()) throw ParameterIncorrect (SRC_POS); if (!Initialized) ScheduledKey.Allocate (GetScheduledKeySize ()); SetCipherKey (key); Key.CopyFrom (key); Initialized = true; } #define TC_EXCEPTION(TYPE) TC_SERIALIZER_FACTORY_ADD(TYPE) #undef TC_EXCEPTION_NODECL #define TC_EXCEPTION_NODECL(TYPE) TC_SERIALIZER_FACTORY_ADD(TYPE) TC_SERIALIZER_FACTORY_ADD_EXCEPTION_SET (CipherException); // AES void CipherAES::Decrypt (byte *data) const { #ifdef TC_AES_HW_CPU if (IsHwSupportAvailable()) aes_hw_cpu_decrypt (ScheduledKey.Ptr() + sizeof (aes_encrypt_ctx), data); else #endif aes_decrypt (data, data, (aes_decrypt_ctx *) (ScheduledKey.Ptr() + sizeof (aes_encrypt_ctx))); } void CipherAES::DecryptBlocks (byte *data, size_t blockCount) const { if (!Initialized) throw NotInitialized (SRC_POS); #ifdef TC_AES_HW_CPU if ((blockCount & (32 - 1)) == 0 && IsHwSupportAvailable()) { while (blockCount > 0) { aes_hw_cpu_decrypt_32_blocks (ScheduledKey.Ptr() + sizeof (aes_encrypt_ctx), data); data += 32 * GetBlockSize(); blockCount -= 32; } } else #endif Cipher::DecryptBlocks (data, blockCount); } void CipherAES::Encrypt (byte *data) const { #ifdef TC_AES_HW_CPU if (IsHwSupportAvailable()) aes_hw_cpu_encrypt (ScheduledKey.Ptr(), data); else #endif aes_encrypt (data, data, (aes_encrypt_ctx *) ScheduledKey.Ptr()); } void CipherAES::EncryptBlocks (byte *data, size_t blockCount) const { if (!Initialized) throw NotInitialized (SRC_POS); #ifdef TC_AES_HW_CPU if ((blockCount & (32 - 1)) == 0 && IsHwSupportAvailable()) { while (blockCount > 0) { aes_hw_cpu_encrypt_32_blocks (ScheduledKey.Ptr(), data); data += 32 * GetBlockSize(); blockCount -= 32; } } else #endif Cipher::EncryptBlocks (data, blockCount); } size_t CipherAES::GetScheduledKeySize () const { return sizeof(aes_encrypt_ctx) + sizeof(aes_decrypt_ctx); } bool CipherAES::IsHwSupportAvailable () const { #ifdef TC_AES_HW_CPU static bool state = false; static bool stateValid = false; if (!stateValid) { state = is_aes_hw_cpu_supported() ? true : false; stateValid = true; } return state && HwSupportEnabled; #else return false; #endif } void CipherAES::SetCipherKey (const byte *key) { if (aes_encrypt_key256 (key, (aes_encrypt_ctx *) ScheduledKey.Ptr()) != EXIT_SUCCESS) throw CipherInitError (SRC_POS); if (aes_decrypt_key256 (key, (aes_decrypt_ctx *) (ScheduledKey.Ptr() + sizeof (aes_encrypt_ctx))) != EXIT_SUCCESS) throw CipherInitError (SRC_POS); } // Serpent void CipherSerpent::Decrypt (byte *data) const { serpent_decrypt (data, data, ScheduledKey); } void CipherSerpent::Encrypt (byte *data) const { serpent_encrypt (data, data, ScheduledKey); } size_t CipherSerpent::GetScheduledKeySize () const { return 140*4; } void CipherSerpent::SetCipherKey (const byte *key) { serpent_set_key (key, ScheduledKey); } // Twofish void CipherTwofish::Decrypt (byte *data) const { twofish_decrypt ((TwofishInstance *) ScheduledKey.Ptr(), (unsigned int *)data, (unsigned int *)data); } void CipherTwofish::Encrypt (byte *data) const { twofish_encrypt ((TwofishInstance *) ScheduledKey.Ptr(), (unsigned int *)data, (unsigned int *)data); } size_t CipherTwofish::GetScheduledKeySize () const { return TWOFISH_KS; } void CipherTwofish::SetCipherKey (const byte *key) { twofish_set_key ((TwofishInstance *) ScheduledKey.Ptr(), (unsigned int *) key); } bool Cipher::HwSupportEnabled = true; }