用户手册
注意:用户在实际使用时需要通过UART口控制国密算法芯片,控制协议见下面说明,芯片本身只包含其中某几个算法,需要在购买时说明。
QQ: 2425053909(注明加密芯片)
目录
1. 概述 1
2. 基本特征 1
3. 通信协议 1
3.1. 物理层 1
3.2. 链路层 2
3.2.2. 协议描述 3
3.3. 数据单元格式 3
3.3.1. 命令单元格式 3
3.3.2. 应答单元格式 4
4. 国密芯片加解密指令 4
4.1. SM1算法操作指令 4
4.2. SM4算法操作指令 5
4.3. SM7算法操作指令 6
4.4. SSF33算法操作指令 6
4.5. SM3算法操作指令 7
1. 概述
本文档适用于使用国密算法芯片进行终端开发的用户。终端开发者通过发送串口命令的方式操作国密芯片进行数据交换,国密产品应用开发。通过阅读本文档,终端开发者可以在无需考虑国密算法实现细节情况下,借助国密芯片来迅速改造现有系统使之适合国密应用。
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. 通讯数据包定义
自动钎焊设备
通信数据包如下图所示:
通讯数据包项目、长度、含义说明对应见下表:
通讯数据包项目含义一览表
序号 | 项 目 | 长度(字节) | 说明 |
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. 命令单元格式
终端设备向读卡器发送的数据包称为命令数据包,命令数据包的格式如下图所示:
命令单元格式见下表:
命令单元格式一览表
项目 | 长度 | 说明 |
c型变压器CommandH | 1字节 | 命令类别 |
CommandL | 1字节 | 命令代码 |
【参数】 | 不定长 | 命令参数 |
| | |
3.3.2. 应答单元格式
国密芯片向系统MCU应答数据包,如下图所示:
应答单元格式见下表:
应答单元格式一览表
项目 | 长度 | 点滴板说明 |
StatusH | 1字节 | 状态码高字节 |
StatusL | 1字节 | 状态码低字节 |
【数据】 | 不定长 | 应答数据 |
| | |