From 943ee76cb8e82b7605cbebf722ed5e9ea9acc89c Mon Sep 17 00:00:00 2001 From: Sergey Ilinykh Date: Sat, 23 May 2020 13:49:33 +0300 Subject: [PATCH] XEP-0414: Reverse SHOULD/MUST for Blake2b algorithms 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 --- xep-0414.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/xep-0414.xml b/xep-0414.xml index cb47a0b5..68769b04 100644 --- a/xep-0414.xml +++ b/xep-0414.xml @@ -20,6 +20,12 @@ hashrecs &jonaswielicki; + + 0.4.0 + 2020-05-23 + rion + Make Blake2b-256 SHOULD and Blake2b 512 MUST + 0.3.0 2019-08-19 @@ -151,12 +157,12 @@ BLAKE2b256 256 bits - MUST + SHOULD BLAKE2b512 512 bits - SHOULD + MUST

These recommendations ought to be reviewed yearly by the &COUNCIL;.