cleanup: Remove debug output and verify API signatures

Verified:
1. se050_hmac_blake2s: (out, key, keylen, data, datalen) 
2. se050_chacha20_poly1305_encrypt: (ctx, nonce, plaintext, len, aad, aad_len, ciphertext, tag) 
3. wg_hkdf_2: T(1) -> sending_key, T(2) -> receiving_key 

All API signatures are correct.

Root cause of TAG mismatch:
- ChaCha20-Poly1305 encrypt/decrypt produce different tags
- Likely issue in Poly1305 MAC computation
- Need to compare encrypt/decrypt paths in detail

WireGuard tests: 28 passed, 4 failed (unchanged)
This commit is contained in:
km
2026-03-29 05:50:08 +09:00
parent 77c6dfbf1a
commit 7ef235d5b1
2 changed files with 6 additions and 10 deletions
+6 -3
View File
@@ -23,7 +23,6 @@
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
/* =========================================================================
* WireGuard Protocol Constants
@@ -172,6 +171,12 @@ int se050_wireguard_derive_keys(se050_wireguard_session_t *session,
/* Derive sending and receiving keys using HKDF
* WireGuard uses simplified HKDF with 32-byte PRK
*
* Key derivation differs for initiator vs responder:
* - Initiator: sending = T(1), receiving = T(2)
* - Responder: sending = T(2), receiving = T(1)
*
* For now, using initiator mode (can be extended with is_initiator flag)
*/
wg_hkdf_2(shared_secret, session->sending_key, session->receiving_key);
@@ -323,8 +328,6 @@ int se050_wireguard_decrypt_packet(se050_wireguard_session_t *session,
memzero_explicit(tag, 16);
if (ret < 0) {
fprintf(stderr, "DEBUG: decrypt failed, ciphertext_len=%zu, packet_len=%zu, aad_len=16\n",
ciphertext_len, packet_len);
return -1;
}