Additional supported KDF func w/ HSE

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Additional supported KDF func w/ HSE

跳至解决方案
2,043 次查看
Changhawn
Contributor IV

 

Hi

I need KDF function w/HSE , which follow specification of NIST Special Publication 800-56A(The KDF shall be the “concatenation KDF”)

1. Do you have any guide or related code about this?

2. Below code is KDF function w/o HSE(all the paramters is string),  If change as KDF func w/ HSE.  parameter "sharedSecret" is changed as Key handle. In that case, could you guide and tell how to modify?

Thank u.

 

int concatKDF(uint8_t *key, unsigned int keyLen, const uint8_t *sharedSecret, unsigned int sharedSecretLen,
              const uint8_t *otherInfo, unsigned int otherInfoLen)
{
    const mbedtls_md_info_t *md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256);
    mbedtls_md_context_t md;
    uint8_t hash[32]; /* SHA256 Info Length is 32 */
    uint32_t hashLen;
    uint32_t formatted;
    uint8_t counter[4];
    uint32_t N;
    uint32_t offset;
    uint32_t amt;
    uint32_t minlen;
    int rc = 0;
    uint32_t i;
    const void *res;
 
    do
    {
        mbedtls_md_init(&md);
        rc = mbedtls_md_setup(&md, md_info, 1);
        if (rc != 0)
        {
            SYS_CONSOLE_PRINT("!!! mbedtls_md_init_ctx returned %d\r\n", rc);
            rc = -1;
        }
        else
        {
 
            hashLen = mbedtls_md_get_size(md_info);
            if (hashLen > 0u) 
            {
 
                N = ((unsigned int)keyLen + hashLen - 1u) / hashLen;
 
                offset = 0;
                amt = keyLen;
                for (i = 1; i <= N; i++)
                {
                    formatted = htonl(i);
                    counter[0] = (uint8_t)(formatted >> 0) & 0xffu;
                    counter[1] = (uint8_t)(formatted >> & 0xffu;
                    counter[2] = (uint8_t)(formatted >> 16) & 0xffu;
                    counter[3] = (uint8_t)(formatted >> 24) & 0xffu;
 
                    rc = mbedtls_md_starts(&md);
                    rc = mbedtls_md_update(&md, counter, sizeof(counter));
                    rc = mbedtls_md_update(&md, sharedSecret, sharedSecretLen);
                    rc = mbedtls_md_update(&md, otherInfo, otherInfoLen);
                    rc = mbedtls_md_finish(&md, hash);
                    if (rc != 0)
                    {
                        ;
                    }
 
                    minlen = (hashLen < amt) ? hashLen : amt;
 
                    res = memcpy(&key[offset], hash, (size_t)minlen);
 
                    offset += hashLen;
 
                    amt = (amt > hashLen) ? (amt - hashLen) : 0u;
                }
                mbedtls_md_free(&md);
            }
            else
            {
                SYS_CONSOLE_PRINT("!!! hash length(md_info size) is zero\r\n");
                rc = -1;
            }
        }
    } while (false);
 
    return rc;
}

 

0 项奖励
回复
1 解答
1,935 次查看
Changhawn
Contributor IV

Dear NXP guys.

In KDF,  I know that NIST 800-56A is not supported currently in NXP HSE.

So implemented it without HSE.

 

在原帖中查看解决方案

0 项奖励
回复
3 回复数
2,012 次查看
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @Changhawn 

Follwing algorithms are supported by HSE:

lukaszadrapa_0-1732978644341.png


I can see in the source codes that only HSE_KDF_ALGO_TLS12PRF in HSE_Tls12Prf() is used in the NXP port.

So, you can check that function to see how to prepare descriptor to call such service.

Or "S32K344_DemoApp_SessionKeys" example in this package:
https://www.nxp.com/webapp/Download?colCode=S32K3_HSE_DemoExamples
... shows how to call HSE_SRV_ID_KEY_DERIVE.

Regards,
Lukas

0 项奖励
回复
1,983 次查看
Changhawn
Contributor IV

Dear @lukaszadrapa 

I need to drive KEY by NIST KDF SP800 56A spec.

Like below picture, I know that HSE is not support KDF SP800 56A .

Changhawn_0-1733021213041.png

If it is possible to implement , please let me know.

Thank u.

Chang.

标记 (1)
0 项奖励
回复
1,936 次查看
Changhawn
Contributor IV

Dear NXP guys.

In KDF,  I know that NIST 800-56A is not supported currently in NXP HSE.

So implemented it without HSE.

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2003535%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E9%99%84%E5%8A%A0%E6%94%AF%E6%8C%81%20KDF%20%E5%87%BD%E6%95%B0%E5%92%8C%20HSE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2003535%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CBR%20%2F%3E%3CP%3EHi%3C%2FP%3E%3CP%3E%E6%88%91%E9%9C%80%E8%A6%81%E5%B8%A6%E6%9C%89%20HSE%20%E7%9A%84%20KDF%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%AE%83%E9%81%B5%E5%BE%AA%3CSTRONG%3ENIST%20%E7%89%B9%E5%88%AB%E5%87%BA%E7%89%88%E7%89%A9%20800-56A%3C%2FSTRONG%3E%E7%9A%84%E8%A7%84%E8%8C%83%EF%BC%88KDF%20%E5%BA%94%E4%B8%BA%3CSTRONG%3E%E2%80%9C%E4%B8%B2%E8%81%94%20KDF%E2%80%9D%3C%2FSTRONG%3E%20%EF%BC%89%3C%2FP%3E%3CP%3E1.%20%E6%82%A8%E6%9C%89%E5%85%B3%E4%BA%8E%E6%AD%A4%E7%9A%84%E6%8C%87%E5%8D%97%E6%88%96%E7%9B%B8%E5%85%B3%E4%BB%A3%E7%A0%81%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E2.%20%E4%B8%8B%E9%9D%A2%E7%9A%84%E4%BB%A3%E7%A0%81%E6%98%AF%E4%B8%8D%E5%B8%A6%20HSE%20%E7%9A%84%20KDF%20%E5%87%BD%E6%95%B0%EF%BC%88%E6%89%80%E6%9C%89%E5%8F%82%E6%95%B0%E9%83%BD%E6%98%AF%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%89%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%9B%B4%E6%94%B9%E4%B8%BA%E5%B8%A6%20HSE%20%E7%9A%84%20KDF%20%E5%87%BD%E6%95%B0%EF%BC%8C%E5%8F%82%E6%95%B0%3CSTRONG%3E%E2%80%9CsharedSecret%E2%80%9D%E5%B0%86%E6%9B%B4%E6%94%B9%E4%B8%BA%E5%AF%86%E9%92%A5%E5%8F%A5%E6%9F%84%3C%2FSTRONG%3E%E3%80%82%E9%82%A3%E4%B9%88%EF%BC%8C%E6%82%A8%E8%83%BD%E6%8C%87%E5%AF%BC%E4%B8%80%E4%B8%8B%E5%B9%B6%E5%91%8A%E8%AF%89%E6%88%91%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9%E5%90%97%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%84%9F%E8%B0%A2%E4%BD%A0%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CDIV%3Eint%20concatKDF%EF%BC%88uint8_t%20*%20key%EF%BC%8C%20unsigned%20int%20keyLen%EF%BC%8C%20%3CSTRONG%3Econst%20uint8_t%20*%20sharedSecret%3C%2FSTRONG%3E%20%EF%BC%8C%20unsigned%20int%20sharedSecretLen%EF%BC%8C%3C%2FDIV%3E%3CDIV%3Econst%20uint8_t%20*otherInfo%EF%BC%8C%E6%97%A0%E7%AC%A6%E5%8F%B7%E6%95%B4%E6%95%B0otherInfoLen%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3Econst%20mbedtls_md_info_t%20*md_info%20%3D%20mbedtls_md_info_from_type(MBEDTLS_MD_SHA256)%3B%3C%2FDIV%3E%3CDIV%3Embedtls_md_context_t%20md%EF%BC%9B%3C%2FDIV%3E%3CDIV%3Euint8_t%20hash%5B32%5D%3B%20%2F*%20SHA256%20%E4%BF%A1%E6%81%AF%E9%95%BF%E5%BA%A6%E4%B8%BA%2032%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20uint32_t%20hashLen%3B%3C%2FDIV%3E%3CDIV%3Euint32_t%E6%A0%BC%E5%BC%8F%E5%8C%96%EF%BC%9B%3C%2FDIV%3E%3CDIV%3Euint8_t%E8%AE%A1%E6%95%B0%E5%99%A8%5B4%5D%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20uint32_t%20N%3B%3C%2FDIV%3E%3CDIV%3Euint32_t%E5%81%8F%E7%A7%BB%E9%87%8F%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20uint32_t%20amt%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20uint32_t%20minlen%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20int%20rc%20%3D%200%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20uint32_t%20i%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20const%20void%20*res%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E5%81%9A%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20mbedtls_md_init(%26amp%3Bmd)%3B%3C%2FDIV%3E%3CDIV%3Erc%20%3D%20mbedtls_md_setup%EF%BC%88%26amp%3Bmd%EF%BC%8Cmd_info%EF%BC%8C1%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20if%20(rc%20!%3D%200)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3ESYS_CONSOLE_PRINT(%22!!!%20mbedtls_md_init_ctx%20%E8%BF%94%E5%9B%9E%20%25d%5Cr%5Cn%22%2C%20rc)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20rc%20%3D%20-1%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20else%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EhashLen%20%3D%20mbedtls_md_get_size(md_info)%3B%3C%2FDIV%3E%3CDIV%3E%E5%A6%82%E6%9E%9C%EF%BC%88hashLen%26gt%3B%200u%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3EN%20%3D%20((%E6%97%A0%E7%AC%A6%E5%8F%B7%E6%95%B4%E6%95%B0)keyLen%20%2B%20hashLen%20-%201u)%20%2F%20hashLen%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E5%81%8F%E7%A7%BB%E9%87%8F%3D0%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20amt%20%3D%20keyLen%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20for%20(i%20%3D%201%3B%20i%20%26lt%3B%3D%20N%3B%20i%2B%2B)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%E6%A0%BC%E5%BC%8F%E5%8C%96%3Dhtonl%EF%BC%88i%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%E8%AE%A1%E6%95%B0%E5%99%A8%5B0%5D%20%3D%20(uint8_t)(%E6%A0%BC%E5%BC%8F%E5%8C%96%26gt%3B%26gt%3B%200)%20%26amp%3B%200xffu%3B%3C%2FDIV%3E%3CDIV%3E%E8%AE%A1%E6%95%B0%E5%99%A8%5B1%5D%20%3D%20(uint8_t)(%E6%A0%BC%E5%BC%8F%E5%8C%96%26gt%3B%26gt%3B%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%20%26amp%3B%200xffu%3B%3C%2FDIV%3E%3CDIV%3E%E8%AE%A1%E6%95%B0%E5%99%A8%5B2%5D%20%3D%20(uint8_t)(%E6%A0%BC%E5%BC%8F%E5%8C%96%26gt%3B%26gt%3B%2016)%20%26amp%3B%200xffu%3B%3C%2FDIV%3E%3CDIV%3E%E8%AE%A1%E6%95%B0%E5%99%A8%5B3%5D%20%3D%20(uint8_t)(%E6%A0%BC%E5%BC%8F%E5%8C%96%26gt%3B%26gt%3B%2024)%20%26amp%3B%200xffu%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Erc%20%3D%20mbedtls_md_starts%EF%BC%88%26amp%3Bmd%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3Erc%20%3D%20mbedtls_md_update%EF%BC%88%26amp%3Bmd%EF%BC%8C%E8%AE%A1%E6%95%B0%E5%99%A8%EF%BC%8Csizeof%EF%BC%88%E8%AE%A1%E6%95%B0%E5%99%A8%EF%BC%89%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3Erc%20%3D%20mbedtls_md_update%EF%BC%88%26amp%3Bmd%EF%BC%8C%20%3CSTRONG%3EsharedSecret%EF%BC%8CsharedSecretLen%EF%BC%89%EF%BC%9B%3C%2FSTRONG%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20rc%20%3D%20mbedtls_md_update(%26amp%3Bmd%2C%20otherInfo%2C%20otherInfoLen)%3B%3C%2FDIV%3E%3CDIV%3Erc%20%3D%20mbedtls_md_finish%EF%BC%88%26amp%3Bmd%EF%BC%8C%E5%93%88%E5%B8%8C%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20if%20(rc%20!%3D%200)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20minlen%20%3D%20(hashLen%20%26lt%3B%20amt)%20%3F%20hashLen%20%3A%20amt%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Eres%20%3D%20memcpy(%26amp%3Bkey%5Boffset%5D%2C%20hash%2C%20(size_t)minlen)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E5%81%8F%E7%A7%BB%E9%87%8F%20%2B%3D%20hashLen%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20amt%20%3D%20(amt%20%26gt%3B%20hashLen)%20%3F%20(amt%20-%20hashLen)%20%3A%200u%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3Embedtls_md_free%EF%BC%88%26amp%3Bmd%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20else%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3ESYS_CONSOLE_PRINT(%22!!!%20%E5%93%88%E5%B8%8C%E9%95%BF%E5%BA%A6(md_info%20%E5%A4%A7%E5%B0%8F)%E4%B8%BA%E9%9B%B6%5Cr%5Cn%22)%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%20rc%20%3D%20-1%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%7D%20%E8%80%8C%EF%BC%88%E5%81%87%EF%BC%89%EF%BC%9B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%20%26nbsp%3B%20return%20rc%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2007787%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E9%99%84%E5%8A%A0%E6%94%AF%E6%8C%81%20KDF%20%E5%87%BD%E6%95%B0%20w%2F%20HSE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2007787%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BA%B2%E7%88%B1%E7%9A%84%E6%81%A9%E6%99%BA%E6%B5%A6%E6%9C%8B%E5%8F%8B%E4%BB%AC%E3%80%82%3C%2FP%3E%3CP%3E%E5%9C%A8%20KDF%20%E4%B8%AD%EF%BC%8C%E6%88%91%E7%9F%A5%E9%81%93%20NXP%20HSE%20%E7%9B%AE%E5%89%8D%E4%B8%8D%E6%94%AF%E6%8C%81%20NIST%20800-56A%E3%80%82%3C%2FP%3E%3CP%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E5%9C%A8%E6%B2%A1%E6%9C%89%20HSE%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%AE%9E%E6%96%BD%E4%BA%86%E8%AF%A5%E6%8E%AA%E6%96%BD%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2004542%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E9%99%84%E5%8A%A0%E6%94%AF%E6%8C%81%20KDF%20%E5%87%BD%E6%95%B0%20w%2F%20HSE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2004542%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDear%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F37795%22%20target%3D%22_blank%22%3E%40lukaszadrapa%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E6%88%91%E9%9C%80%E8%A6%81%E6%8C%89%E7%85%A7%20NIST%20KDF%20SP800%20%3CSTRONG%3E56A%20%E8%A7%84%E8%8C%83%E6%9D%A5%E9%A9%B1%E5%8A%A8%20KEY%E3%80%82%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%8C%E6%88%91%E7%9F%A5%E9%81%93%20HSE%20%E4%B8%8D%E6%94%AF%E6%8C%81%20KDF%20%3CSTRONG%3ESP800%2056A%3C%2FSTRONG%3E%20%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Changhawn_0-1733021213041.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Changhawn_0-1733021213041.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F313349i588E274DC9B34AD8%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Changhawn_0-1733021213041.png%22%20alt%3D%22Changhawn_0-1733021213041.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E5%8F%AF%E4%BB%A5%E5%AE%9E%E7%8E%B0%EF%BC%8C%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%E3%80%82%3C%2FP%3E%3CP%3E%E6%84%9F%E8%B0%A2%E4%BD%A0%E3%80%82%3C%2FP%3E%3CP%3E%E5%BC%A0%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2004532%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9A%E9%99%84%E5%8A%A0%E6%94%AF%E6%8C%81%20KDF%20%E5%87%BD%E6%95%B0%20w%2F%20HSE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2004532%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F232520%22%20target%3D%22_blank%22%3E%40Changhawn%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EHSE%20%E6%94%AF%E6%8C%81%E4%BB%A5%E4%B8%8B%E7%AE%97%E6%B3%95%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22lukaszadrapa_0-1732978644341.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22lukaszadrapa_0-1732978644341.png%22%20style%3D%22width%3A%20272px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F313347i1C620ED4F91CE03F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22lukaszadrapa_0-1732978644341.png%22%20alt%3D%22lukaszadrapa_0-1732978644341.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3E%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E6%BA%90%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9C%8B%E5%88%B0%EF%BC%8CNXP%20%E7%AB%AF%E5%8F%A3%E4%BB%85%E4%BD%BF%E7%94%A8%20HSE_Tls12Prf()%20%E4%B8%AD%E7%9A%84%20HSE_KDF_ALGO_TLS12PRF%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%A3%80%E6%9F%A5%E8%AF%A5%E5%87%BD%E6%95%B0%E4%BB%A5%E4%BA%86%E8%A7%A3%E5%A6%82%E4%BD%95%E5%87%86%E5%A4%87%E6%8F%8F%E8%BF%B0%E7%AC%A6%E6%9D%A5%E8%B0%83%E7%94%A8%E6%AD%A4%E7%B1%BB%E6%9C%8D%E5%8A%A1%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%88%96%E8%80%85%E6%AD%A4%E5%8C%85%E4%B8%AD%E7%9A%84%E2%80%9CS32K344_DemoApp_SessionKeys%E2%80%9D%E7%A4%BA%E4%BE%8B%EF%BC%9A%3CBR%20%2F%3E%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DS32K3_HSE_DemoExamples%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fwebapp%2FDownload%3FcolCode%3DS32K3_HSE_DemoExamples%3C%2FA%3E%3CBR%20%2F%3E%20...%20%E5%B1%95%E7%A4%BA%E5%A6%82%E4%BD%95%E8%B0%83%E7%94%A8%20HSE_SRV_ID_KEY_DERIVE%E3%80%82%3C%2FP%3E%0A%3CP%3E%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3E%E5%8D%A2%E5%8D%A1%E6%96%AF%3C%2FP%3E%3C%2FLINGO-BODY%3E