Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Apr 2017 13:13:22 +0100
From:      Mark R V Murray <markm@FreeBSD.org>
To:        rgrimes@FreeBSD.org
Cc:        src-committers <src-committers@FreeBSD.org>, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org
Subject:   Re: svn commit: r317015 - in head/sys: boot/forth conf crypto/chacha20 dev/random libkern sys
Message-ID:  <60A59E27-47CD-4552-8265-0E60C09E1966@FreeBSD.org>
In-Reply-To: <201704161207.v3GC7adp016485@pdx.rh.CN85.dnsmgr.net>
References:  <201704161207.v3GC7adp016485@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help

> On 16 Apr 2017, at 13:07, Rodney W. Grimes =
<freebsd@pdx.rh.CN85.dnsmgr.net> wrote:
>=20
>>> =46rom replacing the rc4 algorithm with chacha20, this chalice has =
now
>> become poisoned with the job of redesigning the entire structure of
>> kernel random-number generation.
>>=20
>> This may take a while, and I'm already behind on RNG jobs.
>=20
> I do not see how this is a complete redesign of RNG, and if it is
> such a heart ache to change algorithms in this code then it probably
> should be redesigned?

The RC4 algorithm is standard. Making the alogorithm pluggable means =
more
code, more testing and more time (time which I am rather short of).

> Also you can always compile in a module, you can not compile out
> a 'standard' file.
>=20
> For now could you just add
> 	options chacha #Required by arc4random, do not remove
> to your kernel and move on?  For me this would be an acceptable
> developement, even releasable, way to proceed while the more
> complex issue of how to make the kernel RNG use plagable lkm
> lower layers.

It would have to be unconditionally added to *all* kernels. Could be
done, I guess.

RC4 has been standard for many years.

>>> I am sure with careful though we can find a way to allow arc4random
>>> to use a pointer that knows if the chacha code is avaliable, and use
>>> it if so, and if not fall back to something else, or punt with an
>>> error return.
>>=20
>> Error return is out of the question; arc4random() is pretty =
fundamental.
>> The alternative is to return no or fake random numbers, which rather
>> misses the point of what this is for. But it can be done.
>=20
> Arc4random works today without chacha, why would adding support for =
chache
> as an optional loadable function break that?  *truely confused*

Up until now, arc4random worked with unconditional RC4.

M
--=20
Mark R V Murray




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?60A59E27-47CD-4552-8265-0E60C09E1966>