<?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>comparing cryptographic library backend</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/62698/comparing-cryptographic-library-backend</link><description>Hi! 
 We&amp;#39;re considering implementing some security measurements into our devices, and so naturally we&amp;#39;ve started to investigate CryptoCell and other Backends supported by Nordic for the nrf52840 and others. 
 I&amp;#39;ve ran across this blog post , comparing</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 17 Jun 2020 14:34:39 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/62698/comparing-cryptographic-library-backend" /><item><title>RE: comparing cryptographic library backend</title><link>https://devzone.nordicsemi.com/thread/255587?ContentTypeID=1</link><pubDate>Wed, 17 Jun 2020 14:34:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f3ff3a31-2c7c-4ea7-b679-35f79981c69c</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I believe that this highly depends on which cryptographic algorithms you are using, and if the task is a hard or simple one. The blog-post only tests the LE-Secure Connection operations &lt;span&gt;ECDH and ECDSA, which micro-ecc are highly optimized for executing (in fact, these are the only algorithms supported by micro-ecc). For other cryptographic algorithms, we provide the options of mbedTLS (open source) or Oberon (proprietary - highly optimized for the nRF chips) backends for our &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_crypto.html"&gt;nRF_Crypto library&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I have tested current consumption and timing for two operations (FW hash and signature verification) used in our Bootloader, with CC310_BL and nRF_Oberon&amp;nbsp;backends (3V supply voltage and DCDC regulator enabled):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CC310_BL Hash:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3e73ff98d4fb4dd3a3c5953fc3dd2dc5/cc310_5F00_bl_5F00_dcdc_5F00_hash_5F00_new.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nRF_Oberon Hash:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3e73ff98d4fb4dd3a3c5953fc3dd2dc5/oberon_5F00_dcdc_5F00_hash_5F00_new.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CC310_BL Verify:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3e73ff98d4fb4dd3a3c5953fc3dd2dc5/cc310_5F00_bl_5F00_dcdc_5F00_verify_5F00_new.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;nRF_Oberon Verify:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-3e73ff98d4fb4dd3a3c5953fc3dd2dc5/oberon_5F00_dcdc_5F00_verify_5F00_new.png" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;As you can see, the average current is very similar for both backends, but the time consumed by the nRF_Oberon software backend is approximately 4-5 times the CC310 crypto backend.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Another&amp;nbsp;example can be seen &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.thread_zigbee.v2.0.0/thread_openthread_libraries.html#openthread_libs_arm"&gt;when CC310 is used for cryptographic operations in the OpenThread stack&lt;/a&gt; (compared to mbedTLS without HW acceleration).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;From my experience, the CC310 HW crypto accelerator will improve performance in most situations without increasing the current significantly (and with reduced time active, the average current will be reduced). In the end, you will have to test this in your system yourself. If using nRF_crypto, it is only a simple config modification needed to switch the backends used for different algorithms.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best regards,&lt;br /&gt;Jørgen&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>