<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/46695/nrf_cc310-and-arm-trustzone-cryptocell-in-interrupt-mode</link><description>Does the nrf_cc310 support interrupt operation? I want to start the calculation of a hash/asymmetric signature but don&amp;#39;t want that the CPU busy-waits until the calculation is complete? I cannot find an example for that in /examples/crypto/nrf_cc310/.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 23 Oct 2020 07:08:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/46695/nrf_cc310-and-arm-trustzone-cryptocell-in-interrupt-mode" /><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/276543?ContentTypeID=1</link><pubDate>Fri, 23 Oct 2020 07:08:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3d0d3186-2577-4c60-b5c0-f05e0aacc498</guid><dc:creator>TSonono</dc:creator><description>&lt;p&gt;I see!&lt;/p&gt;
&lt;p&gt;Thanks Einar!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/276502?ContentTypeID=1</link><pubDate>Thu, 22 Oct 2020 18:21:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:073f35ac-f02b-4e5f-8bba-15a6d2a491d3</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Tofik,&lt;/p&gt;
&lt;p&gt;The CC310 library calls WFE() internally, so the power management function is not called even though the CPU sleeps in this case. Therefor you cannot rely on the sleep debug pin in this specific case. This is different from other SDK libraries, so I understand the confusion.&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/276482?ContentTypeID=1</link><pubDate>Thu, 22 Oct 2020 14:43:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8d3b3c21-ae00-4a10-a1aa-daf64083893c</guid><dc:creator>TSonono</dc:creator><description>&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;During this time the CPU can sleep or other interrupts can be serviced. There is also some use of busy-waits in a few special cases, but only for very short waits.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span&gt;I&amp;#39;m curious to what extent the CPU goes to sleep when using the CC310. I&amp;#39;ve been monitoring NRF_PWR_MGMT_SLEEP_DEBUG_PIN and can&amp;#39;t see the MCU ever enter sleep mode when using the CC310. We use the CC310 for ecdh and&amp;nbsp;eddsa (we are not using the nrf crypto backend/frontend). Should I open a separate issue for this or is this the expected behavior?&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This was on SDK v17.0.2&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Tofik&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/234070?ContentTypeID=1</link><pubDate>Wed, 12 Feb 2020 19:04:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:793c3b26-bef9-4d54-a9a9-1bf83221ec55</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;There is no list of performance numbers that I am aware of. However, you can use the following numbers as a reference. WITH AEAD CCM 128, message_len=16 ad_len=250 mac_len=8 nonce_len=13&amp;#39;, we got an execution time of 0.1389 ms using CC310 and 0.6879 ms using embed TLS (SW). So, in this case, CC310 was about 5 times faster. This test has some overhead though, and it typically also depends on toolchain etc. I suggest you take an example from the SDK and adapt it to get&amp;nbsp;more accurate numbers for your specific use case if you need it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/233845?ContentTypeID=1</link><pubDate>Tue, 11 Feb 2020 22:26:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31aee324-e960-40e4-8782-ecb4b37324b6</guid><dc:creator>Marciano-PL</dc:creator><description>&lt;p&gt;Where could I find speed numbers for CC310 doing AES CCM 128bit?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/184263?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 10:36:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:276086b8-fe93-482c-af64-4126f1c2c6d6</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The performance of CC310 compared to SW implementations depend significantly on the algorithm, size of data etc. For instance you will get a huge benefit when calculating SHA256 over a larger buffer.&lt;/p&gt;
&lt;p&gt;This is a comparison of SHA256 with message length 4123 for two backends:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oberon:&amp;nbsp;&lt;span&gt;4.7413ms&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;CC310:&amp;nbsp;0.1596ms&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/184243?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 09:06:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fba0992-e998-4d1c-b8ce-3e1620619820</guid><dc:creator>StefanHri</dc:creator><description>&lt;p&gt;Thank you for the fast response Einar!&lt;br /&gt;For me it is not clear why Nordic has integrated the CryptoCell peripheral. From this post (&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/18578/arm-cryptocell-310-performance/184195#184195)"&gt;devzone.nordicsemi.com/.../184195&lt;/a&gt; it is clear that CryptoCell doesn&amp;#39;t provide significant speed benefits compared to software libraries such as oberon. In some cases CryptoCell is even slower than the software libraries. I was expecting that the benefit of CryptoCell is that the CPU is free for other operations when the CryptoCell&amp;nbsp; runs but this is apparently not the case. &lt;br /&gt;&lt;br /&gt;The only benefit which I can imagine now is that CryptoCell is very energy efficient but according to the same post above Nordic doesn&amp;#39;t have numbers for that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf_cc310 and ARM TrustZone CryptoCell in interrupt mode</title><link>https://devzone.nordicsemi.com/thread/184226?ContentTypeID=1</link><pubDate>Mon, 29 Apr 2019 08:17:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:46add919-6ab3-4ec0-b116-507755b2a7fe</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The CC310 runtime library use&amp;nbsp;interrupts internally, but the API calls are still blocking. This is achieved by the library calling __WFE() internally when waiting for events. During this time the CPU can sleep or other interrupts can be serviced. There is also some use of busy-waits in a few special cases, but only for very short waits.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>