当前所在位置:首页 > 关于我们 > 资讯中心

LCSHA204—EncryptRead命令解析

发布时间:2022-01-07

  LCSHA204芯片是凌科芯安推出的一款兼容ATMEL公司ATSHA204A的国产安全芯片,其操作方式与ATSHA204A相同,本次主要介绍芯片EncryptRead加密读功能只有当slot config.EncryptRead = 1和slot config.IsSecret = 1时才能进行。加密读是为了防止别人在总线上嗅探到密钥,这里我借用官方文档Atmel-8981的一幅图。




这个流程图其实非常明了,主要步骤如下:

1、首先发送Nonce Command命令,更新TempKey中的值,主机这边根据命令返回的randout来使用SHA-256算法计算出TempKey中的值。

2、发送GenDig Command,Gen Dig 命令中的参数KeyID ,就是slot config.ReadKey,比如说,我们要读取slot1的密钥,而slot config[0].ReadKey 设置为0,那么我们就需要知道slot0中存放的密钥才能读取slot1的密钥,发送完这个命令后如果执行正确,TempKey中的值会被重新计算,而主机需要根据Read Key等一些列参数计算TempKey中的值。

3、执行读命令读取slot区中的值,返回来的内容是经过异或加密的,密钥是第2步计算出来的摘要,也就是说:读回来的值^第2步计算出来的摘要 = 原文。

上一篇:2022新年祝福 下一篇:ECDSA签名算法介绍