Files
serai/message-queue
Luke Parker 90bc364f9f Replace Ciphersuite::hash_to_F
The prior-present `Ciphersuite::hash_to_F` was a sin. Implementations took a
DST, yet were not require to securely handle it. It was also biased towards the
requirements of `modular-frost` as `ciphersuite` was originally written all
those years ago, when `modular-frost` had needs exceeding what `ff`, `group`
satisfied.

Now, the hash is bound to produce an output which can be converted to a scalar
with `ff::FromUniformBytes`. A new `hash_to_F`, which accepts a single argument
of the value to hash (removing the potential to insecurely handle the DST by
removing the DST entirely). Due to `digest` yielding a `GenericArray`, yet
`FromUniformBytes` taking a `const usize`, the `ciphersuite` crate now defines
a `FromUniformBytes` trait taking an array (then implemented for all satisfiers
of `ff::FromUniformBytes`). In order to get the array type from the
`GenericArray`, the output of the hash, `digest` is updated to the `0.11`
release candidate which moves to `flexible-array` which solves that problem.

The existing, specific `hash_to_F` functions have been moved to `modular-frost`
as necessary.

`flexible-array` itself is patched to a fork due to
https://github.com/RustCrypto/hybrid-array/issues/131.
2025-08-29 05:21:43 -04:00
..
2025-08-29 05:21:43 -04:00
2025-08-26 14:13:00 -04:00
2025-08-25 10:06:35 -04:00
2023-07-01 08:53:46 -04:00

Message Log

A message log for various services to communicate over.

Each message is checked to be of the claimed origin. Then, it's added to the recipient's message queue. This queue is sequentially handled, FIFO, only dropping messages once the recipient acknowledges it's been handled.

A client which publishes an event specifies its own ID for the publication. If multiple publications with the same ID occur, they are assumed repeats and dropped.

This library always panics as its error-cases should be unreachable, given its intranet status.