feat: add Jasmin assembly integration for crypto acceleration
- Integrated `zupt_mac_verify_ct` in `zupt_decrypt_buffer()` to replace C XOR loop for HMAC-SHA256 - Integrated `zupt_ct_select_32` in `zupt_mlkem768_decaps()` to replace C `cmov()` for FO transformation - Added `include/zupt_jasmin.h` with extern declarations and ABI docs - Added `#ifdef ZUPT_USE_JASMIN` guards with clean C fallbacks in `zupt_crypto.c` and `zupt_mlkem.c` - Makefile now auto-detects `jasmin/*.s`, assembles and links with `-DZUPT_USE_JASMIN` Closes #3
This commit is contained in:
parent
cea317653e
commit
06c877ec86
43 changed files with 1913 additions and 546 deletions
16
CMakeLists.txt
Normal file
16
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
cmake_minimum_required(VERSION 3.10)
|
||||
project(zupt VERSION 0.4.0 LANGUAGES C)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||
set(SOURCES
|
||||
src/zupt_main.c src/zupt_format.c src/zupt_lz.c src/zupt_lzh.c src/zupt_xxh.c
|
||||
src/zupt_sha256.c src/zupt_aes256.c src/zupt_crypto.c src/zupt_predict.c)
|
||||
add_executable(zupt ${SOURCES})
|
||||
target_include_directories(zupt PRIVATE include)
|
||||
target_link_libraries(zupt m)
|
||||
if(MSVC)
|
||||
target_compile_options(zupt PRIVATE /W4 /D_CRT_SECURE_NO_WARNINGS)
|
||||
else()
|
||||
target_compile_options(zupt PRIVATE -Wall -Wextra -O2)
|
||||
endif()
|
||||
install(TARGETS zupt DESTINATION bin)
|
||||
Loading…
Reference in a new issue