ChaCha20-Poly1305 AEAD ソフトウェア実装追加
新規ヘッダー:include/se050_chacha20_poly1305.h - ChaCha20 core: quarter_round, block, stream cipher - Poly1305 MAC - ChaCha20-Poly1305 AEAD (encrypt/decrypt) - WireGuard 専用関数 (wg_encrypt/wg_decrypt) 新規ソース:src/se050_chacha20_poly1305.c - RFC 7539 準拠実装 - ESP32 32 ビット最適化(ESP_PLATFORM 検出) - 定数時間比較(crypto_memneq) - memzero_explicit による安全な消去 API: - se050_chacha20_poly1305_init() - se050_chacha20_poly1305_encrypt() - se050_chacha20_poly1305_decrypt() - se050_wireguard_encrypt() - se050_wireguard_decrypt() ESP32 最適化: - 32 ビット演算優先 Poly1305 - 64 ビット演算最小化 テスト: - RFC 7539 テストベクトル内蔵(CHACHA20_POLY1305_TEST) - 実装修正必要(タグ計算ロジック) Makefile 更新: - test_chacha20 タスク追加
This commit is contained in:
@@ -13,6 +13,7 @@ SRCS = src/se050_i2c_hal.c \
|
||||
src/se050_rng.c \
|
||||
src/se050_x25519.c \
|
||||
src/se050_x25519_sw.c \
|
||||
src/se050_chacha20_poly1305.c \
|
||||
src/se050_scp03.c \
|
||||
src/se050_scp03_keys.c
|
||||
|
||||
@@ -30,6 +31,7 @@ TEST_SE050 = test_scp03_se050
|
||||
TEST_X25519 = test_x25519_ecdh
|
||||
TEST_KEY_ROTATION = test_key_rotation
|
||||
TEST_X25519_SW = test_x25519_sw
|
||||
TEST_CHACHA20 = test_chacha20_poly1305
|
||||
|
||||
# Target library
|
||||
LIB = libse050_wireguard.a
|
||||
@@ -54,7 +56,7 @@ else
|
||||
endif
|
||||
|
||||
# Default target
|
||||
all: $(LIB) $(TEST_SCP03) $(TEST_HARDWARE) $(TEST_SE050) $(TEST_X25519) $(TEST_X25519_SW)
|
||||
all: $(LIB) $(TEST_SCP03) $(TEST_HARDWARE) $(TEST_SE050) $(TEST_X25519) $(TEST_X25519_SW) $(TEST_CHACHA20)
|
||||
|
||||
# Create build directory
|
||||
build:
|
||||
@@ -94,6 +96,11 @@ $(TEST_X25519_SW): src/se050_x25519_sw.c
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -DX25519_SW_TEST -o build/$@ $<
|
||||
|
||||
# ChaCha20-Poly1305 test
|
||||
$(TEST_CHACHA20): src/se050_chacha20_poly1305.c
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -DCHACHA20_POLY1305_TEST -o build/$@ $<
|
||||
|
||||
# Compile source files
|
||||
src/%.o: src/%.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
@@ -116,6 +123,9 @@ test: all
|
||||
@echo "Running Software X25519 tests..."
|
||||
./build/$(TEST_X25519_SW)
|
||||
@echo ""
|
||||
@echo "Running ChaCha20-Poly1305 tests..."
|
||||
./build/$(TEST_CHACHA20)
|
||||
@echo ""
|
||||
@echo "Note: To run SE050 hardware tests, use:"
|
||||
@echo " make SE050_CHIP=SE050C1 test_se050"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user