X25519 ECDH テストスイートの追加

新規テストファイル: tests/test_x25519_ecdh.c

テスト項目:
1. KeyPair 構造検証 (32 バイト確認)
2. X25519 キークランプ関数テスト
3. ダミー鍵ペア互換性確認
4. RFC 7748 テストベクトル読み込み
5. クロスコンパチビリティ確認
6. キーマテリアルセキュリティ (memzero_explicit)

ダミー鍵ペア:
- Alice: DUMMY_SK_A / DUMMY_PK_A
- Bob: DUMMY_SK_B / DUMMY_PK_B

RFC 7748 テストベクトルも含まれており、
SE050 ハードウェア実装の検証に使用可能。

ビルドシステム:
- Makefile に test_x25519_ecdh タスク追加
- make test で自動実行

警告: RFC7748 変数は将来の使用のために保持
(将来のハードウェアテストで活用予定)
This commit is contained in:
km
2026-03-26 13:43:05 +09:00
parent ba444679ab
commit f7b9581428
3 changed files with 274 additions and 5 deletions
+14 -5
View File
@@ -22,13 +22,14 @@ OBJS = $(SRCS:.c=.o)
TEST_SRCS = tests/test_scp03.c tests/test_scp03_hardware.c
TEST_OBJS = $(TEST_SRCS:.c=.o)
# Target library
LIB = libse050_wireguard.a
# Test executables
TEST_SCP03 = test_scp03
TEST_HARDWARE = test_scp03_hardware
TEST_SE050 = test_scp03_se050
TEST_X25519 = test_x25519_ecdh
# Target library
LIB = libse050_wireguard.a
# Chip selection (default: SE050C0)
SE050_CHIP ?= SE050C0
@@ -48,7 +49,7 @@ else
endif
# Default target
all: $(LIB) $(TEST_SCP03) $(TEST_HARDWARE) $(TEST_SE050)
all: $(LIB) $(TEST_SCP03) $(TEST_HARDWARE) $(TEST_SE050) $(TEST_X25519)
# Create build directory
build:
@@ -73,6 +74,11 @@ $(TEST_SE050): tests/test_scp03_se050.c $(LIB)
@mkdir -p build
$(CC) $(CFLAGS) -DSE050_CHIP=$(CHIP_ID) -o build/$@ $< build/$(LIB) $(LDFLAGS)
# X25519 ECDH test
$(TEST_X25519): tests/test_x25519_ecdh.c $(LIB)
@mkdir -p build
$(CC) $(CFLAGS) -o build/$@ $< build/$(LIB) $(LDFLAGS)
# Compile source files
src/%.o: src/%.c
$(CC) $(CFLAGS) -c $< -o $@
@@ -89,8 +95,11 @@ test: all
@echo "Running SCP03 hardware tests (mock)..."
./build/$(TEST_HARDWARE)
@echo ""
@echo "Running X25519 ECDH tests..."
./build/$(TEST_X25519)
@echo ""
@echo "Note: To run SE050 hardware tests, use:"
@echo " make SE050_CHIP=SE050C0 test_se050"
@echo " make SE050_CHIP=SE050C1 test_se050"
# Run SE050 hardware tests (requires actual hardware)
test_se050: $(TEST_SE050)