riccardom
46d4e4585d
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-07-27 17:09:35 +02:00
riccardom
9edf2f4dea
[squash] isInitial and answered can be inferred without state variables
2026-07-27 17:09:35 +02:00
riccardom
43d43e2a97
Manages convergence
2026-07-27 17:09:35 +02:00
riccardom
bca463d4c8
Models reattempts
2026-07-27 17:09:35 +02:00
riccardom
3ad12f0e58
Reuse answer, don't calculate again
2026-07-27 17:09:35 +02:00
riccardom
85df3abf0f
Adds driver to glue together manager and outside world
2026-07-27 17:09:35 +02:00
riccardom
34f5756117
Defines event callbacks
2026-07-27 17:09:35 +02:00
riccardom
b728542d40
Admits possible errors on Encode
2026-07-27 17:09:35 +02:00
riccardom
b95e1aafe3
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-07-27 17:09:35 +02:00
riccardom
35ec435658
Pure mechanics of manager
2026-07-27 17:09:35 +02:00
riccardom
49922a8831
Messages definition
2026-07-27 17:09:35 +02:00
riccardom
3e7f52d80b
ML-KEM encapsulate/decapsulate module
2026-07-27 17:09:35 +02:00