Age | Commit message (Collapse) | Author | Files | Lines | |||
---|---|---|---|---|---|---|---|
2018-08-06 | crypto: cleaner code for Streebog carry bit handling and add comment about ↵ | Mounir IDRASSI | 1 | -5/+24 | |||
missing handling of overflow caused by carry bit. | |||||||
2017-11-27 | SIMD speed optimization for Kuznyechik cipher implementation (up to 2x ↵ | Mounir IDRASSI | 6 | -166/+9755 | |||
speedup). Based on https://github.com/aprelev/libgost15. | |||||||
2017-07-19 | Windows MBR bootloader: reduce required stack size for cascade bootloader by ↵ | Mounir IDRASSI | 1 | -0/*
Derived from source code of TrueCrypt 7.1a, which is
Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed
by the TrueCrypt License 3.0.
Modifications and additions to the original source code (contained in this file)
and all other portions of this file are Copyright (c) 2013-2017 IDRIX
and are governed by the Apache License 2.0 the full text of which is
contained in the file License.txt included in VeraCrypt binary and source
code distribution packages.
*/
#ifndef TC_HEADER_Platform_Finally
#define TC_HEADER_Platform_Finally
#include "PlatformBase.h"
// Execute code when leaving scope
#define finally_do(code) \
struct TC_JOIN(Finally,__LINE__) \
{ \
TC_JOIN(~Finally,__LINE__) () { try { code } catch (...) { } } \
} \
TC_UNUSED_VAR \
TC_JOIN(finally,__LINE__)
// Execute code with argument 'finally_arg' when leaving scope
#define finally_do_arg(argType, arg, code) \
struct TC_JOIN(Finally,__LINE__) \
{ \
TC_JOIN(Finally,__LINE__) (argType a) : finally_arg (a) { } \
TC_JOIN(~Finally,__LINE__) () { try { code } catch (...) { } } \
argType finally_arg; \
} \
TC_UNUSED_VAR \
TC_JOIN(finally,__LINE__) (arg)
#define finally_do_arg2(argType, arg, argType2, arg2, code) \
struct TC_JOIN(Finally,__LINE__) \
{ \
TC_JOIN(Finally,__LINE__) (argType a, argType2 a2) : finally_arg (a), finally_arg2 (a2) { } \
TC_JOIN(~Finally,__LINE__) () { try { code } catch (...) { } } \
argType finally_arg; \
argType2 finally_arg2; \
} \
TC_UNUSED_VAR \
TC_JOIN(finally,__LINE__) (arg, arg2)
#endif // TC_HEADER_Platform_Finally
| Mounir IDRASSI | 2 | -25/+25 |
changes done in MacOSX. | |||||||
2017-06-27 | MacOSX: various changes for assembly files build. Don't use 32-bit assembly ↵ | Mounir IDRASSI | 11 | -25/+19 | |||
code of SHA-512 since it is not compatible with PIE configuration of OSX compiler (absolute addressing used) | |||||||
2017-06-24 | Linux/MacOSX: properly declare 64-bit constant integer values to avoid being ↵ | Mounir IDRASSI | 1 | -28/+28 | |||
truncated by compiler. | |||||||
2017-06-23 | Update IDRIX copyright year | Mounir IDRASSI | 2 | -2/+2 | |||
2017-06-23 | Modify Aes_hw_cpu.asm to use nasm syntax that is compatible with yasm. | Mounir IDRASSI | 1 | -16/+16 | |||
2017-06-23 | Crypto: Add optimized SHA-512 and SHA-256 assembly implementations for ↵ | Mounir IDRASSI | 22 | -785/+5190 | |||
x86_64 and x86. This improves speed by 30%. | |||||||
2017-06-21 | Windows: don't use AVX optimized Camellia in EFI bootloader until ↵ | Mounir IDRASSI | 1 | -1/+4 | |||
compatibility issues are investigated | |||||||
2017-06-21 | Crypto: Add optimized Camellia assembly implementation for x86_64 based on ↵ | Mounir IDRASSI | 12 | -12/+2395 | |||
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. | |||||||
2017-06-21 | Windows: fix compilation error of assembly files after latest changes on Linux. | Mounir IDRASSI | 2 | -2/+4 | |||
2017-06-13 | Linux: fix executable stack in resulting binary which was caused by crypto ↵ | Mounir IDRASSI | 5 | -0/+48 | |||
assembly files missing the GNU-stack note. | |||||||
2017-06-05 | cland static code analyzer fixes | kavsrf | 1 | -3/+3 | |||
2017-05-22 | Windows Driver: fix "__chkstk" link error in debug build caused by some ↵ | Mounir IDRASSI | 3 | -4/+14 | |||
crypto functions using too much stack space for local variables. | |||||||
2017-01-12 | Fix build error in Crypto/Whirpool.c when using LLVM Clang compiler by ↵ | Mounir IDRASSI | 3 | -33/+45 | |||
disabling inline assembly in this case (caused by http://llvm.org/bugs/show_bug.cgi?id=24232) | |||||||
2016-12-26 | Windows: Enable Twofish optimized 64-bit assembly for UEFI bootloader since ↵ | Mounir IDRASSI | 2 | -6/+6 | |||
a pre-compiled object file was included to its build system. | |||||||
2016-12-07 | Windows: Don't use Twofish x64 assembly implementation for UEFI bootloader ↵ | Mounir IDRASSI | 2 | -7/+7 | |||
(for now, yasm is not integrated in EDKII framework). | |||||||
2016-12-07 | Windows Bootloader: fix compilation error following Twofish code changes. | Mounir IDRASSI | 1 | -3/+1 | |||
2016-12-07 | Crypto: remove unnecessary alignment adjusting code in Serpent since the ↵ | Mounir IDRASSI | 1 | -46/+2 | |||
SIMD implementation works with unaligned data and gain negligible compared to memcpy overhead. | |||||||
2016-12-07 | Crypto: Add optimized Twofish assembly implementation for x86_64. | Mounir IDRASSI | 8 | -421/+993 | |||
2016-10-17 | Implement detection of new CPU features: AVX2 and BMI2 | Mounir IDRASSI | 2 | -1/+7 | |||
2016-10-17 | Optimize performance of Twofish C implementation. | Mounir IDRASSI | 2 | -95/+463 | |||
2016-10-17 | Add missing fast Serpent implementation sources. | Mounir IDRASSI | 4 | -0/+1121 | |||
2016-10-17 | Crypto: Use SIMD optimized Serpent implementation from Botan. 2.5x speed ↵ | Mounir IDRASSI | 5 | -9/+64 | |||
gain factor. Update credits and copyrights notice. | |||||||
2016-10-17 | Use properly aligned memory in code using Streebog hash implementation that ↵ | Mounir IDRASSI | 2 | -2/+3 | |||
uses SSE. | |||||||
2016-10-17 | Add test vectors for Kuznyechik and GOST89 (the later is deprecated) | Mounir IDRASSI | 2 | -24/+20 | |||
2016-10-17 | Crypto: remove specific PBKDF2 optimization for block index encoding (except ↵ | Mounir IDRASSI | 1 | -0/+1 | |||
in 16-bit bootloader) in order to make code clearer and avoid bad usage in the future if this implementation is used to generate more bytes than today. | |||||||
2016-10-17 | GOST89 parameters swap (6.3) | kavsrf | 2 | -87/+90 | |||
Cached boot password added | |||||||
2016-08-17 | MacOSX: fix compiler warning about ALIGN macro being already defined | Mounir IDRASSI | 2 | -16/+16 | |||
2016-08-17 | Linux: fix compilation error on Streebog.c if SSE4.1 not enabled in compiler | Mounir IDRASSI | 2 | -2/+10 | |||
2016-08-17 | Linux: fix various compilation issues under Linux. | Mounir IDRASSI | 10 | -2321/+2349 | |||
2016-08-16 | Fix compilation error in Streebog code caused by latest changes. | Mounir IDRASSI | 2 | -2/+2 | |||
2016-08-16 | Windows: Fix various issues detected by static analysis. | Mounir IDRASSI | 4 | -19/+19 | |||
2016-08-15 | Windows: Add new crypto files to legacy VC++ 2008 project. | Mounir IDRASSI | 1 | -0/+62 | |||
2016-08-15 | Windows EFI Bootloader: modifications to prepare EFI system encryption ↵ | Alex | 7 | -33/+53 | |||
support (common files with DcsBoot) | |||||||
2016-08-15 | Windows: Add support for Streebog (hash) and kuznyechik (encryption) | Mounir IDRASSI | 7 | -0/+4923 | |||