加密芯片

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

加密芯片用户手册(UART/IIC接口)

注意:用户在实际使用时只需通过UART口控制加密芯片即可,控制协议及使用参考示例见下面

QQ:1900109344(加密芯片交流)

目录

1. 概述 (2)

2. 基本特征 (2)

3. 通信协议 (2)

3.1. 物理层 (2)

3.2. 链路层 (3)

3.2.1. 通讯数据包定义 (3)

3.2.2. 协议描述 (3)

3.3. 数据单元格式 (4)

3.3.1. 命令单元格式 (4)

3.3.2. 应答单元格式 (4)

3.4. 加密操作指令 (5)

3.5. 加密密钥导入指令 (5)

3.6. 校验/修改Pin指令 (6)

3.7. 加密使用示例 (6)

3.8. 芯片封装SOP8及管脚说明 (7)

1.概述

本文档适用于使用加密芯片进行终端产品开发的用户。终端开发者通过Uart 口发命令的方式操作加密芯片进行数据交换,产品应用开发。通过阅读本文档,终端开发者可以在无需考虑算法实现细节情况下,迅速完成产品开发。

2.基本特征

芯片的基本特征见下表:

串口波特率 115200 bps(默认)

供电电源 DC 3.3V,5V

通讯接口 UART

3.通信协议

3.1.物理层

加密芯片采用系统供电方式,电压5V或者3.3V。算法芯片串口与系统MCU 串口相连,异步全双工通讯,波特率默认为115200bps。数据格式为1位起始位、8位数据位和1位停止位,无校验位。

系统MCU向加密芯片发送命令时,在同一个命令内,相连两个发送字符之间的间隔不应大于10个字符时间,否则芯片可能会认为命令超时导致无任何响应。

3.2.链路层

3.2.1.通讯数据包定义

通信数据包如下图所示:

STX(0x02) Len_Hi Len_Low Data LRC ETX(0x03)

通讯数据包项目、长度、含义说明对应见下表:

通讯数据包项目含义一览表

序号 项 目 长度(字节)说明

1 数据包头(STX) 1 常量:0x02

2 数据单元长度(Len) 2 需传输的数据单元Data部分的长度,高字节在前,低字节在后。

例如:0x0010表示Data部分有16个字节。

3

需传输的数据单元

(Data) 不定

长度由Len指出,数据单元头两个字节是

命令码(系统发送命令到芯片)或状态码

(芯片返回数据给系统),后面是其它参

数。

4 冗余检验值(LRC) 1 Data部分数据各字节异或值。

5 数据包尾(ETX) 1 常量:0x03

数据包总长度为: Len + 5字节,最长不能超过512字节。

3.2.2.协议描述

系统MCU首先发送一个命令数据包,发送完成后等待来自算法芯片的应答数据包。

算法芯片正确收到命令数据包后,便执行命令,然后回应应答数据包。

3.3.数据单元格式

3.3.1.命令单元格式

终端设备向读卡器发送的数据包称为命令数据包,命令数据包的格式如下图所示:

STX(0x02) Len_Hi Len_Low CommandH CommandL Command Param LRC ETX(0x03)

命令单元格式见下表:

命令单元格式一览表

项目长度说明

CommandH 1字节命令类别

CommandL 1字节命令代码

【参数】不定长命令参数

3.3.2.应答单元格式

加密芯片向系统MCU应答数据包,如下图所示:

STX(0x02) Len_Hi Len_Low StatusH StatusL Status Data LRC ETX(0x03)

应答单元格式见下表:

应答单元格式一览表

项目长度说明

StatusH 1字节状态码高字节

StatusL 1字节状态码低字节

【数据】不定长应答数据

3.4.加密操作指令

命令数据单元:

命令数据单元含义一览表

标识 内容 说明 CommandH 07H 加密指令

CommandL 00H/01H 00表示加密,01表示解密

明文/密文 8 明文/密文

应答数据单元:

应答数据单元含义一览表

标识 内容 说明

Status 00H,00H 加密/解密成功

Status 00H,01H 命令格式不对

Message 8 密文/ 明文

3.5.加密密钥导入指令

命令数据单元:

命令数据单元含义一览表

标识 内容 说明 CommandH 09H 密钥导入指令,

CommandL 00H

密钥 10H 16字节密钥

应答数据单元:

应答数据单元含义一览表

标识 内容 说明

Status 00H,00H 导入成功

Status 00H,01H 导入失败

3.6.校验/修改Pin指令

命令数据单元:

命令数据单元含义一览表

标识 内容 说明 CommandH 08H 校验/修改Pin指令

CommandL 00/01H 00校验Pin,01为修改Pin

Pin 08H/10H 8字节的校验Pin,或者16字节的Pin(原来的8字节Pin+8字节替换的Pin)

应答数据单元:

应答数据单元含义一览表

标识 内容 说明

Status 00H,00H 命令成功

Status 00H,01H 命令失败

3.7. 加密使用示例

说明:芯片出厂时的Pin是8字节:0x06 0x06 0x06 0x06 0x06 0x06 0x06 0x06,只有Pin 验证通过了才能导入16字节的加密密钥,以后芯片的加解密都以此密钥来计算。

校验Pin的,Uart口命令流,红色部分为初始Pin

向加密芯片发送:

02 00 0a 08 00 06 06 06 06 06 06 06 06 08 03//校验Pin

加密芯片返回:

02 00 02 00 00 00 03//执行正确

加密密钥导入

向加密芯片发送:颜色部分为16字节密钥

02 00 12 90 CC 9A 0E BD 94 4C 11 C1 17 C2 84 A8 2A 89 FD CF 97 82 03

相关文档
最新文档