Enigmail speed geeking

Stephan Beck stebe at mailbox.org
Sun Mar 15 16:32:54 CET 2015


Am 15.03.2015 um 13:59 schrieb Robert J. Hansen:
>> Wouldn't the installation of haveged, at least for GNU/linux distros,
>> extend the possibilities of traditional /dev/(u)random based RNG?
> 
> No idea -- I haven't looked at haveged.  Sorry.  :(


Well, I forgot to include relevant information (see below)
I came across haveged while installing the OTR extension of my IM/Chat package.
It was developped by the Caps group within IRISA/INRIA, Rennes, France.

Quoting the abstract of a HAVEGE publication:

The availability of a random number generator with high cryptographic qualities
on a computer is one of the central issues of cryptographic implementations.
HAVEGE (HArdware Volatile Entropy Gathering and Expansion) is a new software
heuristic for generating unpredictable random numbers on PC s and workstations.
PCs and workstations are built around modern superscalar microprocessors. These
processors feature complex hardware mechanisms that aim to increase performance.
A significant part of the global state of the microprocessor is not
architecturally visible through the instruction set (e.g. caches, branch
predictors and buffers). HAVEGE leverages the uncertainty introduced in the
internal states of the processor by external events. HAVEGE combines
entropy/uncertainty gathering from the architecturally invisible states of a
modern superscalar microprocessor with pseudo-random number generation. First we
show that the hardware clock cycle counter of the processor can be used to
gather part of the uncertainty introduced by operating system interruptions in
the internal state of the processor. Tens of thousands of unpredictable bits can
be gathered per operating system interruption in average. Then, we show how this
entropy gathering technique can be combined with pseudo-random number generation
in HAVEGE. Since the internal state of HAVEGE includes thousands of internal
volatile hardware states, HAVEGE features a very high security level. HAVEGE
also reaches an unprecedented throughput for a software unpredictable random
number generator: more than 100 Mbits/s with off-the-shelf workstations and PCs.

A. Seznec, N. Sendrier, "HArdware Volatile Entropy Gathering and Expansion:
generating unpredictable random numbers at user level", INRIA Research Report,
RR-4592, October 2002
Source: https://www.irisa.fr/caps/projects/hipsor/publi.php

Now, I'll look for information on how RNG in GnuPG exactly works. It *seems*
that haveged should impact on the gathering of entropy (available) at the moment
of keypair generation on any GNU/Linux PC/laptop equipped with it (specific
versions are availabe for other OS as well). As to the other precise
operations/occasions on which GnuPG makes use of RNG, other than the "keypair
generation moment", I'm not sure whether it would benefit from haveged
at all.

Cheers,

Stephan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: </pipermail/attachments/20150315/c3d17f2b/attachment-0001.sig>


More information about the Gnupg-users mailing list