<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Are random numbers a solved function?</title>
	<atom:link href="http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/</link>
	<description>Shedding Light on the Hidden World of Embedded Systems</description>
	<lastBuildDate>Mon, 28 Jul 2014 16:18:37 -0400</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: C.L. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-16825</link>
		<dc:creator>C.L. @ LI</dc:creator>
		<pubDate>Sun, 27 May 2012 16:22:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-16825</guid>
		<description>@Ray - I agree mostly, but when it comes to manufacturing of devices and properly provisioning them for exclusive, protected use with services at a later time, the black-hat argument is moot. So I&#039;m with Emilio - it&#039;s all about context. In the wild, hackers will do their thing, but to sell a product that supports various DRM schemes, for instance, so you can make money on services later - an entropy register in an SoC will typically suffice as a starting point for a security model, and will definately be better than a PRNG. Please note I said a starting point. Proper provisioning and use of OTP fuses is also pretty vital. 

If your manufacturing line doesn&#039;t have a V&amp;I station at board level test to ensure that rails are properly biased and you can&#039;t shell out the cash for proper enclosures to block out UV and EMI during manufacturing, you definately have not only a system security issue on your hands but a pretty severe OPS process issue and I would want to buy the product or sign up as a partner to deliver content on the device.</description>
		<content:encoded><![CDATA[<p>@Ray &#8211; I agree mostly, but when it comes to manufacturing of devices and properly provisioning them for exclusive, protected use with services at a later time, the black-hat argument is moot. So I&#8217;m with Emilio &#8211; it&#8217;s all about context. In the wild, hackers will do their thing, but to sell a product that supports various DRM schemes, for instance, so you can make money on services later &#8211; an entropy register in an SoC will typically suffice as a starting point for a security model, and will definately be better than a PRNG. Please note I said a starting point. Proper provisioning and use of OTP fuses is also pretty vital. </p>
<p>If your manufacturing line doesn&#8217;t have a V&amp;I station at board level test to ensure that rails are properly biased and you can&#8217;t shell out the cash for proper enclosures to block out UV and EMI during manufacturing, you definately have not only a system security issue on your hands but a pretty severe OPS process issue and I would want to buy the product or sign up as a partner to deliver content on the device.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mario</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-15261</link>
		<dc:creator>Mario</dc:creator>
		<pubDate>Tue, 10 Apr 2012 07:22:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-15261</guid>
		<description>Check out QRBG121 if you need a fast physical RNG not plagued by black cats or hats or whatever. Each bit has almost unity entropy, while PRNG has a constant, small entropy and you get none past number bits equal to that entropy. Even so, most of the entropy comes from the seed and if you do not have physical RNG to make the seed you are left with virtually no entropy. In cryptography, due to the Kerckhoffs principle entropy of any PRNG is at equal to the length of the seed and an enemy has only to gues the seed, not the whole &quot;random&quot; sequence. In pactice,  due to the fact that all important classes of PRNG&#039;s have been cryptanalyzed, given a small number of output bits one is able to calculate all parameters of a RNG and continue the sequence. 

Imagine this: you produce a lot of numbers applying a mathematical formula starting from a single number.  So you know that al these numbers are connected by a simple math formula. Then suddenly you pretend you suffered amnesia and ask your self whether these are random. Then you test them and finding no flaws you conclude they are random. Isn&#039;t that really a stupid game ? I know, people play other stupid games too. For example they buy a (worhtless) ticket and then all money is gathered and given to one lucky poor idiot somewhere in another state. And then  they do it again ! There is roughly the same amount of intelligence and learning ability involved in both games....

I believe that future is in abandoning PRNGs for any use. They have been serving us as a temporary solution (in absence of a better one) for far too long. It is clear that a PRNG is not random by definition and that too much human intellectual energy has been wasted on a futile topic already.</description>
		<content:encoded><![CDATA[<p>Check out QRBG121 if you need a fast physical RNG not plagued by black cats or hats or whatever. Each bit has almost unity entropy, while PRNG has a constant, small entropy and you get none past number bits equal to that entropy. Even so, most of the entropy comes from the seed and if you do not have physical RNG to make the seed you are left with virtually no entropy. In cryptography, due to the Kerckhoffs principle entropy of any PRNG is at equal to the length of the seed and an enemy has only to gues the seed, not the whole &#8220;random&#8221; sequence. In pactice,  due to the fact that all important classes of PRNG&#8217;s have been cryptanalyzed, given a small number of output bits one is able to calculate all parameters of a RNG and continue the sequence. </p>
<p>Imagine this: you produce a lot of numbers applying a mathematical formula starting from a single number.  So you know that al these numbers are connected by a simple math formula. Then suddenly you pretend you suffered amnesia and ask your self whether these are random. Then you test them and finding no flaws you conclude they are random. Isn&#8217;t that really a stupid game ? I know, people play other stupid games too. For example they buy a (worhtless) ticket and then all money is gathered and given to one lucky poor idiot somewhere in another state. And then  they do it again ! There is roughly the same amount of intelligence and learning ability involved in both games&#8230;.</p>
<p>I believe that future is in abandoning PRNGs for any use. They have been serving us as a temporary solution (in absence of a better one) for far too long. It is clear that a PRNG is not random by definition and that too much human intellectual energy has been wasted on a futile topic already.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: E.R. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14308</link>
		<dc:creator>E.R. @ LI</dc:creator>
		<pubDate>Sat, 17 Mar 2012 00:32:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14308</guid>
		<description>This is one of those meaningless questions without a better context. For most applications of &#039;random&#039; the answer is they are more than good enough. Security is a system issue and seldom a problem with the RNG. A few people out on the edges of statistics need a H/W RNG.</description>
		<content:encoded><![CDATA[<p>This is one of those meaningless questions without a better context. For most applications of &#8216;random&#8217; the answer is they are more than good enough. Security is a system issue and seldom a problem with the RNG. A few people out on the edges of statistics need a H/W RNG.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J.U. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14307</link>
		<dc:creator>J.U. @ LI</dc:creator>
		<pubDate>Sat, 17 Mar 2012 00:32:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14307</guid>
		<description>@Jeremy - I certainly wouldn&#039;t use a pseudo-random number generator when security is the issue. However, for software verification/validation testing, repeating the exact input sequence which elicites a supposedly fixed bug can be useful.</description>
		<content:encoded><![CDATA[<p>@Jeremy &#8211; I certainly wouldn&#8217;t use a pseudo-random number generator when security is the issue. However, for software verification/validation testing, repeating the exact input sequence which elicites a supposedly fixed bug can be useful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J.S. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14306</link>
		<dc:creator>J.S. @ LI</dc:creator>
		<pubDate>Sat, 17 Mar 2012 00:29:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14306</guid>
		<description>I don&#039;t really understand why people still insist on using software PSEUDO random number generators, which are difficult to implement correctly,poorly understood and are at best poor sources of entropy, when you can simply use a real random source such as a reverse biased P-N junction followed by some form of hash function to produce a very good random number generator with very high entropy per bit.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t really understand why people still insist on using software PSEUDO random number generators, which are difficult to implement correctly,poorly understood and are at best poor sources of entropy, when you can simply use a real random source such as a reverse biased P-N junction followed by some form of hash function to produce a very good random number generator with very high entropy per bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J.K. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14198</link>
		<dc:creator>J.K. @ LI</dc:creator>
		<pubDate>Tue, 13 Mar 2012 15:08:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14198</guid>
		<description>Using the RTC has been a practice for a long time. It&#039;s clearly not secure (some early online gaming sites that used it have been seriously cheated) but it&#039;s a quick and lazy way to get different number sequences from different runs. Not secure, but sometimes useful.</description>
		<content:encoded><![CDATA[<p>Using the RTC has been a practice for a long time. It&#8217;s clearly not secure (some early online gaming sites that used it have been seriously cheated) but it&#8217;s a quick and lazy way to get different number sequences from different runs. Not secure, but sometimes useful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: D.S. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14197</link>
		<dc:creator>D.S. @ LI</dc:creator>
		<pubDate>Tue, 13 Mar 2012 15:08:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14197</guid>
		<description>I&#039;ve seen one of these PRNG algorithm that generates the number from the date stored in RTC as a salt. I don&#039;t consider it safe and why would people do that. What do you think?</description>
		<content:encoded><![CDATA[<p>I&#8217;ve seen one of these PRNG algorithm that generates the number from the date stored in RTC as a salt. I don&#8217;t consider it safe and why would people do that. What do you think?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JSN @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14196</link>
		<dc:creator>JSN @ LI</dc:creator>
		<pubDate>Tue, 13 Mar 2012 15:08:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14196</guid>
		<description>Along the lines of what Ray is saying, RSA&#039;s public stance is that their algorithm is &quot;secure&quot;, but a lot of implementations use weak RNGs...</description>
		<content:encoded><![CDATA[<p>Along the lines of what Ray is saying, RSA&#8217;s public stance is that their algorithm is &#8220;secure&#8221;, but a lot of implementations use weak RNGs&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: RVDW @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14127</link>
		<dc:creator>RVDW @ LI</dc:creator>
		<pubDate>Mon, 12 Mar 2012 01:34:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14127</guid>
		<description>PRNGs are OK for things like filling memory or averaging the power direction of a communication line. I especially like to use a PRNG to &quot;expand&quot; true random numbers by using the true random numbers as a seed. PRNGs are usually much faster than the cheap hardware random number generators in SOCs.

For encryption, even hardware RNGs are not random enough, because black-hats can bias power rails, apply UV or electric fields, etc. They need to be supplemented with XORed multiple sources using different methods.</description>
		<content:encoded><![CDATA[<p>PRNGs are OK for things like filling memory or averaging the power direction of a communication line. I especially like to use a PRNG to &#8220;expand&#8221; true random numbers by using the true random numbers as a seed. PRNGs are usually much faster than the cheap hardware random number generators in SOCs.</p>
<p>For encryption, even hardware RNGs are not random enough, because black-hats can bias power rails, apply UV or electric fields, etc. They need to be supplemented with XORed multiple sources using different methods.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J.V. @ LI</title>
		<link>http://www.embeddedinsights.com/channels/2012/03/07/are-random-numbers-a-solved-function/#comment-14099</link>
		<dc:creator>J.V. @ LI</dc:creator>
		<pubDate>Sun, 11 Mar 2012 05:52:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.embeddedinsights.com/channels/?p=702#comment-14099</guid>
		<description>Sometimes I&#039;ve put in a hook for using different PRNGs and compared them. If I&#039;m getting very different behavior then how sensitive is the result to the assumptions I&#039;m making? It could be that assuming completely random behavior is not a valid assumption. So I might try a very &quot;good&quot; PRNG, a fairly lousy PRNG that still has some good distribution qualities, and maybe also a custom-made PRNG that allows me to model some observed behavior that may or may not be typical. At least I might get a sense of how sensitive the simulation is to the model of randomness I&#039;m using. The other things that could be done (and this may pose some other difficulties for embedded software) is to have the RNG wrapper pull from recorded data generated from a physical random source, instead of calculating the values... You can &quot;replay&quot; the run nondeterministically and still potentially have a run that is uncontaminated by the inherent order lurking in a PRNG. If there is a limit on how much recorded data that can be accessed, there may be some algorithmic ways of extending the period of a run based on recorded data.</description>
		<content:encoded><![CDATA[<p>Sometimes I&#8217;ve put in a hook for using different PRNGs and compared them. If I&#8217;m getting very different behavior then how sensitive is the result to the assumptions I&#8217;m making? It could be that assuming completely random behavior is not a valid assumption. So I might try a very &#8220;good&#8221; PRNG, a fairly lousy PRNG that still has some good distribution qualities, and maybe also a custom-made PRNG that allows me to model some observed behavior that may or may not be typical. At least I might get a sense of how sensitive the simulation is to the model of randomness I&#8217;m using. The other things that could be done (and this may pose some other difficulties for embedded software) is to have the RNG wrapper pull from recorded data generated from a physical random source, instead of calculating the values&#8230; You can &#8220;replay&#8221; the run nondeterministically and still potentially have a run that is uncontaminated by the inherent order lurking in a PRNG. If there is a limit on how much recorded data that can be accessed, there may be some algorithmic ways of extending the period of a run based on recorded data.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
