Commit Graph

72 Commits

Author SHA1 Message Date
Mounir IDRASSI
a64d054cdd
Linux/MacOSX: properly declare 64-bit constant integer values to avoid being truncated by compiler. 2017-06-24 01:11:16 +02:00
Mounir IDRASSI
0ebc26e125
Update IDRIX copyright year 2017-06-23 22:15:59 +02:00
Mounir IDRASSI
f27b37b73f
Modify Aes_hw_cpu.asm to use nasm syntax that is compatible with yasm. 2017-06-23 19:05:47 +02:00
Mounir IDRASSI
546d6cff44
Crypto: Add optimized SHA-512 and SHA-256 assembly implementations for x86_64 and x86. This improves speed by 30%. 2017-06-23 02:11:21 +02:00
Mounir IDRASSI
f3db66f37f
Windows: don't use AVX optimized Camellia in EFI bootloader until compatibility issues are investigated 2017-06-21 01:39:57 +02:00
Mounir IDRASSI
70097ecfe5
Crypto: Add optimized Camellia assembly implementation for x86_64 based on 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 01:39:55 +02:00
Mounir IDRASSI
78803703e6
Windows: fix compilation error of assembly files after latest changes on Linux. 2017-06-21 01:39:51 +02:00
Mounir IDRASSI
ba1fbb688e
Linux: fix executable stack in resulting binary which was caused by crypto assembly files missing the GNU-stack note. 2017-06-13 01:26:22 +02:00
kavsrf
79aa488106
cland static code analyzer fixes 2017-06-05 17:45:47 +02:00
Mounir IDRASSI
7c78c4f4ac
Windows Driver: fix "__chkstk" link error in debug build caused by some crypto functions using too much stack space for local variables. 2017-05-22 00:43:29 +02:00
Mounir IDRASSI
c0f46187de
Fix build error in Crypto/Whirpool.c when using LLVM Clang compiler by disabling inline assembly in this case (caused by http://llvm.org/bugs/show_bug.cgi?id=24232) 2017-01-12 18:13:24 +01:00
Mounir IDRASSI
5493de11d5
Windows: Enable Twofish optimized 64-bit assembly for UEFI bootloader since a pre-compiled object file was included to its build system. 2016-12-26 00:00:05 +01:00
Mounir IDRASSI
a0eadbd660
Windows: Don't use Twofish x64 assembly implementation for UEFI bootloader (for now, yasm is not integrated in EDKII framework). 2016-12-07 12:36:08 +01:00
Mounir IDRASSI
f10e26fc89
Windows Bootloader: fix compilation error following Twofish code changes. 2016-12-07 12:36:07 +01:00
Mounir IDRASSI
91e0de6145
Crypto: remove unnecessary alignment adjusting code in Serpent since the SIMD implementation works with unaligned data and gain negligible compared to memcpy overhead. 2016-12-07 12:36:05 +01:00
Mounir IDRASSI
263abeee3a
Crypto: Add optimized Twofish assembly implementation for x86_64. 2016-12-07 12:36:04 +01:00
Mounir IDRASSI
15b6c7d3b7
Implement detection of new CPU features: AVX2 and BMI2 2016-10-17 18:40:33 +02:00
Mounir IDRASSI
2edd12fe22
Optimize performance of Twofish C implementation. 2016-10-17 18:40:32 +02:00
Mounir IDRASSI
2a10640f42
Add missing fast Serpent implementation sources. 2016-10-17 18:40:25 +02:00
Mounir IDRASSI
e5a9e9239b
Crypto: Use SIMD optimized Serpent implementation from Botan. 2.5x speed gain factor. Update credits and copyrights notice. 2016-10-17 18:40:23 +02:00
Mounir IDRASSI
57ce7aab7b
Use properly aligned memory in code using Streebog hash implementation that uses SSE. 2016-10-17 18:40:19 +02:00
Mounir IDRASSI
b65eabe23d
Add test vectors for Kuznyechik and GOST89 (the later is deprecated) 2016-10-17 18:40:16 +02:00
Mounir IDRASSI
194b641ebd
Crypto: remove specific PBKDF2 optimization for block index encoding (except 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 18:40:13 +02:00
kavsrf
17eeaa43cf
GOST89 parameters swap (6.3)
Cached boot password added
2016-10-17 18:40:11 +02:00
Mounir IDRASSI
c6d5b30704
MacOSX: fix compiler warning about ALIGN macro being already defined 2016-08-17 22:18:01 +02:00
Mounir IDRASSI
a72c7bcd6a
Linux: fix compilation error on Streebog.c if SSE4.1 not enabled in compiler 2016-08-17 08:36:31 +02:00
Mounir IDRASSI
2780ac962e
Linux: fix various compilation issues under Linux. 2016-08-17 00:08:18 +02:00
Mounir IDRASSI
625259d226
Fix compilation error in Streebog code caused by latest changes. 2016-08-16 12:42:44 +02:00
Mounir IDRASSI
ce76957a10
Windows: Fix various issues detected by static analysis. 2016-08-16 10:04:07 +02:00
Mounir IDRASSI
d127393897
Windows: Add new crypto files to legacy VC++ 2008 project. 2016-08-15 01:09:15 +02:00
Alex
246233c402
Windows EFI Bootloader: modifications to prepare EFI system encryption support (common files with DcsBoot) 2016-08-15 01:09:12 +02:00
Mounir IDRASSI
e90e24b30b
Windows: Add support for Streebog (hash) and kuznyechik (encryption) 2016-08-15 01:09:11 +02:00
Mounir IDRASSI
0b2c8b09c6
Windows: Add Magma cipher (GOST-89) 2016-08-15 01:09:10 +02:00
Mounir IDRASSI
3fb2eedab8
Linux: Enable gcc AES-NI built-in functions and adapt Hyper-V AES detection code to gcc. 2016-08-08 00:11:22 +02:00
Mounir IDRASSI
fe31cf5b83
Crypto: Use Hyper-V AES-NI detection workaround when displaying AES hardware availability in GUI. 2016-07-29 22:40:44 +02:00
Mounir IDRASSI
3aaf5c7045
Windows: solve benchmark issue for Whirlpool which caused wrong numbers when a 1GB buffer is chosen. 2016-07-25 08:26:09 +02:00
Mounir IDRASSI
0fca588275
Crypto: Workaround for AES-NI issue under Hyper-V on Windows Server 2008 R2 which masks AES-NI from applications although it is available. 2016-07-24 23:48:07 +02:00
Mounir IDRASSI
c5b766969a
Windows:solve compilation error under VC++ 2008 by using extern "C" only when needed. 2016-06-20 12:10:08 +02:00
Mounir IDRASSI
00eb49443a
Crypto: Optimize 64-bit implementation of Whirlpool based on idea from compression function in Botan library. 2016-06-20 12:10:07 +02:00
Mounir IDRASSI
45617a3285
Linux/MacOSX: Solve compilation error linked to Camellia cipher addition. 2016-06-19 00:38:20 +02:00
Mounir IDRASSI
e4efd6820a
Windows Driver: add declaration of missing intrinsic _mm_setr_epi32 (to be used by upcoming implementation) 2016-06-18 01:44:48 +02:00
Mounir IDRASSI
42373efcfd
Windows: Use Visual C++ 2010 instead of Visual C++ 2008. 2016-06-17 15:50:47 +02:00
Mounir IDRASSI
6ae982cccf
Update intrinsic support and cpu detection. 2016-06-17 15:50:46 +02:00
Mounir IDRASSI
21d567f731
Crypto: make Serpent source code use the same rotl32/rotr32 primitives as the other files. 2016-06-17 15:50:40 +02:00
Mounir IDRASSI
76d3bc631e
Crypto: Add support for Japanese encryption standard Camellia, including for system encryption. 2016-06-02 00:12:00 +02:00
Mounir IDRASSI
3f806010d2
Windows: fix detection of Visual Studio version to activate assembly optimizations. 2016-05-24 07:34:13 +02:00
David Foerster
5f47d8b6f1 Fix space before tab 2016-05-10 22:24:06 +02:00
David Foerster
11716ed2da Remove trailing whitespace 2016-05-10 22:18:34 +02:00
David Foerster
fc37cc4a02 Normalize all line terminators 2016-05-10 20:20:14 +02:00
David Foerster
0c51cfa5f6 Reset bogus executable permissions 2016-05-01 23:29:43 +02:00