Hi@xiaoweix
我不知道我们是不是在讨论同一个函数。
KDF函数是自己定义的一个用于计算 M1~M5值的工具函数
KDF(AuthKey, Constant, K_out)
参数AuthKey和 Constant均为 16个字节长度的输入参数, K_out为 32个字节长度的输出
KDF函数功能是将参数 AuthKey和 Constant连接后,使用 CSEc模块的 CSEC_DRV_MPCompress()压
缩算法API,得到输出的 K_out。
整个重置的流程是:
CSEC_DRV_Init(&csec1_State);
Res = CSEC_DRV_InitRNG();
Res = CSEC_DRV_DbgChal(Challenge);
Res = CalculateDbgAuth(MASTER_ECU_KEY,Challenge,DbgAuth);
Res = CSEC_DRV_DbgAuth(DbgAuth);
初始化谁随机数,
生成随机数“Challenge”,
用户将该随机数与MASTER_ECU_KEY 和 UID 一起用于返回授权请求。
如果 CSEc 确认授权,则此功能会删除存储在 NVM 内存中的所有密钥(实际密钥和过期密钥)。