mlswg / mls-implementations

Coordination of implementation and interop specific details
110 stars 14 forks source link

Key Packages in Passive Client Test Vectors are expired #181

Closed Traderjoe95 closed 5 months ago

Traderjoe95 commented 6 months ago

I just noticed when running my test suite that the key packages in the passive-client-random.json and passive-client-handling-commit.json test vectors have expired this afternoon and are now rejected by my implementation.

Could you please take care to update them?

bifurcation commented 6 months ago

I'm a little split on this. Seems like we're balancing three mutually incompatible objectives:

  1. Have the tests pass
  2. Check that implementations correctly check lifetimes
  3. Avoid having to repeatedly update the test vectors

Personally, I would probably sacrifice (2), and just give the KeyPackages the perpetual (0x0000000000000000, 0xffffffffffffffff) lifetime.

@mulmarta you're the one with the ability to generate these vectors, what do you think?

mulmarta commented 6 months ago

I agree, I'll put up a PR with test vectors for the perpetual lifetime.

emersion commented 5 months ago

With this PR, the Ed25519 signature private keys in KeyPackages have a size of 64 bytes instead of the expected 32 bytes.

Truncating to 32 bytes makes the tests pass for me.