Commit Graph

168 Commits

Author SHA1 Message Date
Mounir IDRASSI
44a9f8bcff Remove SM4 support! 2025-05-18 18:31:39 +09:00
Mounir IDRASSI
09c635e592 Removed unused declarations in sm4.cpp 2025-05-11 18:13:00 +09:00
Mounir IDRASSI
b673901503 Move copyright and links to "AM Crypo", amcrypto.jp and veracrypt.jp 2025-05-11 16:02:20 +09:00
Mounir IDRASSI
7924f06e39 Initial support of SM4 cipher for normal volumes 2025-05-04 02:27:05 +09:00
pingwcy
dc12fb746f Fix the whirlpool for big-endian platform (#1529) 2025-04-21 13:55:49 +02:00
Xeonacid
c71fa14dc0 Enable AESNI only on x86 (#1479)
This helps building on riscv which does not have immintrin.h.
2025-01-30 09:53:19 +01:00
Mounir IDRASSI
247c98d954 Implement SHA256 acceleration on ARM64 platforms using CPU instructions 2025-01-26 16:21:13 +01:00
Mounir IDRASSI
cca323964e Linux: Add missing header in ARM64 build. Add .oarmv8crypto to .gitignore 2025-01-18 16:37:26 +01:00
Mounir IDRASSI
54bd819990 Windows/Linux/macOS: implement AES hardware support on ARM64 (ARMv8) 2025-01-17 00:58:54 +01:00
Mounir IDRASSI
1b35abb191 Increment version to 1.26.18. Update copyright date. Update Release Notes. Update Windows drivers. 2025-01-14 12:26:28 +01:00
Mounir IDRASSI
93868acfdd Windows Driver: Use system functions directly instead of dynamic loading since we are targeting Windows 10 2024-11-17 21:37:16 +01:00
Mounir IDRASSI
c86577fc0e Windows: remove 32-bit logic from the code since we support only 64-bit. remove 32-bit EFI bootloader files.
We also fix intermediary files folder for Portable and Setup projects
2024-11-16 01:05:15 +01:00
Mounir IDRASSI
62e956942a Windows: remove VS 2019 solution and project files since we migrated to VS 2022. 2024-11-15 18:36:19 +01:00
Mounir IDRASSI
fff9e7275a Windows: Fix delayload link warning about comdlg32.dll not used. Remove unused old project files 2024-11-15 17:51:06 +01:00
Mounir IDRASSI
6d1ad12755 Windows: move main project files and solution from VS 2010 to VS 2022. Delete unused files. 2024-11-15 15:50:32 +01:00
Mounir IDRASSI
214fbb5cbd Windows: Upgrade VS 2019 solution/projects to VS 2022. Remove Win32 configuration for driver and binaries.
Only setup remains 32-bit to be compatible with both x64 and arm64 Windows.
2024-11-15 14:22:45 +01:00
Mounir IDRASSI
43ad4f93eb Windows: Fix various compiler warnings 2024-11-15 00:41:07 +01:00
Mounir IDRASSI
c63b74bbfe Linux: Fix build error following latest code cleanup 2024-11-13 09:16:49 +01:00
Mounir IDRASSI
cb97351250 Windows: Remove support for 32-bit driver code. Set build target as Windows 10. Simplify code and fix all warnings in driver. 2024-11-13 02:08:51 +01:00
Mounir IDRASSI
a1ade61c59 Linux: Fix build error caused by changes for dynamic CPU SHA support detection 2024-11-11 00:04:46 +01:00
Mounir IDRASSI
262b745940 Linux: Fix detection of SHA CPU support on virtualized environment by trying SHA instruction 2024-11-10 23:36:57 +01:00
Mounir IDRASSI
04c747fb2d Add support for SHA-256 x86 instrinsic for enhance performance of PBKDF2-HMAC-SHA256 2024-11-10 21:08:00 +01:00
Mounir IDRASSI
4a8f068ba5 Windows: Add support for x86 and x64 build for driver and binaries using Visual Studio 2019
We also enable Control Flow Guard and Spectre Mitigation
2024-09-08 17:14:31 +02:00
Mounir IDRASSI
455a4f2176 Avoid conflict with C++17 features std::byte by using uint8 type instead of byte 2024-06-12 12:30:04 +02:00
RoboSchmied
c446773823 Fix: 7 typos (#1324)
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-04-10 23:50:05 +02:00
lealem47
9247ce1bb9 wolfCrypt as crypto backend for VeraCrypt (#1227)
* wolfCrypt as crypto backend for VeraCrypt

* Refactor to use EncryptionModeWolfCryptXTS class
2023-11-13 00:51:31 +01:00
Mounir IDRASSI
fba1943d87 Linux/macOS: Add explicit include of <sys/types.h> to define ssize_t
Some systems (e.g. Alpine Linux) seems to require this.
2023-08-06 10:28:42 +02:00
kovalev0
5a6b445f0e fix warnings and UB (#1164)
* Crypto: fix warning mismatched bound

../Crypto/cpu.c:67:32: warning: argument 2 of type 'uint32[4]'
{aka 'unsigned int[4]'} with mismatched bound [-Warray-parameter=]
   67 | int CpuId(uint32 input, uint32 output[4])
      |                         ~~~~~~~^~~~~~~~~
In file included from ../Crypto/cpu.c:3:
../Crypto/cpu.h:236:33: note: previously declared as 'uint32 *'
{aka 'unsigned int *'}
  236 | int CpuId(uint32 input, uint32 *output);

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Core/Unix: fix warning ignoring return value

Unix/CoreUnix.cpp: In member function 'virtual std::shared_ptr<VeraCrypt:\
:VolumeInfo> VeraCrypt::CoreUnix::MountVolume(VeraCrypt::MountOptions&)':
Unix/CoreUnix.cpp:682:55: warning: ignoring return value of
'int chown(const char*, __uid_t, __gid_t)' declared with attribute
'warn_unused_result' [-Wunused-result]
  682 |     chown (mountPoint.c_str(), GetRealUserId(), GetRealGroupId());
      |     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Main/Forms: fix warning cast to pointer from integer of different size

Forms/MainFrame.cpp: In member function 'void VeraCrypt::MainFrame:\
:UpdateVolumeList()':

Forms/MainFrame.cpp:1718:106: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
 1718 |       Gui->InsertToListCtrl (SlotListCtrl, ++prevItemIndex,
        fields, 0, (void *) volume->SlotNumber);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~

Forms/MainFrame.cpp:1753:114: warning: cast to pointer from integer of
different size [-Wint-to-pointer-cast]
 1753 |       Gui->InsertToListCtrl (SlotListCtrl, ++prevItemIndex,
        fields, 0, (void *) slotNumber);
      |            ^~~~~~~~~~~~~~~~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

* Crypto: fix undefined behavior signed integer overflow

In function 'twofish_set_key':
cc1: warning: iteration 4 invokes undefined behavior
[-Waggressive-loop-optimizations]
../Crypto/Twofish.c:626:23: note: within this loop
  626 |         for (i = 0; i != 40; i += 2)
      |                     ~~^~~~~

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>

---------

Signed-off-by: Vasiliy Kovalev <kovalev@altlinux.org>
Co-authored-by: Vasiliy Kovalev <kovalev@altlinux.org>
2023-08-04 23:49:11 +02:00
Mounir IDRASSI
34b00fa825 Windows: Fix compiler warnings 2023-07-18 08:38:02 +02:00
Mounir IDRASSI
d2efeaffe7 Correctly detect ARM builds when listing CPU features in headers 2023-06-30 00:34:16 +02:00
Mounir IDRASSI
4cc203e7b3 Crypto: Fix detection of SSSE3 intrinsics in compiler
We use correct define CRYPTOPP_BOOL_SSSE3_INTRINSICS_AVAILABLE
2023-06-13 23:26:02 +02:00
Mounir IDRASSI
40caafdb1b Windows: Add missing Blake2s source files to VS 2019 crypto project 2023-05-26 00:36:05 +02:00
Matteo Baccan
53b4019d1f Fixed a typo error (#929)
Hi

I have fixed a little typo error: a double semicolon at the end of one line

ciao
matteo
2022-08-21 17:56:31 +02:00
Mounir IDRASSI
762065917f Windows: Add various checks to address Coverity reported issues. 2022-03-26 21:15:11 +01:00
Mounir IDRASSI
05fd14006d Remove dead code from chacha_ECRYPT_encrypt_bytes (Coverity) 2022-03-26 21:14:57 +01:00
Mounir IDRASSI
a239789317 Add missing Blake2s source files 2022-03-21 01:18:55 +01:00
Mounir IDRASSI
36795a688f Implement support of Blake2s-256 hash algorithm and remove deprecated algorithms RIPEMD-160 and GOST89. 2022-03-08 00:29:26 +01:00
Mounir IDRASSI
d417b2806c Linux/FreeBSD: Enable building without AESNI support by setting environment 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.
2022-02-13 18:42:27 +01:00
Mounir IDRASSI
fb1a4893b8 Windows: Fix some VS static analyzed warnings 2021-08-30 00:26:57 +02:00
Mounir IDRASSI
d448713e61 MacOSX: Make AESNI availability linked to compiler target and not compilation host 2021-08-16 00:26:37 +02:00
Mounir IDRASSI
d3489f4771 Windows: Fix compilation error on ARM64 caused by definition of UINT64_MAX 2021-07-13 22:07:49 +02:00
Mounir IDRASSI
9881744c95 Windows: Add support for ARM64 platform (e.g. Microsoft Surface Pro X). System encryption still not implemented on ARM64 2021-01-02 01:16:31 +01:00
Mounir IDRASSI
b48d437c80 Windows Driver: Fix build error using Windows 10 WDK caused by name conflict for KeSaveExtendedProcessorState/KeRestoreExtendedProcessorState functions 2020-12-11 23:42:08 +01:00
Mounir IDRASSI
20e0247471 Crypto: small speed optimization of Streebog and removal of unused macro 2020-12-11 02:11:59 +01:00
Mounir IDRASSI
27a45037df Remove unused variable in Streebog implementation 2020-07-25 22:52:38 +02:00
Mounir IDRASSI
425e4e7d36 Enable FIPS mode in JitterEntropy random generator in order to let the function jent_read_entropy report failure if any of the continuous statistical tests fail. 2020-07-15 00:01:54 +02:00
Mounir IDRASSI
4137c5e15b Whirlpool: Remove unused "num" variable affectation in WHIRLPOOL_add 2020-06-26 01:22:10 +02:00
Mounir IDRASSI
7d1724e93b Crypto: Fix random crash in Streebog in 32-bit, caused by use of aligned SSE2 instructions _mm_load_si128. Now we use _mm_loadu_si128 instead which is not slower than _mm_load_si128 on recent CPUs 2020-06-25 01:32:39 +02:00
Mounir IDRASSI
0e3f4c40e3 Windows: remove duplicated function to detect AES-NI support in CPU 2020-06-19 01:28:07 +02:00
Mounir IDRASSI
31c4fbfc12 Fix wrong check on the define CRYPTOPP_BOOL_X64 2019-12-09 18:59:20 +01:00