<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: K82: performance of hw random generator in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793224#M48254</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you will know, the TRNG generates 16 long words of entropy each time it is used ( (64 bytes).&lt;/P&gt;&lt;P&gt;When I test this it takes typically between 590ms and 650ms, which would give approx. 10ms per byte, which corresponds to your 100bytes/s (or 10ms per byte).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use this configuration on the K82F:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;POWER_UP_ATOMIC&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; TRNG0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// power up TRNG0&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_MCTL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRNG_MCTL_PRGM &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_RST_DEF&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// ensure we are in programming mode with defaults set&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_FRQMIN &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_FRQMAX &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x03ffff&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// the default maximum value is too low and causes a frequency count failure if not increased&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_SDCTL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1600&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2500&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// entropy delay and sample size reduced to half of default&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_MCTL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRNG_MCTL_PRGM_RUN &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_SAMP_MODE_VON_NEUMANN &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_TRNG_ACC &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_OSC_DIV_1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// set to run mode with TRNG access&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 15 Oct 2018 14:37:27 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2018-10-15T14:37:27Z</dc:date>
    <item>
      <title>K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793221#M48251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do I measure right and performance of TRNG random generator is about 100 bytes per seconds ?&lt;/P&gt;&lt;P&gt;Bus clock - 60 Mhz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2018 09:54:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793221#M48251</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2018-10-15T09:54:32Z</dc:date>
    </item>
    <item>
      <title>Re: K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793222#M48252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The True Random Number Generator is a very high quality entropy source but takes a long time to complete its operation. I think that idea is to use it to seed a Pseudo Random Number Generator for subsequent use (which will be implemented in SW) and not to use it to generate each random number.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2018 11:35:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793222#M48252</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-10-15T11:35:11Z</dc:date>
    </item>
    <item>
      <title>Re: K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793223#M48253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yes, it is typical technique to use it, but it would be nice to know if my digits are correct for be sure if everything configured properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2018 11:49:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793223#M48253</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2018-10-15T11:49:07Z</dc:date>
    </item>
    <item>
      <title>Re: K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793224#M48254</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you will know, the TRNG generates 16 long words of entropy each time it is used ( (64 bytes).&lt;/P&gt;&lt;P&gt;When I test this it takes typically between 590ms and 650ms, which would give approx. 10ms per byte, which corresponds to your 100bytes/s (or 10ms per byte).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use this configuration on the K82F:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;POWER_UP_ATOMIC&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; TRNG0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// power up TRNG0&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_MCTL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRNG_MCTL_PRGM &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_RST_DEF&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// ensure we are in programming mode with defaults set&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_FRQMIN &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_FRQMAX &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x03ffff&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// the default maximum value is too low and causes a frequency count failure if not increased&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_SDCTL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1600&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;2500&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// entropy delay and sample size reduced to half of default&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; TRNG0_MCTL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;TRNG_MCTL_PRGM_RUN &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_SAMP_MODE_VON_NEUMANN &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_TRNG_ACC &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; TRNG_MCTL_OSC_DIV_1&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// set to run mode with TRNG access&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Oct 2018 14:37:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793224#M48254</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-10-15T14:37:27Z</dc:date>
    </item>
    <item>
      <title>Re: K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793225#M48255</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pseudo random generator&amp;nbsp; from standart C library&amp;nbsp;rand() utilize some global buffers what cause problem to run code with User privileges.&lt;/P&gt;&lt;P&gt;Better to allocate this buffer from RTOS Task stack and use after that in context of this task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know any public implementation of pseudo random generator what available with source code ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2018 06:52:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793225#M48255</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2018-10-16T06:52:15Z</dc:date>
    </item>
    <item>
      <title>Re: K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793226#M48256</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try mbedTLS as reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Simplified:&lt;/P&gt;&lt;P&gt;They use a 16 byte long counter which is seeded from an entropy source [which can bet quite complicated if there is no good source] (TRNG would be used for this since it is an excellent source).&lt;BR /&gt;It then performs an AES_ECB (AES256) encryption to generate 16 bytes of output and increments the 16 byte before each use. The 16 bytes of output are used as random numbers.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;It sometimes re-seeds itself (based on elapsed time or a number of utilisations).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since the K80 can do AES256 in HW this algorithm looks suitable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Oct 2018 11:23:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793226#M48256</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2018-10-16T11:23:26Z</dc:date>
    </item>
    <item>
      <title>Re: K82: performance of hw random generator</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793227#M48257</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Eugene&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Oct 2018 09:54:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K82-performance-of-hw-random-generator/m-p/793227#M48257</guid>
      <dc:creator>EugeneHiihtaja</dc:creator>
      <dc:date>2018-10-17T09:54:10Z</dc:date>
    </item>
  </channel>
</rss>

