LPC55S69 AES masking countermeasure against SCA

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC55S69 AES masking countermeasure against SCA

729件の閲覧回数
NewDwarf
Contributor I

Hello.

Whether I correctly understand that below approach should protect the reference AES-128 key against the side channel attack due to usage of the mask? I use a bit outdated API but it doesn't matter, I get the correct results.

 
    uint32_t coreClockHz = CLOCK_GetFreq(kCLOCK_CoreSysClk);

    status_t result = PUF_Init(PUF, PUF_DISCHARGE_TIME_MS, coreClockHz);
    if (result != kStatus_Success) return result;

    result = PUF_Start(PUF, ac_buffer, ac_size);
    if (result != kStatus_Success) {
        PUF_Deinit(PUF, PUF_DISCHARGE_TIME_MS, coreClockHz);
    }

    __attribute__((aligned(4)))
    uint8_t user_key[16] = {0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6, 0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c};

    __attribute__((aligned(4)))
    uint8_t keyCode[52] = {0x00};
    result =  PUF_SetUserKey(PUF, kPUF_KeyIndex_00, user_key, sizeof(user_key), keyCode, sizeof(keyCode));
    if (result != kStatus_Success) {
        PUF_Deinit(PUF, PUF_DISCHARGE_TIME_MS, coreClockHz);
    }

    hashcrypt_handle_t hch;
    hch.keySize = kHASHCRYPT_Aes128;
    hch.keyType = kHASHCRYPT_SecretKey;

    result = PUF_GetHwKey(PUF, keyCode, 52, kPUF_KeySlot0, 0x01000001);
    if (result != kStatus_Success) {
        PUF_Deinit(PUF, PUF_DISCHARGE_TIME_MS, coreClockHz);
    }

    uint8_t pt[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    uint8_t ct[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    result = HASHCRYPT_AES_EncryptEcb(HASHCRYPT, &hch, pt, ct, 16);

 At least key bytes at positions 0, 3, 4, 7... should be protected? 

0 件の賞賛
返信
6 返答(返信)

547件の閲覧回数
NewDwarf
Contributor I

 @Harry_Zhang  The problem is I am able to recover the key from the key code. Or is it expected behaviour, security level?

0 件の賞賛
返信

529件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @NewDwarf 

Yes, this is expected behavior.
The diagram shows that the PUF only protects key storage and then sends the reconstructed plaintext key directly to the AES engine.
The AES engine  is not side‑channel protected, so its power/EM behavior can still leak the real key during encryption.

Snipaste_2026-04-02_12-11-21.png

BR

Harry

0 件の賞賛
返信

695件の閲覧回数
NewDwarf
Contributor I

I am asking this question as I am able to recover the AES-128/AES-256 keys pushed from the PUF to the AES key register by the PUF_GetHwKey() API using the non-zero mask parameter. All key bytes are correctly recovered. Also I validated that plaintext/ciphertext is correct for the recovered AES key.

The question is whether I am doing something wrong with setting the mask or the mask doesn't properly work.

0 件の賞賛
返信

671件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @NewDwarf 

We can check the AN12324

LPC55Sxx Usage of the Physically Unclonable Function and Hash

• The PUF offers other features to prevent attacks. For example, by blocking functionalities (enroll, code output,
keylock) or by offering enhanced side-channel protection (by using a keymask)

This refers only to the internal cryptographic operations during key reconstruction.

The mask parameter in PUF_GetHwKey() does not protect individual AES key bytes from being observable once they are loaded into the HASHCRYPT AES key registers.

BR

Harry

0 件の賞賛
返信

592件の閲覧回数
NewDwarf
Contributor I

@Harry_Zhang Thanks!

The mask parameter in PUF_GetHwKey() does not protect individual AES key bytes from being observable once they are loaded into the HASHCRYPT AES key registers.

Let me clarify one more question. What is the purpose of the "keyMask" parameter of 

status_t PUF_GetHwKey(PUF_Type *base, const uint8_t *keyCode, size_t keyCodeSize, puf_key_slot_t keySlot, uint32_t keyMask);

0 件の賞賛
返信

531件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @NewDwarf 

The keyMask parameter is used only inside the PUF hardware to add some randomness during the key‑reconstruction process.
Its purpose is to make the internal PUF operations slightly harder to analyze with side‑channel attacks.
It does NOT mask or modify the final AES key, and it does NOT protect the HASHCRYPT AES engine.
So the mask helps only during PUF key unwrapping, not during AES encryption.

You can view the definition of the PUF_GetHwKey function.

Snipaste_2026-04-02_11-52-45.png

Snipaste_2026-04-02_11-54-08.png

BR

Harry

 

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2339769%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC55S69%20AES%E3%83%9E%E3%82%B9%E3%82%AD%E3%83%B3%E3%82%B0%E3%81%AB%E3%82%88%E3%82%8BSCA%E5%AF%BE%E7%AD%96%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2339769%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%E4%B8%8B%E8%A8%98%E3%81%AE%E6%96%B9%E6%B3%95%E3%81%AF%E3%80%81%E3%83%9E%E3%82%B9%E3%82%AF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%80%81%E5%8F%82%E7%85%A7%E3%81%A8%E3%81%AA%E3%82%8BAES-128%E3%82%AD%E3%83%BC%E3%82%92%E3%82%B5%E3%82%A4%E3%83%89%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E6%94%BB%E6%92%83%E3%81%8B%E3%82%89%E4%BF%9D%E8%AD%B7%E3%81%99%E3%82%8B%E3%81%A8%E3%81%84%E3%81%86%E7%90%86%E8%A7%A3%E3%81%A7%E3%82%88%E3%82%8D%E3%81%97%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%E5%B0%91%E3%81%97%E5%8F%A4%E3%81%84API%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E5%95%8F%E9%A1%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E6%AD%A3%E3%81%97%E3%81%84%E7%B5%90%E6%9E%9C%E3%81%8C%E5%BE%97%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%20%0A%20%20%20%20uint32_t%20coreClockHz%20%3D%20CLOCK_GetFreq(kCLOCK_CoreSysClk)%3B%0A%0A%20%20%20%20status_t%20result%20%3D%20PUF_Init(PUF%2C%20PUF_DISCHARGE_TIME_MS%2C%20coreClockHz)%3B%0A%20%20%20%20if%20(result%20!%3D%20kStatus_Success)%20return%20result%3B%0A%0A%20%20%20%20result%20%3D%20PUF_Start(PUF%2C%20ac_buffer%2C%20ac_size)%3B%0A%20%20%20%20if%20(result%20!%3D%20kStatus_Success)%20%7B%0A%20%20%20%20%20%20%20%20PUF_Deinit(PUF%2C%20PUF_DISCHARGE_TIME_MS%2C%20coreClockHz)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20__attribute__((aligned(4)))%0A%20%20%20%20uint8_t%20user_key%5B16%5D%20%3D%20%7B0x2b%2C%200x7e%2C%200x15%2C%200x16%2C%200x28%2C%200xae%2C%200xd2%2C%200xa6%2C%200xab%2C%200xf7%2C%200x15%2C%200x88%2C%200x09%2C%200xcf%2C%200x4f%2C%200x3c%7D%3B%0A%0A%20%20%20%20__attribute__((aligned(4)))%0A%20%20%20%20uint8_t%20keyCode%5B52%5D%20%3D%20%7B0x00%7D%3B%0A%20%20%20%20result%20%3D%20%20PUF_SetUserKey(PUF%2C%20kPUF_KeyIndex_00%2C%20user_key%2C%20sizeof(user_key)%2C%20keyCode%2C%20sizeof(keyCode))%3B%0A%20%20%20%20if%20(result%20!%3D%20kStatus_Success)%20%7B%0A%20%20%20%20%20%20%20%20PUF_Deinit(PUF%2C%20PUF_DISCHARGE_TIME_MS%2C%20coreClockHz)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20hashcrypt_handle_t%20hch%3B%0A%20%20%20%20hch.keySize%20%3D%20kHASHCRYPT_Aes128%3B%0A%20%20%20%20hch.keyType%20%3D%20kHASHCRYPT_SecretKey%3B%0A%0A%20%20%20%20result%20%3D%20PUF_GetHwKey(PUF%2C%20keyCode%2C%2052%2C%20kPUF_KeySlot0%2C%200x01000001)%3B%0A%20%20%20%20if%20(result%20!%3D%20kStatus_Success)%20%7B%0A%20%20%20%20%20%20%20%20PUF_Deinit(PUF%2C%20PUF_DISCHARGE_TIME_MS%2C%20coreClockHz)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20uint8_t%20pt%5B16%5D%20%3D%20%7B0%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%7D%3B%0A%20%20%20%20uint8_t%20ct%5B16%5D%20%3D%20%7B0%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%2C%200%7D%3B%0A%20%20%20%20result%20%3D%20HASHCRYPT_AES_EncryptEcb(HASHCRYPT%2C%20%26amp%3Bhch%2C%20pt%2C%20ct%2C%2016)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%E5%B0%91%E3%81%AA%E3%81%8F%E3%81%A8%E3%82%82%E4%BD%8D%E7%BD%AE0%E3%80%813%E3%80%814%E3%80%817...%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%88%E3%81%AF%E4%BF%9D%E8%AD%B7%E3%81%95%E3%82%8C%E3%82%8B%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2340500%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20AES%20masking%20countermeasure%20against%20SCA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2340500%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EPUF_GetHwKey()%20API%E3%81%AE%E3%82%BC%E3%83%AD%E4%BB%A5%E5%A4%96%E3%81%AE%E3%83%9E%E3%82%B9%E3%82%AF%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%80%81PUF%E3%81%8B%E3%82%89AES%E3%82%AD%E3%83%BC%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AB%E3%83%97%E3%83%83%E3%82%B7%E3%83%A5%E3%81%95%E3%82%8C%E3%81%9FAES-128%2FAES-256%E3%82%AD%E3%83%BC%E3%82%92%E5%BE%A9%E5%85%83%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%81%93%E3%81%AE%E8%B3%AA%E5%95%8F%E3%82%92%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%88%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E5%BE%A9%E5%85%83%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%BE%E3%81%9F%E3%80%81%E5%BE%A9%E5%85%83%E3%81%95%E3%82%8C%E3%81%9FAES%E9%8D%B5%E3%81%AE%E5%B9%B3%E6%96%87%EF%BC%8F%E6%9A%97%E5%8F%B7%E6%96%87%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%84%E3%81%93%E3%81%A8%E3%82%82%E6%A4%9C%E8%A8%BC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%E5%95%8F%E9%A1%8C%E3%81%AF%E3%80%81%E7%A7%81%E3%81%8C%E3%83%9E%E3%82%B9%E3%82%AF%E3%81%AE%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95%E3%82%92%E9%96%93%E9%81%95%E3%81%88%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B%E3%80%81%E3%81%9D%E3%82%8C%E3%81%A8%E3%82%82%E3%83%9E%E3%82%B9%E3%82%AF%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2341066%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20AES%20masking%20countermeasure%20against%20SCA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2341066%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F261039%22%20target%3D%22_blank%22%3E%40NewDwarf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EAN12324%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN12324.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ELPC55Sxx%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E7%89%A9%E7%90%86%E7%9A%84%E3%81%AB%E8%A4%87%E8%A3%BD%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%AA%E9%96%A2%E6%95%B0%E3%81%A8%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%81%AE%E4%BD%BF%E7%94%A8%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%83%BBPUF%E3%81%AF%E3%80%81%E6%94%BB%E6%92%83%E3%82%92%E9%98%B2%E3%81%90%E3%81%9F%E3%82%81%E3%81%AE%E3%81%9D%E3%81%AE%E4%BB%96%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%82%E6%8F%90%E4%BE%9B%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E4%BE%8B%E3%81%88%E3%81%B0%E3%80%81%E6%A9%9F%E8%83%BD%EF%BC%88%E7%99%BB%E9%8C%B2%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89%E5%87%BA%E5%8A%9B%E3%80%81%3CBR%20%2F%3E%E3%82%AD%E3%83%BC%E3%83%AD%E3%83%83%E3%82%AF%EF%BC%89%E3%81%BE%E3%81%9F%E3%81%AF%E5%BC%B7%E5%8C%96%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B5%E3%82%A4%E3%83%89%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E4%BF%9D%E8%AD%B7%EF%BC%88%E3%82%AD%E3%83%BC%E3%83%9E%E3%82%B9%E3%82%AF%E3%81%AE%E4%BD%BF%E7%94%A8%EF%BC%89%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%3C%2FP%3E%0A%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%E9%8D%B5%E5%86%8D%E6%A7%8B%E7%AF%89%E6%99%82%E3%81%AE%E5%86%85%E9%83%A8%E7%9A%84%E3%81%AA%E6%9A%97%E5%8F%B7%E5%8C%96%E5%87%A6%E7%90%86%E3%81%AE%E3%81%BF%E3%82%92%E6%8C%87%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EPUF_GetHwKey()%20%E3%81%AE%20mask%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AF%E3%80%81AES%20%E3%82%AD%E3%83%BC%E3%81%AE%E5%80%8B%E3%80%85%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%81%8C%20HASHCRYPT%20AES%20%E3%82%AD%E3%83%BC%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AB%E3%83%AD%E3%83%BC%E3%83%89%E3%81%95%E3%82%8C%E3%81%9F%E5%BE%8C%E3%80%81%E3%81%9D%E3%82%8C%E3%82%89%E3%81%8C%E8%A6%B3%E6%B8%AC%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%AE%E3%82%92%E9%98%B2%E3%81%90%E3%82%82%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E3%83%8F%E3%83%AA%E3%83%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2343784%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20AES%20masking%20countermeasure%20against%20SCA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2343784%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F229957%22%20target%3D%22_blank%22%3E%40Harry_Zhang%3C%2FA%3E%E5%95%8F%E9%A1%8C%E3%81%AF%E3%80%81%3C%2FSPAN%3E%3CSTRONG%3E%E3%82%AD%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%3C%2FSTRONG%3E%E3%81%8B%E3%82%89%E3%82%AD%E3%83%BC%E3%82%92%E5%BE%A9%E5%85%83%E3%81%A7%E3%81%8D%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%3CSPAN%3E%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E6%83%B3%E5%AE%9A%E3%81%95%E3%82%8C%E3%82%8B%E5%8B%95%E4%BD%9C%E3%80%81%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AA%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2342642%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20AES%20masking%20countermeasure%20against%20SCA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2342642%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F229957%22%20target%3D%22_blank%22%3E%40Harry_Zhang%3C%2FA%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3E%3CSPAN%3EPUF_GetHwKey()%20%E3%81%AE%20mask%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AF%E3%80%81AES%20%E3%82%AD%E3%83%BC%E3%81%AE%E5%80%8B%E3%80%85%E3%81%AE%E3%83%90%E3%82%A4%E3%83%88%E3%81%8C%20HASHCRYPT%20AES%20%E3%82%AD%E3%83%BC%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AB%E3%83%AD%E3%83%BC%E3%83%89%E3%81%95%E3%82%8C%E3%81%9F%E5%BE%8C%E3%80%81%E3%81%9D%E3%82%8C%E3%82%89%E3%81%8C%E8%A6%B3%E6%B8%AC%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%AE%E3%82%92%E9%98%B2%E3%81%90%E3%82%82%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3E%E3%82%82%E3%81%86%E4%B8%80%E3%81%A4%E8%B3%AA%E5%95%8F%E3%81%95%E3%81%9B%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%80%8C%20%3CSPAN%20class%3D%22%22%3E%3CSTRONG%3EkeyMask%3C%2FSTRONG%3E%20%E3%80%8D%3C%2FSPAN%3E%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%E7%9B%AE%E7%9A%84%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3Estatus_t%20PUF_GetHwKey(%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EPUF_Type%20*base%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3Econst%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3Euint8_t%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3E*keyCode%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3Esize_t%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EkeyCodeSize%2C%20puf_key_slot_t%20keySlot%2C%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3Euint32_t%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22%22%3EkeyMask)%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2343960%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20AES%20masking%20countermeasure%20against%20SCA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2343960%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F261039%22%20target%3D%22_blank%22%3E%40NewDwarf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EkeyMask%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AF%E3%80%81PUF%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A7%E3%82%A2%E5%86%85%E9%83%A8%E3%81%A7%E3%81%AE%E3%81%BF%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%80%81%E9%8D%B5%E5%86%8D%E6%A7%8B%E7%AF%89%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E4%B8%AD%E3%81%AB%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E6%80%A7%E3%82%92%E5%8A%A0%E3%81%88%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E3%81%9D%E3%81%AE%E7%9B%AE%E7%9A%84%E3%81%AF%E3%80%81%E3%82%B5%E3%82%A4%E3%83%89%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E6%94%BB%E6%92%83%E3%81%AB%E3%82%88%E3%82%8B%E5%86%85%E9%83%A8PUF%E5%8B%95%E4%BD%9C%E3%81%AE%E8%A7%A3%E6%9E%90%E3%82%92%E3%82%8F%E3%81%9A%E3%81%8B%E3%81%AB%E5%9B%B0%E9%9B%A3%E3%81%AB%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E3%81%82%E3%82%8B%E3%80%82%3CBR%20%2F%3E%E3%81%93%E3%82%8C%E3%81%AF%E6%9C%80%E7%B5%82%E7%9A%84%E3%81%AAAES%E3%82%AD%E3%83%BC%E3%82%92%E9%9A%A0%E8%94%BD%E3%81%97%E3%81%9F%E3%82%8A%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%80%81HASHCRYPT%E3%81%AEAES%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%82%92%E4%BF%9D%E8%AD%B7%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%82%82%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%E3%81%A4%E3%81%BE%E3%82%8A%E3%80%81%E3%81%93%E3%81%AE%E3%83%9E%E3%82%B9%E3%82%AF%E3%81%AFPUF%E3%82%AD%E3%83%BC%E3%81%AE%E5%BE%A9%E5%8F%B7%E5%8C%96%E3%81%AE%E9%9A%9B%E3%81%AB%E3%81%AE%E3%81%BF%E6%9C%89%E5%8A%B9%E3%81%A7%E3%81%82%E3%82%8A%E3%80%81AES%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%AE%E9%9A%9B%E3%81%AB%E3%81%AF%E6%9C%89%E5%8A%B9%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EPUF_GetHwKey%3C%2FSPAN%3E%E9%96%A2%E6%95%B0%E3%81%AE%E5%AE%9A%E7%BE%A9%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snipaste_2026-04-02_11-52-45.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-02_11-52-45.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-02_11-52-45.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F381121i079EA9381D68D607%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snipaste_2026-04-02_11-52-45.png%22%20alt%3D%22Snipaste_2026-04-02_11-52-45.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E2%80%83%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snipaste_2026-04-02_11-54-08.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-02_11-54-08.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-02_11-54-08.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F381122iC15F3186CD83F1E5%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snipaste_2026-04-02_11-54-08.png%22%20alt%3D%22Snipaste_2026-04-02_11-54-08.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E3%83%8F%E3%83%AA%E3%83%BC%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2343967%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC55S69%20AES%20masking%20countermeasure%20against%20SCA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2343967%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F261039%22%20target%3D%22_blank%22%3E%40NewDwarf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%AF%E3%81%84%E3%80%81%E3%81%93%E3%82%8C%E3%81%AF%E6%83%B3%E5%AE%9A%E3%81%95%E3%82%8C%E3%82%8B%E5%8B%95%E4%BD%9C%E3%81%A7%E3%81%99%E3%80%82%3CBR%20%2F%3E%E5%9B%B3%E3%81%AF%E3%80%81PUF%E3%81%8C%E9%8D%B5%E3%81%AE%E4%BF%9D%E5%AD%98%E5%A0%B4%E6%89%80%E3%81%AE%E3%81%BF%E3%82%92%E4%BF%9D%E8%AD%B7%E3%81%97%E3%80%81%E5%BE%A9%E5%85%83%E3%81%95%E3%82%8C%E3%81%9F%E5%B9%B3%E6%96%87%E9%8D%B5%E3%82%92%E7%9B%B4%E6%8E%A5AES%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%AB%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A4%BA%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%80%82%3CBR%20%2F%3EAES%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%AF%E3%82%B5%E3%82%A4%E3%83%89%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E6%94%BB%E6%92%83%E5%AF%BE%E7%AD%96%E3%81%8C%E6%96%BD%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E6%9A%97%E5%8F%B7%E5%8C%96%E4%B8%AD%E3%81%AB%E9%9B%BB%E5%8A%9B%2F%E9%9B%BB%E7%A3%81%E7%95%8C%E6%8C%99%E5%8B%95%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E5%AE%9F%E9%9A%9B%E3%81%AE%E9%8D%B5%E3%81%8C%E6%BC%8F%E6%B4%A9%E3%81%99%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8B%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Snipaste_2026-04-02_12-11-21.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Snipaste_2026-04-02_12-11-21.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F381123iE15FB1B62AF50C72%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Snipaste_2026-04-02_12-11-21.png%22%20alt%3D%22Snipaste_2026-04-02_12-11-21.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E3%83%8F%E3%83%AA%E3%83%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E