<?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>NFCのトピックRe: Calculating CMAC for DESFire EV1</title>
    <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858842#M4830</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="336596" data-username="david.cleal@masabi.com" href="https://community.nxp.com/people/david.cleal@masabi.com"&gt;David Cleal&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;I deeply apologize for the delay,&amp;nbsp; yes you will have to use the updated IV for future calculations not the zeros IV, so the calculations should be&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data = 00&lt;BR /&gt;IV = 7CC4A0C770A11F62762F397482F75E92&lt;/P&gt;&lt;P&gt;Session Key = 00112233F9B7C14CCCDDEEFF1E92CBD4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the result should be&amp;nbsp;99 FF 48 6D 1B CE 3F 24 60 69 D8 4D 03 38 55 A6.&lt;/P&gt;&lt;P&gt;Hope this is clear and please let me know if you have more questions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jonathan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Mar 2019 17:12:01 GMT</pubDate>
    <dc:creator>Jonathan_Iglesias</dc:creator>
    <dc:date>2019-03-12T17:12:01Z</dc:date>
    <item>
      <title>Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858839#M4827</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm working through the examples in AN0945. I'm stuck on table 41, trying to understand how to calculate&amp;nbsp;AES CMACs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In step one,&amp;nbsp;it says&amp;nbsp;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;...Calculate CMAC on “3D01000000100000010203040 50607080910111213141516” (cmd + file no + offset + length + data) as done in native mode.&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P&gt;I used my CMAC implementation to correctly calculate the CMAC on this as&amp;nbsp;7CC4A0C770A11F62762F397482F75E92, using the session key, which gives me some confidence that my CMAC implementation is correct.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, in step 5, it says&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;...Calculate CMAC on “00” (success code as in native)... and it says that the result should be&amp;nbsp;99FF486D1BCE3F24.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume this means I should get a 16 byte CMAC and these are the first eight? In any case, if I calculate the CMAC on "00" using the session key of&amp;nbsp;00112233F9B7C14CCCDDEEFF1E92CBD4, I get something completely different (I actually get&amp;nbsp;5C0821A202813197E29134F30CF3728D).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, my question is, does the calculation actually work on just "00"? Is there some other difference between steps 1 and 5? For example, I don't believe that I should use the IV in the CMAC calculation, but perhaps I should?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Dave&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2019 16:28:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858839#M4827</guid>
      <dc:creator>david_cleal</dc:creator>
      <dc:date>2019-02-28T16:28:03Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858840#M4828</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Update... I can't even make the example in table 24, step 4, work. Is there a reference implementation of this calculation somewhere that I can use? Preferably in Java?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Feb 2019 17:01:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858840#M4828</guid>
      <dc:creator>david_cleal</dc:creator>
      <dc:date>2019-02-28T17:01:51Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858841#M4829</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Quiet in here, isn't it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case anyone comes this way,&amp;nbsp; then I found the answer, which is that yes, you do use the IV in the CMAC calculation. But not in the bit where you use the cipher to calculate sub keys, just in the final encryption pass. This makes it difficult to do this using bouncy castle, and I ended up&amp;nbsp;rolling my own CMAC implementation. After that, everything just worked.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Mar 2019 18:58:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858841#M4829</guid>
      <dc:creator>david_cleal</dc:creator>
      <dc:date>2019-03-04T18:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858842#M4830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear&amp;nbsp;&lt;A _jive_internal="true" data-content-finding="Community" data-userid="336596" data-username="david.cleal@masabi.com" href="https://community.nxp.com/people/david.cleal@masabi.com"&gt;David Cleal&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;I deeply apologize for the delay,&amp;nbsp; yes you will have to use the updated IV for future calculations not the zeros IV, so the calculations should be&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data = 00&lt;BR /&gt;IV = 7CC4A0C770A11F62762F397482F75E92&lt;/P&gt;&lt;P&gt;Session Key = 00112233F9B7C14CCCDDEEFF1E92CBD4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the result should be&amp;nbsp;99 FF 48 6D 1B CE 3F 24 60 69 D8 4D 03 38 55 A6.&lt;/P&gt;&lt;P&gt;Hope this is clear and please let me know if you have more questions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jonathan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Mar 2019 17:12:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858842#M4830</guid>
      <dc:creator>Jonathan_Iglesias</dc:creator>
      <dc:date>2019-03-12T17:12:01Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858843#M4831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/jonathaniglesias"&gt;jonathaniglesias&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;thanks for the message - as I said earlier, I did manage to get it working, once I realised we were using a modified IV. Incidentally, varying the IV seems like pointless complexity: it makes it harder to use&amp;nbsp;standard implementations like bouncycastle, and it doesn't add security. But I guess it's way too late to complain ;-)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Dave&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Mar 2019 11:45:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/858843#M4831</guid>
      <dc:creator>david_cleal</dc:creator>
      <dc:date>2019-03-13T11:45:01Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/1654120#M10357</link>
      <description>&lt;P&gt;Can you provide me with sample sudo code for cmac generation also CRC32 &amp;amp; CRC16&lt;/P&gt;</description>
      <pubDate>Sat, 20 May 2023 07:01:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/1654120#M10357</guid>
      <dc:creator>AtekPayments</dc:creator>
      <dc:date>2023-05-20T07:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: Calculating CMAC for DESFire EV1</title>
      <link>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/1654174#M10358</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Response: Dear AtekPayments,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Here's a simple pseudocode for generating CMAC, CRC32, and CRC16:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;1. CMAC Generation:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;```&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;function generate_cmac(key, message)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;// Initialize the CMAC context with the given key&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cmac_context = init_cmac_context(key)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;// Update the CMAC context with the message&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;update_cmac_context(cmac_context, message)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;// Finalize the CMAC context and get the result&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;cmac_result = finalize_cmac_context(cmac_context)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return cmac_result&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;```&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;2. CRC32 Calculation:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;```&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;function crc32(data)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = 0xFFFFFFFF&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;for each byte in data&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = update_crc32(crc, byte)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;end for&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return crc ^ 0xFFFFFFFF&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;function update_crc32(crc, byte)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = crc ^ byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;for i = 0 to 7&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;if crc &amp;amp; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = (crc &amp;gt;&amp;gt; 1) ^ 0xEDB88320&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;else&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = crc &amp;gt;&amp;gt; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;end if&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;end for&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return crc&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;```&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;3. CRC16 Calculation:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;```&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;function crc16(data)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = 0xFFFF&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;for each byte in data&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = update_crc16(crc, byte)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;end for&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return crc&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;function update_crc16(crc, byte)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = crc ^ byte&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;for i = 0 to 7&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;if crc &amp;amp; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = (crc &amp;gt;&amp;gt; 1) ^ 0xA001&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;else&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;crc = crc &amp;gt;&amp;gt; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;end if&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;end for&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;return crc&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end function&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;```&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please note that these are simple pseudocode examples and may need to be adapted to your specific programming language and use case&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 20 May 2023 21:59:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/Calculating-CMAC-for-DESFire-EV1/m-p/1654174#M10358</guid>
      <dc:creator>giraffe508</dc:creator>
      <dc:date>2023-05-20T21:59:20Z</dc:date>
    </item>
  </channel>
</rss>

