LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

OT: TRNG vs PRNG (was Re: [ILUG] serious Debian/Ubuntu security hole found)

OT: TRNG vs PRNG (was Re: [ILUG] serious Debian/Ubuntu security hole found)

Ivan Griffin ivan at skynet.ie
Fri May 16 15:40:00 IST 2008


Actually, a useful discussion on this topic is available at 
http://en.wikipedia.org/wiki/Hardware_random_number_generator



On Fri, 16 May 2008, Ivan Griffin wrote:

>
> This discussion is interesting, but probably going completely off topic. In 
> way of apology for continuing it, I've changed the subject line slightly.
>
>
> However, I think it is worth pointing out that in the semiconductor industry, 
> the state-of-the-art in consumer electronics crypto probably is considered to 
> be the use a "true" RNG (TRNG) constructed from some hardware process (pair 
> of ring oscillators, etc) as an initial seed, feeding into a well 
> characterised encryption engine. There are other aspects, such as ensuring 
> the keys are not visible to software directly, but only to a hardware crypto 
> offload engine.
>
> PRNGs are not considered best practice.  This isn't my personal opinion - it 
> is a viewpoint that is strongly enforced by many of the industry incumbants 
> when licensing, for instance, their DRM specifications. I work for a company 
> that has recently included an analog TRNG macro into our new chip design 
> specifically for this specific purpose.
>
> Quoting John von Neumann, "Anyone who considers arithmetical methods of 
> producing random digits is, of course, in a state of sin."
>
>
> In Applied Cryptography, the crypto bible by Bruce Schneier, the requirements 
> for a RNG are defined as:
> * the output appears to be random (i.e. passes all statistical approximation 
> tests of randomness that can be found, auto-correlation, cross-correlation 
> etc);
> * it must be computational infeasible to predict next random bit;
> * it cannot be reliably reproduced - given same inputs, the generator should 
> generate two complete unrelated and random sequences.
>
> Depending on the use of the RNG, it may satisfy one or more of these 
> requirements.  PRNGs are usually considered only to satisfy Schneier's first 
> requirement, whereas good HW-based TRNGs are considered capable of satisfying 
> all three. Their output does not depend on any previously produced bits, 
> unless the deterministic behaviour of the PRNG.
>
> There are many techniques for TRNGs:
> * electrical noise (e.g. Johnson noise, Shot Noise, Flicker noise - all of 
> which have had their noise distributions characterised.)
> * Quantum properties of Photons (quantum theory predicts the choice of path 
> by a photon is truly random)
> * Radioactivity - unstable isotope decay
>
> As a consequence, I don't think it is fair to state that theoretical 
> mathematical functions which appear pseudo random are better understood than 
> the quantum effects which generate noise.
>
> I also don't think it is correct to say that there are no tests available for 
> randomness. There are many tests that attempt to determine randomness through 
> pattern identification - for example, NIST have their "Statistical Test Suite 
> for Random and Pseudorandom Number Generators for Cryptographic 
> Applications", the Chi-squared test is useful, as is the DIEHARD test suite. 
> Obviously, entrophy estimation is theoretically impossible, but it is 
> possible to get a feeling for random failures in certain limited runs with 
> appropriate assumptions.
>
> One of the properties of a good encryption engine is that small changes in 
> the input are reflected in disproportionate changes in the output - i.e it 
> has good spread across the output space. AES/Rijndael is an example of a good 
> crypto algorithm where a sequentially incrementing counter will generate very 
> good output. Using the TRNG input as an initial seed, coupled with other 
> mechanisms for gathering entropy, into such a crypto block will generate you 
> a pretty unique sequence of keys.
>
> I think this is well summarised in a presentation by Laszlo Hars ("Random 
> Topics" - http://www.hars.us/Papers/RandomTopics-SummerCon.ppt) :
> "Do Random Numbers exist? Mathematically: yes ... but no algorithm generates 
> them ... Physically: maybe"
>
> Best Regards,
> Ivan
>
> On Fri, 16 May 2008, Timothy Murphy wrote:
>
>> On Thursday 15 May 2008 02:40:10 pm paul at clubi.ie wrote:
>> 
>>> If we can't determine randonmess, why should trust the output of a
>>> man-made algorithm that /seems/ random over measurements of physical
>>> processes that we apparently have good reason to believe /are/
>>> random?**
>> 
>> Because we know far more about mathematical functions
>> than we do about the physical processes you are talking about.
>> 
>> Take the time distribution of emissions from radioactive material,
>> which is often taken as a model of a random process.
>> 
>> There are any number of reasons why this might not in fact be random,
>> eg the measuring apparatus might be defective,
>> there may be cosmic ray emissions from a completely different source,
>> the rate of emission may not be independent of the temperature,
>> the direction of the magnetic field may affect the result,
>> etc, etc.
>> 
>> 
>> 
>> -- 
>> Timothy Murphy
>> e-mail: gayleard /at/ eircom.net
>> tel: +353-86-2336090, +353-1-2842366
>> s-mail: School of Mathematics, Trinity College, Dublin 2, Ireland
>> -- 
>> Irish Linux Users' Group mailing list
>> About this list : http://mail.linux.ie/mailman/listinfo/ilug
>> Who we are : http://www.linux.ie/
>> Where we are : http://www.linux.ie/map/
>> 
>> 
> -- 
> Irish Linux Users' Group mailing list
> About this list : http://mail.linux.ie/mailman/listinfo/ilug
> Who we are : http://www.linux.ie/
> Where we are : http://www.linux.ie/map/
>
>



More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell