<?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 Hardware encryption without black keys in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2255304#M242638</link>
    <description>&lt;P&gt;I have hardware encryption using black keys (CAAM), but the customer would also like hardware encryption without the black keys so an ssd partition can be hardware encrypted but be removed in case of a board failure and decrypted on another machine with the key used.&lt;/P&gt;&lt;P&gt;I cannot seem to get the cipher/key working with dmsetup, and am kind of confused as how to tell the system how to tell the difference between using CAAM generated keys and regular keys.&lt;/P&gt;&lt;P&gt;Is it the "capi" part of the cipher, or something else that determines?&lt;/P&gt;&lt;P&gt;(from the imx8m hardware encryption document)&lt;/P&gt;&lt;P&gt;For HW encryption with a caam-keygen key added to kernel keychain:&lt;BR /&gt;dmsetup -v create encrypted --table "0 $(blockdev --getsz /dev/loop0) crypt capi:tk(cbc(aes))-plain :36:logon:logkey: 0 /dev/loop0 0 1 sector_size:512"&lt;/P&gt;&lt;P&gt;How to use regular key?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 04 Dec 2025 12:39:57 GMT</pubDate>
    <dc:creator>flobro</dc:creator>
    <dc:date>2025-12-04T12:39:57Z</dc:date>
    <item>
      <title>Hardware encryption without black keys</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2255304#M242638</link>
      <description>&lt;P&gt;I have hardware encryption using black keys (CAAM), but the customer would also like hardware encryption without the black keys so an ssd partition can be hardware encrypted but be removed in case of a board failure and decrypted on another machine with the key used.&lt;/P&gt;&lt;P&gt;I cannot seem to get the cipher/key working with dmsetup, and am kind of confused as how to tell the system how to tell the difference between using CAAM generated keys and regular keys.&lt;/P&gt;&lt;P&gt;Is it the "capi" part of the cipher, or something else that determines?&lt;/P&gt;&lt;P&gt;(from the imx8m hardware encryption document)&lt;/P&gt;&lt;P&gt;For HW encryption with a caam-keygen key added to kernel keychain:&lt;BR /&gt;dmsetup -v create encrypted --table "0 $(blockdev --getsz /dev/loop0) crypt capi:tk(cbc(aes))-plain :36:logon:logkey: 0 /dev/loop0 0 1 sector_size:512"&lt;/P&gt;&lt;P&gt;How to use regular key?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 Dec 2025 12:39:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2255304#M242638</guid>
      <dc:creator>flobro</dc:creator>
      <dc:date>2025-12-04T12:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware encryption without black keys</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2256182#M242678</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;When using CAAM for hardware encryption, there are two approaches:&lt;BR /&gt;&lt;BR /&gt;1. Using CAAM-generated black keys (device-specific):&lt;BR /&gt;- The black keys are encrypted with the device's OPTMK (One-Time Programmable Master Key)&lt;BR /&gt;- These keys cannot be transferred between devices&lt;BR /&gt;- This is what your current implementation uses&lt;BR /&gt;&lt;BR /&gt;2. Using regular keys with hardware acceleration:&lt;BR /&gt;- For your requirement to decrypt data on another machine, you need to use regular keys&lt;BR /&gt;- The difference is in the cipher specification with dmsetup&lt;BR /&gt;&lt;BR /&gt;For regular key hardware encryption, modify your dmsetup command by removing the "capi:tk" prefix:&lt;BR /&gt;&lt;BR /&gt;```&lt;BR /&gt;dmsetup -v create encrypted --table "0 $(blockdev --getsz /dev/loop0) crypt cbc(aes)-plain :36:logon:logkey: 0 /dev/loop0 0 1 sector_size:512"&lt;BR /&gt;```&lt;BR /&gt;&lt;BR /&gt;The key difference is:&lt;BR /&gt;- With CAAM black keys: `capi:tk(cbc(aes))-plain`&lt;BR /&gt;- With regular keys: `cbc(aes)-plain`&lt;BR /&gt;&lt;BR /&gt;The "tk" in "capi:tk" stands for "tagged key" which indicates CAAM black key usage. By removing this prefix, you're instructing the system to use standard keys while still leveraging hardware acceleration where available.&lt;BR /&gt;&lt;BR /&gt;This approach will allow you to create an encrypted partition that can be moved to another machine and decrypted using the same key.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Dec 2025 14:25:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2256182#M242678</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2025-12-05T14:25:18Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware encryption without black keys</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2256201#M242684</link>
      <description>I did a compare between TK encryption, no TK HW encryption, and software encryption, and to my surprise - writing a 20GB file to the partition with no caching only resulted in a 1 second difference: TK wins, then no tk next, followed by software encryption.&lt;BR /&gt;&lt;BR /&gt;Not real impressive for acceleration</description>
      <pubDate>Fri, 05 Dec 2025 15:05:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-encryption-without-black-keys/m-p/2256201#M242684</guid>
      <dc:creator>flobro</dc:creator>
      <dc:date>2025-12-05T15:05:09Z</dc:date>
    </item>
  </channel>
</rss>

