While Blake2b is capable to produce digests of any size from 1 to 64 bytes, It's default mode is 64 bytes (512 bits) though.
Some libraries implement just default digest size.
* OpenSSL supports blake2s-256 and blake2b-512 (no blake2b-256)
* gcrypt supports both blake2b-256 and blake2b-512
* nss supports none of blake2b
* Botan - any digest size
* Java: https://github.com/alphazero/Blake2b - any digest size
* Go-lang: https://godoc.org/golang.org/x/crypto/blake2b - both blake2b-256 and blake2b-512
* Rust: https://docs.rs/blake2/0.8.1/blake2/ - any digest size, 512 by default
* JS: https://github.com/dcposch/blakejs - any digest size, 512 by default
Also various libraries based on openssl will provide just blake2b-512.
So it looks to be a preferable choice over blake2b-256
- Create a separate tag for sending the version number
- Include a reset token
- Remove the "additional measures" section and merge parts into "Requirements"
- Mandate that presences are always sent for affiliated users
The remark already talks about the outer elements as potential source
of xml:lang, but it does not explicitly mention the root <stream> open
element as further source. Better to spell this out explicitly to hint
implementors towards it.
This cleans up existing registrations, tweaks how the new registry works
to better match existing registries, and also adds registrations for the
namespaces registry and feature discovery registries.
It is not really spelled out that the submitting entity may omit
fields not mark as required by the processing entity. Even though the
existence of the <required/> flag on form fields is a strong hint
towards this, it is worth to explicitly state that.