Messages in this thread | | | From | "Jason A. Donenfeld" <> | Date | Fri, 14 Jan 2022 18:31:42 +0100 | Subject | Re: [PATCH v2 2/2] random: use BLAKE2s instead of SHA1 in extraction |
| |
On Fri, Jan 14, 2022 at 6:27 PM David Laight <David.Laight@aculab.com> wrote: > > From: Jason A. Donenfeld > > Sent: 11 January 2022 12:50 > > > > On Tue, Jan 11, 2022 at 1:28 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote: > > > If you're really quite concerned about m68k code size, I can probably > > > do some things to reduce that. For example, blake2s256_hmac is only > > > used by wireguard and it could probably be made local there. And with > > > some trivial loop re-rolling, I can shave off another 2300 bytes. And > > > I bet I can find a few other things too. The question is: how > > > important is this to you? > > > > And with another trick (see below), another extra 1000 bytes or so > > shaved off. Aside from moving blake2s256_hmac, I'm not really super > > enthusiastic about making these changes, but depending on how important > > this is to you, maybe we can make something work. There are probably > > additional possibilities too with the code. > > Quite clearly whoever wrote the unrolled loops needs their head examined. > It is extremely unlikely that a cpu has enough registers to implement it > effeciently.
Feel free to send a patch doing this, along with benchmarks. It doesn't seem impossible to me that re-rolling the rounds might be better on some platforms. The question is - is it really? And if so, which ones? And for what varieties of inputs? If you put some research into this, please do CC me on patches.
Jason
| |