From: Matt Mackall <mpm@selenic.com>
To: Michael Buesch <mb@bu3sch.de>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] hw_random: add quality categories
Date: Tue, 26 Jun 2007 09:32:37 -0500 [thread overview]
Message-ID: <20070626143237.GF11115@waste.org> (raw)
In-Reply-To: <200706261612.27184.mb@bu3sch.de>
On Tue, Jun 26, 2007 at 04:12:26PM +0200, Michael Buesch wrote:
> On Tuesday 26 June 2007 05:13:41 Matt Mackall wrote:
> > On Sun, Jun 24, 2007 at 03:55:22PM +0200, Michael Buesch wrote:
> > > This adds quality categories for hardware random number generators.
> > >
> > ...
> > > +
> > > +/**
> > > + * enum hwrng_quality - Quality identifier for RNG hardware
> > > + * @HWRNG_QUAL_HIGH: High quality RNG. Higher quality than
> > > + * what is found on the usual PC mainboards.
> > > + * Use that for special dedicated RNG
> > > + * extension boards.
> > > + * @HWRNG_QUAL_NORMAL: PC-onboard-RNG devices.
> > > + * @HWRNG_QUAL_LOW: Low quality RNG devices. Use this for
> > > + * devices which gather the entropy from possibly
> > > + * bad sources, like the network.
> > > + * @HWRNG_QUAL_PSEUDO: Pseudo RNG device. Use this for devices
> > > + * which are not RNG devices by definition, but
> > > + * could be used as such. For example various
> > > + * hardware sensors, like a motion sensor.
> > > + */
> >
> > I don't think these definitions are very useful.
> ...
>
> No wait. You are missing the whole point of this
> quality category.
> The whole point of it is to prevent defaulting to a bad RNG, if
> there's a bad and a good one in a machine.
> Well, what's bad.
> It's easy. HWRNGs like the one in bcm43xx are bad.
> It's proprietary and nobody knows what it does (I guess
> it gathers the entropy from the network or something
> and hashes that in hardware).
> So such a device would be QUAL_LOW.
If it's gathering its entropy from the network, it is not a QUAL_LOW
RNG because it is not a hardware random number generator at all!
Such a device is QUAL_PSEUDO or QUAL_UNKNOWN. If it's known or
suspected to be bogus, it should be so marked.
Once you've merged your LOW class with PSEUDO, you're left with a
meaningless, unquantifiable distinction between NORMAL and HIGH.
So we're down to one bit distinguishing real RNGs from pseudo RNGs.
--
Mathematics is the supreme nostalgia of our time.
next prev parent reply other threads:[~2007-06-26 14:32 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-24 13:55 [PATCH] hw_random: add quality categories Michael Buesch
2007-06-24 14:30 ` Alexey Dobriyan
2007-06-24 14:43 ` Michael Buesch
2007-06-25 23:21 ` Andrew Morton
2007-06-26 13:56 ` Michael Buesch
2007-06-26 3:13 ` Matt Mackall
2007-06-26 14:06 ` Henrique de Moraes Holschuh
2007-06-26 14:20 ` Michael Buesch
2007-06-27 2:00 ` Henrique de Moraes Holschuh
2007-06-27 12:58 ` Michael Buesch
2007-06-27 16:40 ` Henrique de Moraes Holschuh
2007-06-27 17:56 ` Michael Buesch
2007-06-28 7:57 ` Henrique de Moraes Holschuh
2007-06-26 14:12 ` Michael Buesch
2007-06-26 14:32 ` Matt Mackall [this message]
2007-06-26 14:45 ` Michael Buesch
2007-06-27 3:18 ` Matt Mackall
2007-06-27 12:52 ` Michael Buesch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070626143237.GF11115@waste.org \
--to=mpm@selenic.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mb@bu3sch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox