HMAC-BLAKE2s, HKDF, TAI64N 実装追加
暗号プリミティブ実装: - HMAC-BLAKE2s (RFC 2104): BLAKE2s ベースの HMAC - HKDF-BLAKE2s (RFC 586): 鍵導出関数 - HKDF-Extract: 入力鍵から PRK を導出 - HKDF-Expand: PRK から必要な長さの鍵を導出 - TAI64N: WireGuard プロトコル層のタイムスタンプ(12 バイト) WireGuard での使用: - ハンドシェイク中の鍵導出チェーン - チェーン鍵 (Ck)・セッション鍵 (tk) の導出 - リプレイ防止用タイムスタンプ テスト: - test_hmac_blake2s: HMAC-BLAKE2s 検証 ✅ - test_hkdf_blake2s: HKDF 検証 ✅ - test_tai64n: TAI64N エンコード/デコード ✅
This commit is contained in:
@@ -15,6 +15,9 @@ SRCS = src/se050_i2c_hal.c \
|
||||
src/se050_x25519_sw.c \
|
||||
src/se050_chacha20_poly1305.c \
|
||||
src/se050_blake2s.c \
|
||||
src/se050_hmac_blake2s.c \
|
||||
src/se050_hkdf_blake2s.c \
|
||||
src/se050_tai64n.c \
|
||||
src/se050_scp03.c \
|
||||
src/se050_scp03_keys.c
|
||||
|
||||
@@ -34,6 +37,9 @@ TEST_KEY_ROTATION = test_key_rotation
|
||||
TEST_X25519_SW = test_x25519_sw
|
||||
TEST_CHACHA20 = test_chacha20_poly1305
|
||||
TEST_BLAKE2S = test_blake2s
|
||||
TEST_HMAC = test_hmac_blake2s
|
||||
TEST_HKDF = test_hkdf_blake2s
|
||||
TEST_TAI64N = test_tai64n
|
||||
|
||||
# Target library
|
||||
LIB = libse050_wireguard.a
|
||||
@@ -58,7 +64,7 @@ else
|
||||
endif
|
||||
|
||||
# Default target
|
||||
all: $(LIB) $(TEST_SCP03) $(TEST_HARDWARE) $(TEST_SE050) $(TEST_X25519) $(TEST_X25519_SW) $(TEST_CHACHA20) $(TEST_BLAKE2S)
|
||||
all: $(LIB) $(TEST_SCP03) $(TEST_HARDWARE) $(TEST_SE050) $(TEST_X25519) $(TEST_X25519_SW) $(TEST_CHACHA20) $(TEST_BLAKE2S) $(TEST_HMAC) $(TEST_HKDF) $(TEST_TAI64N)
|
||||
|
||||
# Create build directory
|
||||
build:
|
||||
@@ -93,11 +99,17 @@ $(TEST_KEY_ROTATION): tests/test_scp03_key_rotation.c $(LIB)
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -DSE050_CHIP=$(CHIP_ID) -o build/$@ $< build/$(LIB) $(LDFLAGS)
|
||||
|
||||
# Software X25519 test (standalone, no library needed)
|
||||
# Software X25519 test (includes source file)
|
||||
$(TEST_X25519_SW): src/se050_x25519_sw.c
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -DX25519_SW_TEST -o build/$@ $<
|
||||
|
||||
# Software X25519 test with library
|
||||
TEST_X25519_SW_LIB = test_x25519_sw_full
|
||||
$(TEST_X25519_SW_LIB): tests/test_x25519_sw.c src/se050_x25519_sw.c $(LIB)
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -o build/$@ tests/test_x25519_sw.c src/se050_x25519_sw.c build/$(LIB) $(LDFLAGS)
|
||||
|
||||
# ChaCha20-Poly1305 test
|
||||
$(TEST_CHACHA20): src/se050_chacha20_poly1305.c
|
||||
@mkdir -p build
|
||||
@@ -108,6 +120,21 @@ $(TEST_BLAKE2S): src/se050_blake2s.c
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -DBLAKE2S_TEST -o build/$@ $<
|
||||
|
||||
# HMAC-BLAKE2s test
|
||||
$(TEST_HMAC): tests/test_hmac_blake2s.c $(LIB)
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -o build/$@ $< build/$(LIB) $(LDFLAGS)
|
||||
|
||||
# HKDF test
|
||||
$(TEST_HKDF): tests/test_hkdf_blake2s.c $(LIB)
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -o build/$@ $< build/$(LIB) $(LDFLAGS)
|
||||
|
||||
# TAI64N test
|
||||
$(TEST_TAI64N): tests/test_tai64n.c $(LIB)
|
||||
@mkdir -p build
|
||||
$(CC) $(CFLAGS) -o build/$@ $< build/$(LIB) $(LDFLAGS)
|
||||
|
||||
# Compile source files
|
||||
src/%.o: src/%.c
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
Reference in New Issue
Block a user