<?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のトピックPN7462 How to calculate 'MAC algorithm 3' by Using CryptoSym Module?</title>
    <link>https://community.nxp.com/t5/NFC/PN7462-How-to-calculate-MAC-algorithm-3-by-Using-CryptoSym/m-p/1446354#M9372</link>
    <description>&lt;P&gt;Hi, I want to calculate Mac3([ISO/IEC 9797-1] MAC algorithm 3 with blockcipher DES, zero IV(8bytes), [ISO / IEC 9797 - 1] padding method 2) by using Cyptosym module of NXP NFC Reader Library.&lt;/P&gt;&lt;P&gt;This is the code i wrote for test, but it does not give the expected result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;uint8_t kMac[16] = {0};&lt;/P&gt;&lt;P&gt;kMac[0] = 0x1C;&lt;BR /&gt;kMac[1] = 0x45;&lt;BR /&gt;kMac[2] = 0x86;&lt;BR /&gt;kMac[3] = 0xCD;&lt;BR /&gt;kMac[4] = 0x3E;&lt;BR /&gt;kMac[5] = 0xB6;&lt;BR /&gt;kMac[6] = 0xE3;&lt;BR /&gt;kMac[7] = 0x26;&lt;BR /&gt;kMac[8] = 0x1;&lt;BR /&gt;kMac[9] = 0x4C;&lt;BR /&gt;kMac[10] = 0x61;&lt;BR /&gt;kMac[11] = 0xDF;&lt;BR /&gt;kMac[12] = 0xD9;&lt;BR /&gt;kMac[13] = 0xCD;&lt;BR /&gt;kMac[14] = 0x76;&lt;BR /&gt;kMac[15] = 0x7F;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;uint8_t eifd_Latest[32] = {0};&lt;/P&gt;&lt;P&gt;eifd_Latest[0] = 0xDC;&lt;BR /&gt;eifd_Latest[1] = 0xD0;&lt;BR /&gt;eifd_Latest[2] = 0xAB;&lt;BR /&gt;eifd_Latest[3] = 0xF5;&lt;BR /&gt;eifd_Latest[4] = 0x64;&lt;BR /&gt;eifd_Latest[5] = 0xCB;&lt;BR /&gt;eifd_Latest[6] = 0xF5;&lt;BR /&gt;eifd_Latest[7] = 0x3A;&lt;BR /&gt;eifd_Latest[8] = 0xF;&lt;BR /&gt;eifd_Latest[9] = 0x73;&lt;BR /&gt;eifd_Latest[10] = 0x68;&lt;BR /&gt;eifd_Latest[11] = 0xCA;&lt;BR /&gt;eifd_Latest[12] = 0x4D;&lt;BR /&gt;eifd_Latest[13] = 0x3A;&lt;BR /&gt;eifd_Latest[14] = 0x6D;&lt;BR /&gt;eifd_Latest[15] = 0xFE;&lt;BR /&gt;eifd_Latest[16] = 0x6D;&lt;BR /&gt;eifd_Latest[17] = 0x89;&lt;BR /&gt;eifd_Latest[18] = 0x37;&lt;BR /&gt;eifd_Latest[19] = 0x14;&lt;BR /&gt;eifd_Latest[20] = 0x15;&lt;BR /&gt;eifd_Latest[21] = 0xB8;&lt;BR /&gt;eifd_Latest[22] = 0x8B;&lt;BR /&gt;eifd_Latest[23] = 0x4B;&lt;BR /&gt;eifd_Latest[24] = 0x17;&lt;BR /&gt;eifd_Latest[25] = 0x32;&lt;BR /&gt;eifd_Latest[26] = 0x91;&lt;BR /&gt;eifd_Latest[27] = 0xB0;&lt;BR /&gt;eifd_Latest[28] = 0xE4;&lt;BR /&gt;eifd_Latest[29] = 0x3B;&lt;BR /&gt;eifd_Latest[30] = 0x8;&lt;BR /&gt;eifd_Latest[31] = 0x95;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;phCryptoSym_Sw_DataParams_t sCryptoEncMac;&lt;/P&gt;&lt;P&gt;phCryptoSym_Sw_Init(&amp;amp;sCryptoEncMac,sizeof(phCryptoSym_Sw_DataParams_t), NULL);&lt;/P&gt;&lt;P&gt;phCryptoSym_SetConfig(&amp;amp;sCryptoEncMac,PH_CRYPTOSYM_CONFIG_KEEP_IV, PH_CRYPTOSYM_VALUE_KEEP_IV_OFF);&lt;/P&gt;&lt;P&gt;phCryptoSym_LoadKeyDirect(&amp;amp;sCryptoEncMac,kMac, PH_CRYPTOSYM_KEY_TYPE_3K3DES);&lt;/P&gt;&lt;P&gt;phCryptoSym_LoadIv(&amp;amp;sCryptoEncMac, iv, 8);&lt;/P&gt;&lt;P&gt;uint8_t maclength;&lt;BR /&gt;uint8_t mac[8] = {0};&lt;/P&gt;&lt;P&gt;phCryptoSym_CalculateMac(&lt;BR /&gt;&amp;amp;sCryptoEncMac,&lt;BR /&gt;(PH_CRYPTOSYM_MAC_MODE_CBCMAC),&lt;BR /&gt;&amp;amp;eifd_Latest[0],&lt;BR /&gt;32,&lt;BR /&gt;&amp;amp;mac[0],&lt;BR /&gt;&amp;amp;maclength);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result MAC sshould be :&lt;/P&gt;&lt;P&gt;0 = 0x18&lt;BR /&gt;1 = 0x3E&lt;BR /&gt;2 = 0x7&lt;BR /&gt;3 = 0x61&lt;BR /&gt;4 = 0x55&lt;BR /&gt;5 = 0x7E&lt;BR /&gt;6 = 0x86&lt;BR /&gt;7 = 0xDE&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But i am getting different result with above code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Where could I be doing wrong?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 20 Apr 2022 10:41:41 GMT</pubDate>
    <dc:creator>EE_Ark</dc:creator>
    <dc:date>2022-04-20T10:41:41Z</dc:date>
    <item>
      <title>PN7462 How to calculate 'MAC algorithm 3' by Using CryptoSym Module?</title>
      <link>https://community.nxp.com/t5/NFC/PN7462-How-to-calculate-MAC-algorithm-3-by-Using-CryptoSym/m-p/1446354#M9372</link>
      <description>&lt;P&gt;Hi, I want to calculate Mac3([ISO/IEC 9797-1] MAC algorithm 3 with blockcipher DES, zero IV(8bytes), [ISO / IEC 9797 - 1] padding method 2) by using Cyptosym module of NXP NFC Reader Library.&lt;/P&gt;&lt;P&gt;This is the code i wrote for test, but it does not give the expected result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;uint8_t kMac[16] = {0};&lt;/P&gt;&lt;P&gt;kMac[0] = 0x1C;&lt;BR /&gt;kMac[1] = 0x45;&lt;BR /&gt;kMac[2] = 0x86;&lt;BR /&gt;kMac[3] = 0xCD;&lt;BR /&gt;kMac[4] = 0x3E;&lt;BR /&gt;kMac[5] = 0xB6;&lt;BR /&gt;kMac[6] = 0xE3;&lt;BR /&gt;kMac[7] = 0x26;&lt;BR /&gt;kMac[8] = 0x1;&lt;BR /&gt;kMac[9] = 0x4C;&lt;BR /&gt;kMac[10] = 0x61;&lt;BR /&gt;kMac[11] = 0xDF;&lt;BR /&gt;kMac[12] = 0xD9;&lt;BR /&gt;kMac[13] = 0xCD;&lt;BR /&gt;kMac[14] = 0x76;&lt;BR /&gt;kMac[15] = 0x7F;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;uint8_t eifd_Latest[32] = {0};&lt;/P&gt;&lt;P&gt;eifd_Latest[0] = 0xDC;&lt;BR /&gt;eifd_Latest[1] = 0xD0;&lt;BR /&gt;eifd_Latest[2] = 0xAB;&lt;BR /&gt;eifd_Latest[3] = 0xF5;&lt;BR /&gt;eifd_Latest[4] = 0x64;&lt;BR /&gt;eifd_Latest[5] = 0xCB;&lt;BR /&gt;eifd_Latest[6] = 0xF5;&lt;BR /&gt;eifd_Latest[7] = 0x3A;&lt;BR /&gt;eifd_Latest[8] = 0xF;&lt;BR /&gt;eifd_Latest[9] = 0x73;&lt;BR /&gt;eifd_Latest[10] = 0x68;&lt;BR /&gt;eifd_Latest[11] = 0xCA;&lt;BR /&gt;eifd_Latest[12] = 0x4D;&lt;BR /&gt;eifd_Latest[13] = 0x3A;&lt;BR /&gt;eifd_Latest[14] = 0x6D;&lt;BR /&gt;eifd_Latest[15] = 0xFE;&lt;BR /&gt;eifd_Latest[16] = 0x6D;&lt;BR /&gt;eifd_Latest[17] = 0x89;&lt;BR /&gt;eifd_Latest[18] = 0x37;&lt;BR /&gt;eifd_Latest[19] = 0x14;&lt;BR /&gt;eifd_Latest[20] = 0x15;&lt;BR /&gt;eifd_Latest[21] = 0xB8;&lt;BR /&gt;eifd_Latest[22] = 0x8B;&lt;BR /&gt;eifd_Latest[23] = 0x4B;&lt;BR /&gt;eifd_Latest[24] = 0x17;&lt;BR /&gt;eifd_Latest[25] = 0x32;&lt;BR /&gt;eifd_Latest[26] = 0x91;&lt;BR /&gt;eifd_Latest[27] = 0xB0;&lt;BR /&gt;eifd_Latest[28] = 0xE4;&lt;BR /&gt;eifd_Latest[29] = 0x3B;&lt;BR /&gt;eifd_Latest[30] = 0x8;&lt;BR /&gt;eifd_Latest[31] = 0x95;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;phCryptoSym_Sw_DataParams_t sCryptoEncMac;&lt;/P&gt;&lt;P&gt;phCryptoSym_Sw_Init(&amp;amp;sCryptoEncMac,sizeof(phCryptoSym_Sw_DataParams_t), NULL);&lt;/P&gt;&lt;P&gt;phCryptoSym_SetConfig(&amp;amp;sCryptoEncMac,PH_CRYPTOSYM_CONFIG_KEEP_IV, PH_CRYPTOSYM_VALUE_KEEP_IV_OFF);&lt;/P&gt;&lt;P&gt;phCryptoSym_LoadKeyDirect(&amp;amp;sCryptoEncMac,kMac, PH_CRYPTOSYM_KEY_TYPE_3K3DES);&lt;/P&gt;&lt;P&gt;phCryptoSym_LoadIv(&amp;amp;sCryptoEncMac, iv, 8);&lt;/P&gt;&lt;P&gt;uint8_t maclength;&lt;BR /&gt;uint8_t mac[8] = {0};&lt;/P&gt;&lt;P&gt;phCryptoSym_CalculateMac(&lt;BR /&gt;&amp;amp;sCryptoEncMac,&lt;BR /&gt;(PH_CRYPTOSYM_MAC_MODE_CBCMAC),&lt;BR /&gt;&amp;amp;eifd_Latest[0],&lt;BR /&gt;32,&lt;BR /&gt;&amp;amp;mac[0],&lt;BR /&gt;&amp;amp;maclength);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result MAC sshould be :&lt;/P&gt;&lt;P&gt;0 = 0x18&lt;BR /&gt;1 = 0x3E&lt;BR /&gt;2 = 0x7&lt;BR /&gt;3 = 0x61&lt;BR /&gt;4 = 0x55&lt;BR /&gt;5 = 0x7E&lt;BR /&gt;6 = 0x86&lt;BR /&gt;7 = 0xDE&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;But i am getting different result with above code.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Where could I be doing wrong?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Apr 2022 10:41:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/PN7462-How-to-calculate-MAC-algorithm-3-by-Using-CryptoSym/m-p/1446354#M9372</guid>
      <dc:creator>EE_Ark</dc:creator>
      <dc:date>2022-04-20T10:41:41Z</dc:date>
    </item>
    <item>
      <title>Re: PN7462 How to calculate 'MAC algorithm 3' by Using CryptoSym Module?</title>
      <link>https://community.nxp.com/t5/NFC/PN7462-How-to-calculate-MAC-algorithm-3-by-Using-CryptoSym/m-p/1454421#M9423</link>
      <description>&lt;P&gt;Hi EE:&lt;/P&gt;
&lt;P&gt;please refer to the description of CryptoSym implementations&lt;/P&gt;
&lt;P&gt;Important hints for users of this component:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Before use of any function, the dedicated crypto implementation has to be initialized (e.g.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Initialise the CryptoSym component. " href="https://community.nxp.com/../../da/d92/group__phCryptoSym__Sw.html#gaa76c6428eda9280afa69dc3c0499803f" target="_blank"&gt;phCryptoSym_Sw_Init&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Functions using a key store (&lt;A class="el" title="Load Key. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#ga8f6be8576626792ed9ed42814fe183df" target="_blank"&gt;phCryptoSym_LoadKey&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Diversify Key - Note: This function invalidates the currently loaded key. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#ga97fc15084cc72fb511ca3685c8b7fcf7" target="_blank"&gt;phCryptoSym_DiversifyKey&lt;/A&gt;) are only available if a key store has been passed during component initialization&lt;/LI&gt;
&lt;LI&gt;Before any cipher operation or MAC operation (&lt;A class="el" title="Perform Encryption with one of the supported crypto modes. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gadefef06a8574a6cee757f9c2d3ddf036" target="_blank"&gt;phCryptoSym_Encrypt&lt;/A&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Perform Decryption with one of the supported crypto modes. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gaccc2b7854c9d6f5b6e880b82c35771f1" target="_blank"&gt;phCryptoSym_Decrypt&lt;/A&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Calculate MAC with one of the supported MAC modes. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gaa2efbc292feb0fad8daa4d08a3464975" target="_blank"&gt;phCryptoSym_CalculateMac&lt;/A&gt;) can be used, a key has to be loaded using either&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Load Key. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#ga8f6be8576626792ed9ed42814fe183df" target="_blank"&gt;phCryptoSym_LoadKey&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;or&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Direct Load Key. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gae0c39ba4878f0f47493d86db62bca946" target="_blank"&gt;phCryptoSym_LoadKeyDirect&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Before any cipher operation or MAC operation (&lt;A class="el" title="Perform Encryption with one of the supported crypto modes. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gadefef06a8574a6cee757f9c2d3ddf036" target="_blank"&gt;phCryptoSym_Encrypt&lt;/A&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Perform Decryption with one of the supported crypto modes. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gaccc2b7854c9d6f5b6e880b82c35771f1" target="_blank"&gt;phCryptoSym_Decrypt&lt;/A&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Calculate MAC with one of the supported MAC modes. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gaa2efbc292feb0fad8daa4d08a3464975" target="_blank"&gt;phCryptoSym_CalculateMac&lt;/A&gt;) can be used, an appropriate IV has to be loaded by calling&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Load IV. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#gaf98098fea6a6163eb1a83541cd265a04" target="_blank"&gt;phCryptoSym_LoadIv&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Using&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A class="el" title="Get configuration parameter. " href="https://community.nxp.com/../../dc/dfa/group__phCryptoSym.html#ga748ef1fe4f90604a86dc6aae80975fce" target="_blank"&gt;phCryptoSym_GetConfig&lt;/A&gt;, the block sizes and key lengths for the currently loaded key can be retrieved&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Sat, 07 May 2022 01:47:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NFC/PN7462-How-to-calculate-MAC-algorithm-3-by-Using-CryptoSym/m-p/1454421#M9423</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2022-05-07T01:47:35Z</dc:date>
    </item>
  </channel>
</rss>

