<?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>Using the cryptocell device root key on NRF5240 with Zephyr</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55620/using-the-cryptocell-device-root-key-on-nrf5240-with-zephyr</link><description>How do I use the device root key to encrypt and decrypt? 
 I can set the device root key in the cryptocell register, but not sure how to use it. I am using Zephyr by the way. 
 I saw a function mbedtls_internal_aes_decrypt, that I was hoping used the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 20 Dec 2019 14:05:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55620/using-the-cryptocell-device-root-key-on-nrf5240-with-zephyr" /><item><title>RE: Using the cryptocell device root key on NRF5240 with Zephyr</title><link>https://devzone.nordicsemi.com/thread/226594?ContentTypeID=1</link><pubDate>Fri, 20 Dec 2019 14:05:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4fde3559-1697-48a9-8848-27bb01f1f3ab</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I see your point. I will forward it internally.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the cryptocell device root key on NRF5240 with Zephyr</title><link>https://devzone.nordicsemi.com/thread/226414?ContentTypeID=1</link><pubDate>Thu, 19 Dec 2019 14:48:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c32251cf-2d62-4b21-a1a8-59ff811c8bb7</guid><dc:creator>Barry</dc:creator><description>&lt;p&gt;Ok. This is disappointing. We would like to use the Device Root Key. But if there is no way to now, then I guess that&amp;#39;s the way it is. It seems odd to me that you would mention the device root key at all, and how to set it when there is no way to use it. It seems a little misleading. If it were me I would have at least put a statement saying that &amp;quot;While the Device root key can be set, use of the key is not yet implemented and is a future capability that Nordic hopes to implement at some point.&amp;quot;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the cryptocell device root key on NRF5240 with Zephyr</title><link>https://devzone.nordicsemi.com/thread/226394?ContentTypeID=1</link><pubDate>Thu, 19 Dec 2019 13:54:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:341b5cb1-ea49-4f07-8f4f-e65563e3ec86</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have discussed this with R&amp;amp;D, and the current state is simply that the API is not available. We are looking into it, but unfortunately, I do not have a timeline.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the cryptocell device root key on NRF5240 with Zephyr</title><link>https://devzone.nordicsemi.com/thread/225919?ContentTypeID=1</link><pubDate>Tue, 17 Dec 2019 14:19:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18f9195a-7ec1-4c84-be07-eeafeef82447</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I have to admit I have not looked at this using nrf_cc310_mbedcrypto for this before, so I need to check. I will get back to you with some information as soon as possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Using the cryptocell device root key on NRF5240 with Zephyr</title><link>https://devzone.nordicsemi.com/thread/225466?ContentTypeID=1</link><pubDate>Fri, 13 Dec 2019 18:30:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa39bfda-b501-4be0-8a05-0de0a2499ca6</guid><dc:creator>Barry</dc:creator><description>&lt;p&gt;I see that the word at the 0x38 offset that was not equal to 1 is the word that states if the key has been added to the aes context. Ti only gets set if you do a function like&amp;nbsp;mbedtls_aes_setkey_dec() which sets the word I mentioned and adds the key to the second 16 bytes of the aes context.&lt;/p&gt;
&lt;p&gt;So it seems like&amp;nbsp;you need to have a function that can add the device root key (Kdr) to a aes context. Although maybe that isn&amp;#39;t possible if the key cannot be read from the cryptocell.&lt;/p&gt;
&lt;p&gt;In that case I guess you would need to implement an aes function that does not go through mbedtls. Because mbed tls does not have any functions that don&amp;#39;t require there to be a key in the context.&lt;/p&gt;
&lt;p&gt;Or you have to create an aes function that does not require there to be a key in the context, and then somehow amends the context with the key in the cryptocell.&lt;/p&gt;
&lt;p&gt;in cc_aes_defs.h you have and enum&amp;nbsp;CCAesKeyType_t that seems like its sole purpose would be to pass the key type to some aes function that would be able to handle this scenario. But it is not used anywhere that I can see.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>