VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume
AgeCommit message (Collapse)AuthorFilesLines
2023-07-24Linux/macOS: Remove TrueCrypt supportMounir IDRASSI11-107/+54
2023-06-29EMV keyfile support: Overall code improvements and bug fixesMounir IDRASSI5-49/+59
2023-06-28Add EMV functionality (#1080)mmauv5-52/+53
* Add basic strcture needed for EMV implementation * Add demo EMV functionality with C code pasted in a very dirty and unsafe way. NOT FINAL * Refactor IccExtractor Structure * Fix Makefile * fix include file * move global variables from h to c * revert to memcpy * fix icc data recovery functions * Add EMV functionalities on windows * Make EMVToken structures like SecurityToken * Define constants instead of hard coded values * Token structures created with inheritance * refactor TokenKeyfile to use inherit. + polymor. * add Token.h + Token.cpp in modules in VS2010 * Add a comment at each use of SecurityToken class or objects * SecurityTokenKeyfilesDialog preparation * Implemennt GetAvailableTokens in Token class on windows * merge * up (patching for Windows) * foreach Token.cpp corrected * Display EMV keyfiles on first window in graphic interface * Add token to Windows UI * EMVToken selection on OKButton on Linux * Keyfile.cpp optimization * Move getKeyfileData in the token class * EMV::Token GetAvailableKeyfiles() base * Move getKeyfileData in the token class on unix * Remove test comments * Warnings resolved * RemoveeSecurityTokenLibraryNotInitialized exception if at least one emv token is detected * Adding new files * Remove old files and add the new version to the windows project * Change make_shared to shared_ptr constructor * IccExtractor integration working on linux * Throwing card not EMV execption * catch error when not EMV type in EMVToken::GetAvailableKeyfiles * Change types to compile on windows * list all keyfiles, security keyfiles and emv keyfiles in command line * Change type to be coherent and remove old todo comments * Remove todo comments * Change indentation and resolve a bug from previous commit * Use polymorphism for GetKeyfileData and add export option for EMVTokens on Linux * Linux : Allow to export EMV Tokens in command lines, Windows : Disable the delete button when EMV Keyfiles are selected * Remove SlotId from TokenInfo as it is already in Token * Correct errors on Linux * Disable delete option if one EMV Token is selected on Linux * Fix bug enabling delete button if nothing is selected * emv data used as reference then burnt * use of normal files in linux corrected * help updated * help updated for export functionnality * option EMV added to graphic interface but not yet working * Bug fix : Allow to use multiple EMV on windows * EMV Option added to UserPreferences * EMV Option working for Linux * EMV option added to Windows (not working yet) * [NOT TESTED] EMV option for Windows * Working EMV option on Windows * EMV Option for data extraction working for volume creation * EMV Option for data extraction working for Mount * EMV Option for data extraction working for mounting favorites volumes * EMV Option for extraction working for Changing volume password, Set Derivation Key Algorithm and Add or remove keyfile from volume * Windows : re-checking EMV Option when getting data * Removing error catches in the IccDataExtractor classe (It only throws error now). Changing GetPan signature to resemble the other functions signatures more * Changing EMV errors - Only throwing ICCExtractionException from outside of the ICC module. - Catching all TLVExceptions and PCSCExceptions to throw the right ICCExtractionException - Deleting APDU exceptions. * First version of the documentation * Adding function pointers for winscard library (but it crashes VeraCrypt) * Debugging function pointers * The import of the library on windows work as expected now * Reverting EMVToken.cpp changes used to test to library import * Searching for the System32 path instead of hard codding it * Fixing the bug were VeraCrypt crashes if there is no readers when "add Token files" is clicked * Winscard library not initialized in object constructor anymore to delay it after EMVOption check * Remove winscard lib from windows dependencies * Properly displaying errors * Adding a dot in Language.xml * Catching TLVException * Removing unused code * Remove unusefull comments * Trying to fix 0x1f error * Update IccDataExtractor.cpp * Delete History.xml * Fix get data without get pan * Cleanup code * changes for linux compilation but linking not working * error handling for linux * erasing emv data * Burn PAN * Burn PAN from memory * Uncomment selfcheck before merging master * burn corrected * EMV errors handling for Linux * EMV working for Linux CLI * Doc : Winscard Linux package and VeraCrypt versions --------- Co-authored-by: doriandu45 <d45.poubelle@gmail.com> Co-authored-by: red4game <redemgaiming@gmail.com> Co-authored-by: Brice.Namy <brice.namy@insa-rennes.fr> Co-authored-by: vocthor <pieceo108@gmail.com> Co-authored-by: vocthor <67202139+vocthor@users.noreply.github.com> Co-authored-by: Andrei COCAN <andrei.cocan@insa-rennes.fr> Co-authored-by: AndreiCocan <95496161+AndreiCocan@users.noreply.github.com> Co-authored-by: francoisLEROUX <francois3443@gmail.com>
2022-03-08Implement support of Blake2s-256 hash algorithm and remove deprecated ↵Mounir IDRASSI11-169/+60
algorithms RIPEMD-160 and GOST89.
2022-02-13Linux/FreeBSD: Enable building without AESNI support by setting environment ↵Mounir IDRASSI1-0/+4
variable DISABLE_AESNI to 1 during build or passing NOAESNI=1 to make command This comes following Github issue #892 and which should be solved thanks to this.
2021-08-16MacOSX: Make AESNI availability linked to compiler target and not ↵Mounir IDRASSI2-9/+3
compilation host
2021-07-14Linux/macOS: re-order PRF algorithms from faster to slower for quicker ↵Mounir IDRASSI1-2/+2
autodetection mounting when usual algorithms used
2020-06-28Linux/MacOSX: Erase sensitive memory explicitly instead of relying on the ↵Mounir IDRASSI1-1/+1
compiler not optimizing calls to method Memory::Erase
2020-06-26Linux/MacOSX: use standard std::shared_ptr instead of our custom ↵Mounir IDRASSI1-1/+3
implementation which is kept for compatibility with older compilers. We also introduce compatibility code for old compilers that don't define std::unique_ptr
2020-06-11Switch from auto_ptr to unique_ptr (#638)Christopher Bergqvist2-4/+2
2019-12-09Linux: fix NOASM compilation (#563) (#568)alt3r 3go1-8/+8
Signed-off-by: alt3r 3go <alt3r.3go@protonmail.com>
2019-11-15Debug build: fix ParameterIncorrect error on hash benchmark start (#542) (#544)alt3r 3go1-1/+1
2019-11-04Linux/MacOSX: Add switch to force the use of legacy maximum password length ↵Mounir IDRASSI1-0/+1
(64 UTF8 bytes) The switch is --legacy-password-maxlength
2019-10-24Linux/MacOSX: Better approach to avoid that jitterentropy code is optimized ↵Mounir IDRASSI1-1/+3
by the compiler
2019-10-23Linux/MacOSX: Add missing JitterEntropy implementationMounir IDRASSI1-0/+1
2019-10-06MacOSX: fix link error under Xcode 4.6.3VeraCrypt_1.24Mounir IDRASSI2-3/+7
2019-01-28Increase password maximum length to 128 bytes from 64 bytesMounir IDRASSI2-2/+3
2019-01-25Linux/MacOSX crypto: report XTS optimization implemented previously on WindowsMounir IDRASSI1-49/+90
c
2018-08-10Linux/MacOSX/FreeBSD: In TrueCrypt mode, reject Streebog as KDF since it is ↵mounir1-2/+2
not supported.
2018-06-14Linux/MacOSX/FreeBSD: better handling for mounting systen encrypted disks ↵Mounir IDRASSI1-16/+16
whose first sector has been overwritten (e.g. during windows repair).
2018-06-11Linux/MacOSX/FreeBSD: Support mounting partially encrypted system ↵Mounir IDRASSI2-3/+41
partitions/drivers in ReadOnly mode in order to allow troubleshooting in some cases.
2018-03-27Crypto: Add support for 5 new cascades of cipher algorithms ↵Mounir IDRASSI4-2/+233
(Camellia-Kuznyechik, Camellia-Serpent, Kuznyechik-AES, Kuznyechik-Serpent-Camellia and Kuznyechik-Twofish)
2017-11-27SIMD speed optimization for Kuznyechik cipher implementation (up to 2x ↵Mounir IDRASSI3-1/+50
speedup). Based on https://github.com/aprelev/libgost15.
2017-07-02Linux/MacOSX: use aligned memory for allocating hash context to avoid issues ↵Mounir IDRASSI1-5/+5
on some platforms especially for Streebog.
2017-06-27MacOSX: various changes for assembly files build. Don't use 32-bit assembly ↵Mounir IDRASSI1-14/+14
code of SHA-512 since it is not compatible with PIE configuration of OSX compiler (absolute addressing used)
2017-06-23Update IDRIX copyright yearMounir IDRASSI36-36/+36
2017-06-23Linux/MacOSX: use yasm instead of nasm for compiling all assembly files.Mounir IDRASSI1-15/+15
2017-06-23Linux/MacOSX: fix missing namespace in call to Cipher::IsHwSupportEnabledMounir IDRASSI1-1/+1
2017-06-23Crypto: Add optimized SHA-512 and SHA-256 assembly implementations for ↵Mounir IDRASSI1-0/+44
x86_64 and x86. This improves speed by 30%.
2017-06-21Crypto: Add optimized Camellia assembly implementation for x86_64 based on ↵Mounir IDRASSI3-1/+61
work by Jussi Kivilinna (https://github.com/jkivilin/supercop-blockciphers). This improve speed by a factor of 2.5 when AES-NI supported by CPU and by 30% if AES-NI not supported.
2016-12-26Linux & MacOSX: automatically check TrueCryptMode in password dialog when ↵Mounir IDRASSI1-0/+27
selecting a container file that has the .tc file extension
2016-12-26MacOSX: use Yasm to build Twofish 64-bit assembly code on OSX since native ↵Mounir IDRASSI1-1/+1
compiler doesn't support GAS syntax
2016-12-07Crypto: Add optimized Twofish assembly implementation for x86_64.Mounir IDRASSI3-1/+40
2016-10-17Crypto: Use SIMD optimized Serpent implementation from Botan. 2.5x speed ↵Mounir IDRASSI3-4/+54
gain factor. Update credits and copyrights notice.
2016-10-17Add test vectors for Kuznyechik and GOST89 (the later is deprecated)Mounir IDRASSI4-3/+141
2016-10-17Crypto: deprecate GOST89 so that it can't be used to create new volumes. ↵Mounir IDRASSI1-1/+1
Keep only for existing volumes.
2016-08-17Linux/MacOSX: Add Streebog to the list of supported hash algorithms used for ↵Mounir IDRASSI1-0/+1
key derivation.
2016-08-17Linux: fix various compilation issues under Linux.Mounir IDRASSI2-3/+3
2016-08-15Windows: Add support for Streebog (hash) and kuznyechik (encryption)Mounir IDRASSI11-1/+188
2016-07-29Crypto: Use Hyper-V AES-NI detection workaround when displaying AES hardware ↵Mounir IDRASSI1-1/+2
availability in GUI.
2016-07-25Windows: solve benchmark issue for Whirlpool which caused wrong numbers when ↵Mounir IDRASSI1-1/+1
a 1GB buffer is chosen.
2016-06-19Linux/MacOSX: Solve compilation error linked to Camellia cipher addition.Mounir IDRASSI2-3/+4
2016-06-02Crypto: Add support for Japanese encryption standard Camellia, including for ↵Mounir IDRASSI6-1/+102
system encryption.
2016-05-10Remove trailing whitespaceDavid Foerster36-157/+157
2016-01-20Copyright: update dates to include 2016.Mounir IDRASSI36-36/+36
2015-12-31Cryptography: Optimize Whirlpool implementation by using public domain ↵Mounir IDRASSI1-0/+1
assembly code developed by Wei Dai
2015-11-30Linux/MacOSX: Implement Unicode passwords suppport. Make validation of ↵Mounir IDRASSI3-101/+10
parameters in GUI more robust.
2015-08-06Update license information to reflect the use of a dual license Apache 2.0 ↵Mounir IDRASSI36-170/+314
and TrueCrypt 3.0.
2015-07-25Linux/MacOSX: remove unused variable.Mounir IDRASSI1-2/+0
2015-07-11Linux: Solve compilation warning (unused variables, pointer cast)Mounir IDRASSI1-3/+0