Richard Barnes

Results 52 issues of Richard Barnes

The documentation in `src` is really helpful, but the tests are where things get put into practice. It would be helpful to have comments in the tests and around `TestCluster`...

Adds an implementation of the tree math functions described in the MLS spec, and test vector construction/verification according to the [spec in the mls-implementations repo](https://github.com/mlswg/mls-implementations/blob/master/test-vectors.md). Note that `test-vectors` and `tree-math`...

This largely relies on `go-hpke`, with a few added nuances for MLS (signature, specifics of derivations).

Right now, our APIs use a mix of pointers and direct object references. We should be more uniform in our approach here. Suggested guidelines: * For structs representing messages (e.g.,...

There are a bunch of `panic` statements scattered around right now. These should probably mostly be replaced with error return values, so that we only panic when it is really...

The current API is an uncomfortable mix of private (lower case) and public (upper case) APIs. "Uncomfortable" because, for example, there are public functions and struct fields that use private...

Since SIKE is now broken, we need a better example PQ integration.

WIP https://datatracker.ietf.org/doc/draft-kiefer-mls-light/ * [X] Convert TreeKEMPublicKey storage from array to map, so we can store partial trees * [ ] Allow creation / validation of tree slices * [ ]...

Right now, calling `State::handle()` with a Proposal validates the proposal and adds it to a queue internal to the State object. This is problematic for a couple of reasons. It...

Currently, we can validate passive client tests, but not generate them. This PR adds logic to generate passive client tests for a few scenarios: * Join via Welcome * Join...