找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 701|回复: 0
打印 上一主题 下一主题
收起左侧

LCSHA204—EncryptRead命令解析

 关闭 [复制链接]
跳转到指定楼层
楼主
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步计算出来的摘要 = 原文。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表