<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: RAM catalogs issues in S32K</title>
    <link>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2104432#M49197</link>
    <description>&lt;P&gt;Thanks for the response. I understood that group index needs to be changed according to the definition of RAM catalogs. But why in the example of Diffie Helman they are using Derive Key, But before that there are trying to import using key container. May i Know why these key containers are needed.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 26 May 2025 11:21:34 GMT</pubDate>
    <dc:creator>kerti1</dc:creator>
    <dc:date>2025-05-26T11:21:34Z</dc:date>
    <item>
      <title>RAM catalogs issues</title>
      <link>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2101584#M49049</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am working on the implementation of ECDH. I took the DemoExamples which includes Demoapp_SessionKeys as reference. The example include RAM Key catalog as shown below.&lt;/P&gt;&lt;P&gt;const hseKeyGroupCfgEntry_t RAM_Catalog [] =&lt;BR /&gt;{&lt;BR /&gt;/* keyType numOfKeySlots maxKeyBitLen*/ \&lt;BR /&gt;/* Symetric key */ \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_SHE, 1U, HSE_KEY128_BITS}, /* KEY_RAM */ \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_AES, 10U, HSE_KEY128_BITS}, \&lt;BR /&gt;{HSE_MU0_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_AES, 10U, HSE_KEY256_BITS}, /* HMAC key */ \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_HMAC, 6U, HSE_KEY1024_BITS}, /* RSA key */ \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_RSA_PUB, 2U, HSE_KEY2048_BITS}, \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_RSA_PUB_EXT, 1U, HSE_KEY1024_BITS}, \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, WRP_KEY_TYPE_ECC_PAIR, 2U, WRP_ECC_KEY_SIZE}, \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, WRP_KEY_TYPE_ECC_PUB, 5U, WRP_ECC_KEY_SIZE}, \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_SHARED_SECRET, 2U, HSE_KEY638_BITS}, \&lt;BR /&gt;{HSE_ALL_MU_MASK, HSE_KEY_OWNER_ANY, HSE_KEY_TYPE_SHARED_SECRET, 1U, HSE_KEY2048_BITS}, \&lt;BR /&gt;{ \&lt;BR /&gt;0U, 0U, 0U, 0U, 0U \&lt;BR /&gt;}&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;I'm using operations like AES, HMAC, and ECC, but not all key types. So I removed RSA, HMAC, and KEY_TYPE_SHE entries from the key catalog, thinking they were unnecessary. After that, I was still able to generate ECC key pairs (ECC_PAIR) without any problem. However, when I tried to import an ECC public key (ECC_PUB), I got an INVALID_PARAMS error. But when I used the original full key catalog (including all entries like RSA, HMAC, etc.), it worked fine.&lt;/P&gt;&lt;P class=""&gt;This made me confused about what the &lt;STRONG&gt;key catalog&lt;/STRONG&gt; really does. I don’t fully understand why removing unused entries causes errors. I always get INVALID_PARAMS errors when modifying the catalog, and I would like to understand &lt;STRONG&gt;why&lt;/STRONG&gt; this happens and &lt;STRONG&gt;what the key catalog is actually for&lt;/STRONG&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 21 May 2025 11:43:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2101584#M49049</guid>
      <dc:creator>kerti1</dc:creator>
      <dc:date>2025-05-21T11:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: RAM catalogs issues</title>
      <link>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2101657#M49054</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/249628"&gt;@kerti1&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This is thoroughly explained in HSE-B Firmware Reference Manual v2.4. Take a look at following sections:&lt;/P&gt;
&lt;P&gt;6.1.5 Key catalog&lt;/P&gt;
&lt;P&gt;6.1.6 Key handle&lt;/P&gt;
&lt;P&gt;In short - if you want to work with keys (import, export, use them...) the key catalogs must be formatted. This tells to HSE how many keys will be used, which size, which types... &lt;/P&gt;
&lt;P&gt;And now the key point - you can select a key for an operation by "key handle". This is 32bit word which specifies catalog, group and key:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lukaszadrapa_0-1747834282316.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/338995iED864018FDCF2E5A/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lukaszadrapa_0-1747834282316.png" alt="lukaszadrapa_0-1747834282316.png" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;lukaszadrapa_0-1747834282316.png&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;So, the key handle points to exact single key in a catalog. &lt;/P&gt;
&lt;P&gt;If you deleted some groups, the key handle for ECC_PUB key must be changed accordingly. For example, in the original catalog you shared, the key group index of ECC_PUB is 7. If you deleted two groups above ECC_PUB, the index is changed to 5 -&amp;gt; you need to update this in your code. &lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Lukas&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 21 May 2025 13:38:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2101657#M49054</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2025-05-21T13:38:03Z</dc:date>
    </item>
    <item>
      <title>Re: RAM catalogs issues</title>
      <link>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2104432#M49197</link>
      <description>&lt;P&gt;Thanks for the response. I understood that group index needs to be changed according to the definition of RAM catalogs. But why in the example of Diffie Helman they are using Derive Key, But before that there are trying to import using key container. May i Know why these key containers are needed.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 26 May 2025 11:21:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/RAM-catalogs-issues/m-p/2104432#M49197</guid>
      <dc:creator>kerti1</dc:creator>
      <dc:date>2025-05-26T11:21:34Z</dc:date>
    </item>
  </channel>
</rss>

