<?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>nRF5340 CryptoCell-312 SHA-1 Support via PSA Crypto API</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/90020/nrf5340-cryptocell-312-sha-1-support-via-psa-crypto-api</link><description>Hi, 
 According to CryptoCell-312 documentation , it supports the SHA-1 algorithm. I was able to successfully run the SHA-256 cryptography sample application in the nRF Connect SDK ( v2.0.0/nrf/samples/crypto/sha256). I made a copy of this app, and converted</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 18 Jul 2022 12:07:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/90020/nrf5340-cryptocell-312-sha-1-support-via-psa-crypto-api" /><item><title>RE: nRF5340 CryptoCell-312 SHA-1 Support via PSA Crypto API</title><link>https://devzone.nordicsemi.com/thread/377409?ContentTypeID=1</link><pubDate>Mon, 18 Jul 2022 12:07:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:00808c9b-2045-4ea1-a417-594d9d346633</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;It turns out that SHA_1 is not allowed in &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/security_chapter.html"&gt;Trusted Firmware-M&lt;/a&gt;.&lt;br /&gt;&lt;a href="https://github.com/zephyrproject-rtos/tf-m-tests/blob/c99a86b295c4887520da9d8402566d7f225c974e/test/secure_fw/suites/crypto/non_secure/crypto_ns_interface_testsuite.c#L263"&gt;psa_unsupported_hash_test(PSA_ALG_SHA_1, ret);&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So either do not use SHA_1, or turn off TF-M. &lt;br /&gt;I would recommend using another hash algorithm.&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 CryptoCell-312 SHA-1 Support via PSA Crypto API</title><link>https://devzone.nordicsemi.com/thread/377250?ContentTypeID=1</link><pubDate>Fri, 15 Jul 2022 17:44:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef8a0502-2e7f-4fa9-9460-b51343ce4e27</guid><dc:creator>chris_c</dc:creator><description>&lt;p&gt;Hi Sigurd,&lt;/p&gt;
&lt;p&gt;Thanks for the suggestion!&amp;nbsp; Adding that to my prj.conf doesn&amp;#39;t seem to change the behavior I&amp;#39;m seeing.&lt;/p&gt;
&lt;p&gt;My proj.conf looks like this:&lt;/p&gt;
&lt;p&gt;# The Zephyr CMSIS emulation assumes that ticks are ms, currently&lt;br /&gt;CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000&lt;/p&gt;
&lt;p&gt;CONFIG_MAIN_STACK_SIZE=4096&lt;br /&gt;CONFIG_HEAP_MEM_POOL_SIZE=4096&lt;/p&gt;
&lt;p&gt;# Enable loging using RTT and UART&lt;br /&gt;CONFIG_CONSOLE=y&lt;br /&gt;CONFIG_LOG=y&lt;br /&gt;CONFIG_USE_SEGGER_RTT=y&lt;br /&gt;CONFIG_LOG_BACKEND_RTT=y&lt;br /&gt;CONFIG_LOG_BACKEND_UART=y&lt;br /&gt;CONFIG_LOG_BUFFER_SIZE=15360&lt;br /&gt;CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=15360&lt;/p&gt;
&lt;p&gt;# Enable nordic security backend and PSA APIs&lt;br /&gt;CONFIG_NRF_SECURITY=y&lt;br /&gt;CONFIG_MBEDTLS_PSA_CRYPTO_C=y&lt;/p&gt;
&lt;p&gt;CONFIG_MBEDTLS_ENABLE_HEAP=y&lt;br /&gt;CONFIG_MBEDTLS_HEAP_SIZE=8192&lt;br /&gt;CONFIG_PSA_CRYPTO_DRIVER_OBERON=n&lt;br /&gt;CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y&lt;br /&gt;CONFIG_PSA_WANT_ALG_SHA_1=y&lt;br /&gt;CONFIG_PSA_CRYPTO_DRIVER_ALG_SHA_1_CC3XX=y&lt;/p&gt;
&lt;p&gt;With my boards/nrf5340dk_nrf5340_cpuapp_ns.conf currently the same as the default sha256 sample:&lt;/p&gt;
&lt;p&gt;CONFIG_BUILD_WITH_TFM=y&lt;br /&gt;CONFIG_TFM_PROFILE_TYPE_NOT_SET=y&lt;/p&gt;
&lt;p&gt;Curiously, I did notice that when I comment out the following two code blocks&amp;nbsp;inside the &amp;quot;v2.0.0/nrfxlib/nrf_security/src/psa_crypto_driver_wrappers.c the SHA-1 hash operation succeeds and another SHA-1 test I am doing with hash_setup() succeeds as expected:&lt;/p&gt;
&lt;p&gt;1. Inside&amp;nbsp;psa_driver_wrapper_hash_compute():&lt;/p&gt;
&lt;p&gt;1687 /*#if defined(MBEDTLS_PSA_CRYPTO_SPM)&lt;br /&gt;1688 if (alg == PSA_ALG_SHA_1) {&lt;br /&gt;1689 return PSA_ERROR_NOT_SUPPORTED;&lt;br /&gt;1690 }&lt;br /&gt;1691 #endif*/&lt;/p&gt;
&lt;p&gt;2. Inside&amp;nbsp;psa_driver_wrapper_hash_setup():&lt;/p&gt;
&lt;p&gt;1741 /*#if defined(MBEDTLS_PSA_CRYPTO_SPM)&lt;br /&gt;1742 if (alg == PSA_ALG_SHA_1) {&lt;br /&gt;1743 return PSA_ERROR_NOT_SUPPORTED;&lt;br /&gt;1744 }&lt;br /&gt;1745 #endif*/&lt;/p&gt;
&lt;p&gt;I&amp;#39;m not sure this is the correct approach, but an observation on what is working.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br /&gt;Chris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF5340 CryptoCell-312 SHA-1 Support via PSA Crypto API</title><link>https://devzone.nordicsemi.com/thread/377157?ContentTypeID=1</link><pubDate>Fri, 15 Jul 2022 10:41:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f4d46b7-e864-4832-bcb8-650b157fca12</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Is &lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.0.0/nrfxlib/nrf_security/doc/driver_config.html#secure-hash-driver-configurations"&gt;CONFIG_PSA_CRYPTO_DRIVER_ALG_SHA_1_CC3XX&lt;/a&gt; what you are looking for?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>