<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Nov 9, 2014 at 5:43 AM, Philipp Gühring <span dir="ltr"><<a href="mailto:pg@futureware.at" target="_blank">pg@futureware.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">So what is this really? Was this just your idea how it could be, or do you<br>
have any clues that point in the direction that your description is<br>
accurate? Which PRNG function are they using?<br></blockquote><div><br></div><div>There are many comments about Atmel's part like this:<br></div><div><br>    <a href="http://comments.gmane.org/gmane.comp.security.cryptography.randombit/6225">http://comments.gmane.org/gmane.comp.security.cryptography.randombit/6225</a><br> <br></div><div>And here's the standard snake-oil from the manufacturer:<br><br>    <a href="http://www.atmel.com/Images/Atmel-8843-CryptoAuth-Generating-Random-Secrets-for-ATSHA204-ApplicationNote.pdf">http://www.atmel.com/Images/Atmel-8843-CryptoAuth-Generating-Random-Secrets-for-ATSHA204-ApplicationNote.pdf</a><br><br></div><div>Atmel claims, "In the ATSHA204, the random seed comes from variations at a <span class="">quantum</span> scale within the ATSHA204."</div><div><br></div><div>If this were true, then why do they have to have a "random" seed?  A high quality TRNG is used to _genereate_ random seeds, and has zero need for one to be provided!  Also, exactly what "quantum scale" entropy are they measuring?<br><br></div><div>As for which PRNG they are using... well, I see they have HW SHA-256.  If I had to guess, it's SHA-256(seed + counter), where counter is incremented for each 256 bits they spit out.  At the end, they likely write the counter value back to flash, which enables them to cut off output at a specific value.  I doubt they ever change the seed, so it's shipped pre-programmed into your part.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
By the way, I can only find a ATSHA204A , not an ATSH204A. Is it this one?<br></blockquote><div><br></div><div>Yes... thanks for pointing that out :-)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
They have a funny (and in my point of view dangerous) functionality to<br>
test the RNG, it always returns FF FF 00 00 FF FF 00 00 when the chip is<br>
in a certain mode.<br>
<a href="http://www.atmel.com/Images/Atmel-8885-CryptoAuth-ATSHA204A-Datasheet.pdf" target="_blank">http://www.atmel.com/Images/Atmel-8885-CryptoAuth-ATSHA204A-Datasheet.pdf</a><br>
-> 3.2<br>
So any application should specifically check for such return values all<br>
the time, in case the chip accidently/randomly switches to that mode.<br>
<br>
Best regards,<br>
Philipp<br>
<br>
</blockquote></div><br></div><div class="gmail_extra">I saw that.  I guess it is useful for testing...<br><br></div><div class="gmail_extra">Bill<br></div></div>