[Babel-users] [babel] rather than ripemd160...

Dave Taht dave.taht at gmail.com
Mon Nov 26 13:46:36 GMT 2018


On Mon, Nov 26, 2018 at 5:24 AM Toke Høiland-Jørgensen <toke at toke.dk> wrote:
>
> Juliusz Chroboczek <jch at irif.fr> writes:
>
> >> Anyway, the default hash function is sha256 in the hmac-challenge
> >> branch. I approve, there's hardware support for it, and if someone
> >> breaks it, civilization collapses, so an alternate hmac is a "good to
> >> have", and what's in that branch... is ripemd160.
> >
> > From a standardisation point of view:
> >
> >   - HMAC-SHA256 is Mandatory to Implement;
> >   - implementation may implement other MAC algorithms, and since no
> >     algorithm identifier is carried on the wire, doing that requires no
> >     further standardisation action.
> >
> > From the point of view of the implementation, we need to clean up this
> > code to remove the dependency on OpenSSL.  When we do that, we'll probably
> > remove the HMAC-RIPEMD160 code, and leave just SHA256.  (Don't hold your
> > breath, though -- it's exam season for both the girls and myself.)
> >
> > If we add another HMAC algorithm, we'll want to do it in agreement
> > with Toke, so that both implementations implement the same set of HMAC
> > algorithms.
>
> Bird already supports HMAC using MD5, SHA1, SHA256, SHA384 and SHA512,
> which is inherited by the Babel implementation. I am planning to add
> blake2s to that when I get around to revising the HMAC patch (see
> below).
>
> >> Both blake and siphash seem like a superior choice for an alternate hmac
> >> function to ripemd160. In particular blake is subject of its own RFC,
> >> and comes in several clean highly optimized versions for x86 and arm
> >> architectures.
> >
> > I hold no opinion on that at the current time, I'd need to consult my
> > colleagues.
>
> I happen to share Dave's concern about sha256. And basically all the
> crypto people I've been talking to have been of the opinion that blake2s
> is the way to go for low-powered devices. So I am definitely planning to
> add an implementation of that to Bird, and may even make it the default
> for Babel.

Well, I'd like to benchmark blake2b some also. The trendline IS
towards 64bits and mips is dying...

What's their definition of "low powered"? While blake2s is claimed to
work on 8 bit boxes, I don't see any of those on the internet. I
certainly see (as examples)
the esp32 (https://en.wikipedia.org/wiki/ESP32) as something that
would be cool to run babel on. (that one claims sha2 accelleration
also).

>
> I'm not sure if we *can* make it MTI in the spec as well (does it need

I'd like two hmacs to be MTI. As for the default... benchmarks on
cheap hardware are needed.

> to be defined by a standards track RFC for us to do that?), but if we
> can, I think we should seriously consider it...

I like having a backup plan so that in the rubble of civilization for
sha256's breakage, we can at least route packets.

https://tools.ietf.org/html/rfc7693 is informational. Is that good enough?



>
> -Toke



-- 

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740



More information about the Babel-users mailing list