Re: [babel] Babel-MAC: Blake2s is 128-bits by default

Juliusz Chroboczek <> Sun, 15 November 2020 17:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 719CB3A011B for <>; Sun, 15 Nov 2020 09:55:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id SSJBvFUeVzCI for <>; Sun, 15 Nov 2020 09:55:08 -0800 (PST)
Received: from ( [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4E2333A010D for <>; Sun, 15 Nov 2020 09:55:07 -0800 (PST)
Received: from ( []) by (8.14.4/8.14.4/relay1/82085) with ESMTP id 0AFHt4iE014355; Sun, 15 Nov 2020 18:55:05 +0100
Received: from (localhost []) by (Postfix) with ESMTP id D4491B515E; Sun, 15 Nov 2020 18:55:04 +0100 (CET)
X-Virus-Scanned: amavisd-new at
Received: from ([]) by ( []) (amavisd-new, port 10023) with ESMTP id flXPbd3l1Sb6; Sun, 15 Nov 2020 18:55:03 +0100 (CET)
Received: from ( []) (Authenticated sender: jch) by (Postfix) with ESMTPSA id 05DE5B515B; Sun, 15 Nov 2020 18:55:00 +0100 (CET)
Date: Sun, 15 Nov 2020 18:54:56 +0100
Message-ID: <>
From: Juliusz Chroboczek <>
Cc: Valery Smyslov <>
In-Reply-To: <>
References: <> <>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 ( []); Sun, 15 Nov 2020 18:55:05 +0100 (CET)
X-Miltered: at korolev with ID 5FB16B78.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 5FB16B78.000 from<>
X-j-chkmail-Score: MSGID : 5FB16B78.000 on : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
Archived-At: <>
Subject: Re: [babel] Babel-MAC: Blake2s is 128-bits by default
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 15 Nov 2020 17:55:10 -0000

After reading your replies, and thinking it over carefully, I disagree
with the apparent consensus.  I think Blake2s in Babel-MAC should use
128-bit keys, as in the initial implementation.  Please hear me out.

Toke and Dave originally suggested adding Blake2s to Babel-HMAC for two

  - it is more computationally lightweight on platforms that don't
    implement SHA-256 in hardware;
  - it may serve as a fallback if SHA2 is ever broken.

While I am still not quite convinced by these arguments, I've agreed to
add the SHOULD Blake2s and to implement Blake2s for the following reasons:

  - it serves as a good example of adding a new algorithm to Babel-MAC;
  - with 128-bit signatures, it is useful on low-rate networks, which
    Babel is commonly used with.

For these reasons, we implemented Blake2s with 128-bit signatures.
Unfortunately, some confusion ensued, Toke implemented Blake2s with
256-bit signatures, Antonin changed our implementation to interoperate
with Toke's (without discussing the issue with me beforehand), hence the
current situation.

If Blake2s uses 256-bit signatures, then I see little convincing reason to
keep it around in addition to SHA-256.  For this reason, I recommend the
following course of action:

  1. Toke agrees to switch to 128-bit Blake2s signatures;
  2. we discard Antonin's branch (which is just a private branch), and do
     128-bit Blake2s signatures instead;
  3. during AUTH48, I make the clarification that the SHOULD implement
     applies to 128-bit signatures.

Two more points.  First, under no circumstances will I go against WG
consensus on this point -- if the WG strongly believes that the SHOULD
applies to 256-bit signatures, I will naturally follow the consensus.
Second, Babel-HMAC is an extensible protocol, so even if the RFC ends up
recommending n-bit signatures, nothing prevents a given implementation
from implementing m-bit signatures in addition to the RFC-recommended
n-bit signatures.

Sorry again for the confusion.

-- Juliusz