NXP MCU 技术论坛
直播中

douyin8

12年用户 1100经验值
私信 关注
[问答]

关于LPC55S69中Hashcrypt的问题求解


我正在尝试使用“椭圆曲线”在 Trustzone 中进行签名和验证,
但似乎没有它的例子。
有一个使用 mbedTLS 的基准测试,所以我一直在尝试将它移植到我的 trustzone 项目中,
但每当我调试时,开发板总是卡在“hashcrypt_sha_finalize”中,更具体地说,
/* poll wait for final digest */
    while (0U == (base->STATUS & HASHCRYPT_STATUS_DIGEST_MASK))
    {
    }我搜索了此状态的含义,但找不到有意义的结果。
任何意见将不胜感激。

让我详细说明我在程序中做了什么。
  • 将“lpcxpresso55s69_mbedtls_benchmark”项目复制并粘贴到我的项目中
  • 由于secure flash memory的大小限制,在build setting中增加flash size,在TZ setting中调整secure flash memory和non-secure flash memory
  • 按顺序调用示例中的函数,
    • CRYPTO_InitHardware()
    • mbedtls_ecdsa_init(&ecdsa)
    • mbedtls_ecdsa_genkey(&ecdsa,curve_info->grp_id,myrand,NULL)
    • mbedtls_ecdsa_write_signature(&ecdsa,MBEDTLS_MD_SHA256,buf,curve_info->bit_size,tmp,&sig_len,myrand,NULL)

除了最后一个 mbedtls_ecdsa_write_signature() 之外,一切都很好。
在调用该函数期间,它停留在我上面提到的 sha 函数处。
                        
                       

更多回帖

发帖
×
20
完善资料,
赚取积分