riccardom
37ce7b4f6f
Collapse Driver and Manager in one.
...
- Have just one manager => one lock
- Session state is needed in driver to => we have it available now.
- Isomorphically align to rosenpass components and functionality
File Role rosenpass equivalent
kem.go primitive pure X25519MLKEM768 crypto.go/handshake
message.go Offer/Answer/Confirm + Encode/Decode messages.go
manager.go Manager stateful, single lock server logic
callbacks.go WGCallbackHandler (seam output) Handler
Transport (interfaccia) seam trasporto pluggable Conn
2026-08-04 19:17:44 +02:00
riccardom
a20ad0158e
[squash] isInitial and answered can be inferred without state variables
2026-08-04 19:17:44 +02:00
riccardom
cdcf58a14c
Manages convergence
2026-08-04 19:17:44 +02:00
riccardom
c3667140ea
Models reattempts
2026-08-04 19:17:44 +02:00
riccardom
ca356353b1
Reuse answer, don't calculate again
2026-08-04 19:17:44 +02:00
riccardom
3f15ec14c1
Adds driver to glue together manager and outside world
2026-08-04 19:17:44 +02:00
riccardom
4ad3517869
Defines event callbacks
2026-08-04 19:17:44 +02:00
riccardom
f67332f062
Admits possible errors on Encode
2026-08-04 19:17:44 +02:00
riccardom
87c610b44b
Bench key material boilerplate time/allocs
...
CGO_ENABLED=1 go test ./client/internal/pqkem/ -run '^$' -bench . -benchmem 2>&1 | grep -E "Benchmark|ns/op|PASS|ok" | head -20
BenchmarkX25519Keygen-14 33795 34966 ns/op 224 B/op 5 allocs/op
BenchmarkX25519ECDH-14 33855 33973 ns/op 32 B/op 1 allocs/op
BenchmarkMLKEMKeygen-14 21817 67778 ns/op 8200 B/op 2 allocs/op
BenchmarkMLKEMEncaps-14 29918 43235 ns/op 1216 B/op 2 allocs/op
BenchmarkMLKEMDecaps-14 26048 56291 ns/op 64 B/op 2 allocs/op
PASS
ok github.com/netbirdio/netbird/client/internal/pqkem 9.751s
Shell cwd was reset to /home/riccardo/Desktop/Personal/netbirdio/netbird
2026-08-04 19:17:44 +02:00
riccardom
a9946d7ffe
Pure mechanics of manager
2026-08-04 19:17:44 +02:00
riccardom
942e3a1924
Messages definition
2026-08-04 19:17:44 +02:00
riccardom
fd08e8aaf7
ML-KEM encapsulate/decapsulate module
2026-08-04 19:17:44 +02:00