km
|
c892e6ca01
|
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 エンコード/デコード ✅
|
2026-03-26 21:03:27 +09:00 |
|
km
|
d34fed2048
|
X25519 ソフトウェア実装のテストスイート統合
新規ヘッダー:include/se050_x25519_sw.h
- WireGuard Ephemeral キー計算用 API 定義
- se050_x25519_sw_generate_keypair() - キーペア生成
- se050_x25519_sw_compute_shared_secret() - 共有秘密計算
- se050_x25519_sw_derive_public_key() - 公開鍵派生
- se050_x25519_sw_clamp() - 秘密鍵クランプ
- se050_x25519_sw_zeroize() - キー消去
ソース修正:src/se050_x25519_sw.c
- main() 関数をテストスイートに統合
- 独立した API 関数として再構成
- X25519_SW_TEST マクロでテストビルド可能
テスト追加:tests/test_x25519_ecdh.c
- テスト 7: ソフトウェアキーペア生成
- テスト 8: ECDH 対称性検証
- テスト 9: 公開鍵派生
- テスト 10: キーゼロ化
Makefile 更新:
- test_x25519_sw タスク追加
- make test で全テスト実行
注:RFC 7748 テストベクトル検証中(実装修正必要)
|
2026-03-26 16:12:55 +09:00 |
|
km
|
ff32a1052f
|
test_x25519_ecdh: 実際の SE050 ECDH 計算テストを追加
Test 5 を実装して、SE050 ハードウェア接続時の実際の ECDH 計算を検証:
実装内容:
- I2C HAL 初期化と SE050 接続
- Session/Keystore/RNG の初期化
- Alice と Bob の鍵ペア生成 (se050_x25519_generate_keypair)
- Alice: ECDH(Bob_pub, Alice_priv) 計算
- Bob: ECDH(Alice_pub, Bob_priv) 計算
- 共有秘密の一致確認
動作:
- SE050 未接続:SKIP (構造テストは Test 3 で完了)
- SE050 接続時:実際の ECDH 計算と共有秘密の一致を検証
エラーハンドリング:
- I2C 接続失敗: gracefully skip
- セッション作成失敗: gracefully skip
- 鍵生成失敗: fail
- ECDH 計算失敗: fail
- 共有秘密不一致: fail
テスト結果:
- SE050 未接続環境:6/6 PASS (Test 5 は SKIP)
- SE050 接続環境:実際の ECDH 計算を検証可能
|
2026-03-26 14:00:02 +09:00 |
|
km
|
f7b9581428
|
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 変数は将来の使用のために保持
(将来のハードウェアテストで活用予定)
|
2026-03-26 13:43:05 +09:00 |
|