GNUnet Messenger API: February 2025
Hi again,
My progress on the forward secrecy in the Messenger service of GNUnet is coming to a state where I have proper testing and results. You can find the current state of tests and benchmarks in a development branch of libgnunetchat which utilize a new ping tool for the Messenger service.
The tool sends a TEXT message into a selected chat room and waits for other clients using the same tool but acting as receiver to send a TAG message back choosing the TEXT message as target. As a result the sender will measure and print out the delay between sending and receiving the response. Like that it’s possible to measure latency added via the implemented forward secrecy as well as its key exchange mechanism.
The results so far are a mixed bag to be honest. Good news is that latency and general cost by symmetric encryption is negligible once the key for an epoch is exchanged. However bad news is that the amount of messages required for a proper key exchange as well as group formation scales in relation to N square if N is the amount of epoch members. So that’s far from ideal.

Therefore more work on optimization is needed for desirable usage. Otherwise I’ve written a test to verify whether the implemented forward secrecy actually solved the original problem of accessing messages without proper authorization as described in this issue. The test can run locally because a new configuration option in the Messenger service (MESSENGER_LOCAL_REQUEST) allows disabling local requests to only forward its response to the original requesting client.
I’ve also added another option (MESSENGER_GROUP_KEYS) to optionally disable group keys to compare benchmark results without the group formation in each epoch. Technically it does reduce the overall cost from key exchange when disabled at the moment but it doesn’t seem to be the main problem. Also the original idea behind groups was to optimize key exchange rather to slow it down. So something definitely wrong in my implementation.
That’s everything so far. I’m still confident I can complete this feature over the next coming months to get it merged upstream.
Kind regards,
Jacki