<?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>Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55450/enabling-crypto-hardware-backend-feature-on-nrf52840</link><description>Hello, 
 
 I am using nRF52840, SDK_16.0.0, S140 SoftDevice and Segger 4.16 for flashing the image. I am using ‘ble_app_blinky’. 
 I have queries on enabling HW crpto accelerator and back end mode. 
 
 1) If I want to enable HW crypto accelerator then</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 10 Dec 2019 10:48:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55450/enabling-crypto-hardware-backend-feature-on-nrf52840" /><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224707?ContentTypeID=1</link><pubDate>Tue, 10 Dec 2019 10:48:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ecf27142-883f-4a57-955f-6948b0a8e192</guid><dc:creator>beemavishnu</dc:creator><description>&lt;p&gt;Thank you Einar.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224706?ContentTypeID=1</link><pubDate>Tue, 10 Dec 2019 10:27:43 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:273740e0-d78e-4d52-a87a-5d17618216fe</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Vishnu,&lt;/p&gt;
&lt;p&gt;Thanks for the feedback. I agree the documentation could state that installing micro-ecc is not necessary if using nRF52840. I will forward your request.&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224705?ContentTypeID=1</link><pubDate>Sun, 08 Dec 2019 13:00:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:af55dded-3891-4e63-a7ca-d0b48c20b277</guid><dc:creator>beemavishnu</dc:creator><description>&lt;p&gt;Hello Einar,&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Even I request to mentioned about&amp;nbsp;&lt;span&gt;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED in below link rather than micro-ecc. For new person who starts working on DFU, this creates lot of confusion and which is not required, as S140 is for nRF52840. Even the same for Secure DFU over uart.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Fble_sdk_app_dfu_bootloader.html&amp;amp;cp=6_1_4_4_0"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Fble_sdk_app_dfu_bootloader.html&amp;amp;cp=6_1_4_4_0&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-d16d7f405d0b4167b9a45b42b6cdc323/pastedimage1575809961681v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks &amp;amp; Regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Vishnu Beema&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224704?ContentTypeID=1</link><pubDate>Thu, 05 Dec 2019 09:28:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17584484-f3a3-43fd-a318-e940e45dc1b8</guid><dc:creator>beemavishnu</dc:creator><description>&lt;p&gt;Thank you Einar. I got your point. I am fine with Default configuration and it is working fine.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224703?ContentTypeID=1</link><pubDate>Thu, 05 Dec 2019 08:56:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:756cf3c8-bc3b-4389-8fc7-cda7370f37ee</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Vishnu,&lt;/p&gt;
&lt;p&gt;The documentation you linked to in the last post is nrf_crypto documentation. This library (nrf_crypto) is used in the bootloader, but can also be used for whatever you want in the application. That is why it is not marked as specific for the bootloader. But if you don&amp;#39;t intend to use some special crypto operations in your application, then you do not need to think about it. The key here is that the libraries are generic. So reading library documentation (nrf_crypto) does not tell you exclusively what is needed in a specific use case (DFU bootloader), it also tells you much more which may not be relevant for you.&lt;/p&gt;
&lt;p&gt;If you are happy with the default configuration you do not need to touch the NRF_CRYPTO... configuration macros at all, since the default configuration in the bootloader example is the most sensible.&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224702?ContentTypeID=1</link><pubDate>Thu, 05 Dec 2019 08:36:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:767661bb-6d0c-47d9-b237-f9fda0d13f05</guid><dc:creator>beemavishnu</dc:creator><description>&lt;p&gt;Thanks a lot for understanding and clarifying my last query.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1) For your below comment, only bootloader to be changed but not application. Even this is same for all other crypt (For micro-ecc) (Just gave micro-ecc example though I will be going to use &lt;span&gt;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED)&lt;/span&gt;?&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;a) Initially even I was in same understanding as application is not required to modify. But I got confused with snapshot in below link where library is added in application &amp;quot;ble_app_gls&amp;quot; of SES (Which is not required). Please correct me if I am wrong.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_crypto_backend_micro_ecc.html&amp;amp;cp=6_1_3_11_16_2_3&amp;amp;anchor=nrf_crypto_default_backends_micro_ecc"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_crypto_backend_micro_ecc.html&amp;amp;cp=6_1_3_11_16_2_3&amp;amp;anchor=nrf_crypto_default_backends_micro_ecc&lt;/a&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&amp;quot;&lt;span&gt;For DFU, the only thing that is relevant is the crypto support in the bootloader. So what you have enabled for the application is irrelevant in this regard.&lt;/span&gt;&amp;quot;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;/p&gt;
&lt;p&gt;Thanks &amp;amp; Regards&lt;/p&gt;
&lt;p&gt;Vishnu Beema&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224701?ContentTypeID=1</link><pubDate>Thu, 05 Dec 2019 08:24:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcd7186f-495f-49d1-9d52-7cc972847c3e</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Vishnu,&lt;/p&gt;
&lt;p&gt;Both DFU and crypto are complex issues, so I understand you need time to grasp it all. Please note that you can use an unmodified bootloader example project form the SDK (examples\dfu\secure_bootloader\pca10056_s140_ble), since that has all the relevant configuration for you (though you will need to change the public key, and potentially adopt a few things to your custom HW).&lt;/p&gt;
[quote user="beemavishnu"]My last query on above point &amp;#39;2a&amp;#39; is, without&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED enabled (But already enabled in secure ble bootloader), I generated ble_app_blinky package and able to do DFU over BLE secure Bluetooth. Even I enabled &amp;quot;Static Pass key&amp;quot; and tested the feature without enabling&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED macro. Sorry I may be confusing you.[/quote]
&lt;p&gt;I think you are missing several concepts here. For DFU, the only thing that is relevant is the crypto support in the bootloader. So what you have enabled for the application is irrelevant in this regard. Also, you mention &amp;quot;Static Pass Key&amp;quot;. This is relevant for the BLE pairing process, but is not relevant with regards to DFU, and is not related to crypto in DFU context (signature verification).&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224700?ContentTypeID=1</link><pubDate>Wed, 04 Dec 2019 09:40:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29ad4e71-dfa7-499d-a8b3-7d687195d4d9</guid><dc:creator>beemavishnu</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thank a lot for your inputs and confirmation. This is what I am expecting.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In Infocenter, nowhere they specify to use NRF_CRYPTO_BACKEND_CC310_BL_ENABLED and not to use NRF_CRYPTO_BACKEND_CC310_ENABLED as size will increase.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Below link only mentions on how to use micro-ecc and cannot relate to nRF52840.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloader"&gt;https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/getting-started-with-nordics-secure-dfu-bootloader&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I posted other queries in parallel. Sometimes I feel, there is lot of info in infocenter. But difficult to get necessary info (Sorry to say this).&lt;/p&gt;
&lt;p&gt;Struggled a lot for bringing up DFU over “BLE secure bootloader”.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;1) Issues in compiling micro-ecc library itself.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/support/240266"&gt;https://devzone.nordicsemi.com/support/240266&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2) Issues in compiling BLE Secure bootloader by enable micro-ecc&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/support/240393"&gt;https://devzone.nordicsemi.com/support/240393&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3) Finally I realized that micro-ecc is not required with your mail.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/support/240436"&gt;https://devzone.nordicsemi.com/support/240436&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once again, thanks a lot for your inputs.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;My last query on above point &amp;#39;2a&amp;#39; is, without&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED enabled (But already enabled in secure ble bootloader), I generated ble_app_blinky package and able to do DFU over BLE secure Bluetooth. Even I enabled &amp;quot;Static Pass key&amp;quot; and tested the feature without enabling&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED macro. Sorry I may be confusing you.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks &amp;amp; Regards&lt;/p&gt;
&lt;p&gt;Vishnu Beema&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224699?ContentTypeID=1</link><pubDate>Wed, 04 Dec 2019 08:21:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0330b367-56c7-4cc4-b7f7-5c4c352cccbe</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Vishnu,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1a). No, you can use CryptoCell (CC310) in the bootloader, but you need to use the CC310_BL backend for size reasons. This only supports the operations that are needed for&amp;nbsp;the bootloader. So in the bootloader, you should set&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_ENABLED to 0 and&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED to 1. If you use the &amp;quot;normal&amp;quot; (non-BL) variant in the bootloader, you will get problems fitting it unless you increase the bootloader size.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1b) No. The only difference is that the library is stripped down to only provide what is needed by the bootloader. There is no impact on current consumption. (Also, the crypto operations in the bootloder normally only happen during DFU, which is not performed often, so even if it was different with regards to current consumption - which it is not - it would not matter much.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2) Why do you want to use micro-ecc on the nRF52840 when you have CC310? I do not see a good reason for it, unless in some very specific corner cases. I suggest you set&amp;nbsp;NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED to 0 in both the application and bootloader. This is also the default in SDK example projects for nRF52840 (those targeting pca10056). Note that for DFU, you just need ECC support (via CC310 I recomend) in the bootloader. Unless you have other use for it in the application you kan disable it. But there is no need to change if you do not want since it will anyway be removed from the linker since it is not used.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2a) I don&amp;#39;t understand the problem? If you do not&amp;nbsp; need eliptic curve cryptography in your application, it is not relevant there. And if you need it in the bootloader, you should use CC310_BL. So the best is to just forget about micro-ecc.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Br,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Einar&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224698?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2019 13:24:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bed66cb6-27b8-4d8a-b5c9-80a15a9cd54a</guid><dc:creator>beemavishnu</dc:creator><description>&lt;p&gt;Thanks a lot. Now I am getting better understanding and confidence.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;1) As per below link, I enabled NRF_CRYPTO_BACKEND_CC310_ENABLED and disabled NRF_CRYPTO_BACKEND_CC310_BL_ENABLED. As mentioned in point 4 “The bootloader does not use the &amp;quot;normal&amp;quot; CC310 library for size reasons” I got error.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Flib_crypto_config.html"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Flib_crypto_config.html&lt;/a&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;a) In this case we can never enable “ARM Cryptocell” in Secure BLE blootloader. Is my understanding correct ?&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;b) Will this impact any current consumption as we are using “nrf_cc310_&lt;strong&gt;bl&lt;/strong&gt; backend” which is reduced variant of the “nrf_cc310 backend” ?&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_crypto_ecc.html&amp;amp;anchor=lib_crypto_ecc_backend"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_crypto_ecc.html&amp;amp;anchor=lib_crypto_ecc_backend&lt;/a&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-d16d7f405d0b4167b9a45b42b6cdc323/pastedimage1575379159825v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2) For better clarity about the statement “you need to configure this separately for the bootloader and the application for two reasons”, assume in case of micro-ecc, we need to enable NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED, add library “micro_ecc_lib_nrf52.a” into project, including supporting file and path and then compile.&lt;/p&gt;
&lt;p&gt;Whereas in application (Ex: ble_app_blink) no need to enable NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED and add “micro_ecc_lib_nrf52.a”. To my understanding, I can take the application as is and build a package (with private key added) without any modifications. Is my understanding correct ?&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;a) I got confused with the snapshot in below link, where library is included in application. Without this I generated package and able to uploaded.&lt;/p&gt;
&lt;p style="padding-left:30px;"&gt;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_crypto_backend_micro_ecc.html&amp;amp;cp=6_1_3_11_16_2_3&amp;amp;anchor=nrf_crypto_default_backends_micro_ecc"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Flib_crypto_backend_micro_ecc.html&amp;amp;cp=6_1_3_11_16_2_3&amp;amp;anchor=nrf_crypto_default_backends_micro_ecc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks &amp;amp; Regards&lt;/p&gt;
&lt;p&gt;Vishnu Beema&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Enabling Crypto Hardware backend feature on nRF52840</title><link>https://devzone.nordicsemi.com/thread/224697?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2019 12:50:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:78182d0b-cb4e-4138-9ef2-fca9f548b901</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;Vishnu,&lt;/p&gt;
&lt;p&gt;1) The HW backend enabling in sdk_config.h is hierarchical. If&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED is the only backend enable that is set to 1, then you know that it is used. If you have multiple backends, you need to make sure that the backend itself is enabled (e.g. NRF_CRYPTO_BACKEND_CC310_BL_ENABLED) and that the specific algorithm within that backend is enabled (e.g.&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_ECC_SECP256R1_ENABLED if you will use&amp;nbsp;the secp256r1 elliptic curve support in the CC310 backend). (You will get a preprocessor error if multiple backends are enabled for the same algorithm.)&lt;/p&gt;
&lt;p&gt;2) Yes, you can set&amp;nbsp;NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED to 0 in that case.&lt;/p&gt;
&lt;p&gt;2a)There is no need to include the uECC library if&amp;nbsp;NRF_CRYPTO_BACKEND_MICRO_ECC_ENABLED is set to 0 (but it does not matter much, since it is anyway not included by the linker when it is not used).&lt;/p&gt;
&lt;p&gt;3)&amp;nbsp;NRF_CRYPTO_ENABLED must be enabled to use nRF Crypto. You should remember that this is a hierarchy. It is easier to visualize this using a GUI tool, such as for instance &lt;a href="https://sourceforge.net/projects/cmsisconfig/"&gt;CMSIS Configuration Wizard&lt;/a&gt;&amp;nbsp;or Keil (you can use the evaluation version of Keil if you just use it to edit sdk_config.h in a graphical way and don&amp;#39;t need it for building).&lt;/p&gt;
&lt;p&gt;3a) Yes&lt;/p&gt;
&lt;p&gt;4) I did not understand the question. Can you explain more? However, you should remember that you need to configure this separately for the bootloader and the application for two reasons: 1. The bootloader and application use separate sdk_config.h files. 2. The bootloader does not use the &amp;quot;normal&amp;quot; CC310 library for size reasons, rather it uses the CC310_bl library. So in the bootloader, you should enable the&amp;nbsp;NRF_CRYPTO_BACKEND_CC310_BL_ENABLED. Note that this is the default for example bootloader projects targeting the nRF52840 DK.&lt;/p&gt;
&lt;p&gt;5) The project with debug includes RTT logging, which is very useful when debugging DFU issues etc. It it also built with the public key that is needed to use the exmaple DFU images distributed with the SDK (but you can easily replace it with your own public key, in the same way you will in the non-debug bootloader. The down-side of the debug bootloader is that it is larger in size, which is why the default configuration does not use RTT logging.&lt;/p&gt;
&lt;p&gt;6) The system with backend and frontends are there to give you the same high-level crypto API regardless of which actual library of HW is used. So the SDK libraries and examples only has to support the nRF Crypto API, and this will be the same on the nRF52840 (with HW acceleration) and other nRF5 devices. It is described &lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_crypto.html"&gt;here&lt;/a&gt;. (This is the same concept used in other areas of the SDK as well. For instance, the fstorage library has two backends - one for direct flash access and one via the SoftDevice -, but as a user you do not need to care about it, since the API you see is always the same.)&lt;/p&gt;
&lt;p&gt;Br,&lt;/p&gt;
&lt;p&gt;Einar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>