CN103780608A - 一种基于可编程门阵列芯片的sm4算法控制方法 - Google Patents
一种基于可编程门阵列芯片的sm4算法控制方法 Download PDFInfo
- Publication number
- CN103780608A CN103780608A CN201410015540.7A CN201410015540A CN103780608A CN 103780608 A CN103780608 A CN 103780608A CN 201410015540 A CN201410015540 A CN 201410015540A CN 103780608 A CN103780608 A CN 103780608A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- programmable gate
- gate array
- array chip
- state machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明涉及信息安全技术领域,特别涉及一种基于可编程门阵列芯片的SM4算法控制方法。本发明方法是通过现场可编程门阵列(FPGA)芯片的状态机控制SM4分组密码算法IP核实现的,采用了Mealy型状态机作为SM4算法IP核的核心控制单元,对IP核进行控制和操作,实现了对SM4算法的控制。由于其基于可编程门阵列芯片与SM4密码算法IP核的硬件方式实现了SM4对称密码算法,因此数据处理的速度更快,效率更高。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种基于可编程门阵列芯片的SM4算法控制方法。
背景技术
SM4算法是国家密码管理局批准的对称密码算法,主要应用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
传统的密码算法的实现是通过在主机上运行加密软件实现的。这种方法除占用主机资源外,运算速度较慢,安全性也较差。而硬件加密是通过专用加密芯片、FPGA(可编程门阵列)芯片或独立的处理芯片等实现密码运算。相对于软件加密,硬件加密具有加密速度快、占用计算机资源少、安全性高等优点。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种基于可编程门阵列芯片的SM4算法控制方法,其基于FPGA芯片与SM4密码算法IP核的硬件方式实现了SM4对称密码算法,因此数据处理的速度更快,效率更高。
本发明所采用的技术方案如下:
一种基于可编程门阵列芯片的SM4算法控制方法,是利用可编程门阵列芯片的状态机对SM4对称密码算法IP核进行控制,所述的可编程门阵列芯片作为硬件控制单元,用于控制SM4算法IP核。
采用了算法IP软核的方式实现了SM4对称密码算法。
采用了可编程门阵列芯片的硬件描述语言VHDL,设计出一种算法状态机,用于对SM4算法IP核进行控制。
方法具体包括以下步骤:
A、对状态机模块进行复位;
B、设置算法开始信号,启动状态机;
C、启动写密钥操作;
D、向SM4算法IP核写入一个长度为128bit的密钥;
E、启动数据加密或解密操作;
F、向SM4算法IP核写入一个长度为128bit的待运算数据分组;
G、等待SM4算法IP核运算完成;
H、状态机判断IP核是否把所有的数据分组都处理完成,若没有处理完成所有的消息分组,转到步骤F处,向IP核发送下一个数据分组;
I、当所有的数据分组都运算完成后,SM4算法IP核发送结束信号,状态机检测到该信号后结束状态机流程,至此完成了一笔数据的加密或解密过程。
在步骤D—I的操作过程中如果需要更换密钥,则转到步骤C。
本发明实施例提供的技术方案带来的有益效果是:
本发明的方法主要用于对网络、金融、电信等系统中重要数据的加密和解密,可满足分组密码应用的安全需求,保障交易的安全。核心是利用了FPGA和SM4对称密码算法IP核,通过硬件描述语言VHDL设计出高效的状态机,从而使得数据的处理过程变的快速。
附图说明
图1为本发明的FPGA芯片中状态机模块与SM4算法IP核的连接图;
图2为本发明的FPGA芯片的状态机的控制流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
如附图1所示,是状态机模块与SM4算法IP核的连接图,IP核的主要引脚说明如下:
输入引脚CLK:IP核的时钟引脚。
输入引脚nReset:IP核复位引脚,0:复位;1:正常工作。
输入引脚start:算法开始信号,高电平有效。
输入引脚Data_in[127..0]:128位数据输入引脚。
输入引脚op[1..0]:功能选择标志,op=0时,选择写入密钥操作;op=1时,选择加密操作;op=2时,选择解密操作。
输出引脚Data_out[127..0]:128位运算结果的输出。
输出引脚done:每个数据分组运算完成时产生的完成标志,高电平有效。
输出引脚finish:所有数据分组都运算完成后的算法结束标志,高电平有效
附图2是FPGA状态机的控制流程图,通过硬件描述语言VHDL实现状态机的状态转移和控制功能,工作流程详解如下:
1. 对状态机模块进行复位,nReset = ‘0’;
2. 设置算法开始信号sf_start = ‘1’,启动状态机;
3. 设置op=0,启动写密钥操作;
4.向SM4算法IP核写入一个长度为128bit的密钥;
5.设置op=1或2,启动数据加密或解密操作;
6. 向SM4算法IP核写入一个长度为128bit的待运算数据分组;
7. 等待SM4算法IP核运算完成,使done信号变为高电平;
8. 状态机检测到done = ‘1’,并判断IP核是否把所有的数据分组都处理完成,若没有处理完成所有的消息分组,转到步骤6处,向IP核发送下一个数据分组;
9. 当所有的数据分组都运算完成后,SM4算法IP核使finish信号变为高电平,状态机检测到该信号后结束状态机流程,至此完成了一笔数据的加密或解密过程。在操作过程中如果需要更换密钥,则转到步骤3处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于可编程门阵列芯片的SM4算法控制方法,是利用可编程门阵列芯片的状态机对SM4对称密码算法IP核进行控制,所述的可编程门阵列芯片作为硬件控制单元,用于控制SM4算法IP核。
2.根据权利要求1所述的一种基于可编程门阵列芯片的SM4算法控制方法,其特征在于,所述的方法是采用了算法IP软核的方式实现了SM4对称密码算法。
3.根据权利要求1所述的一种基于可编程门阵列芯片的SM4算法控制方法,其特征在于,所述的方法是采用了可编程门阵列芯片的硬件描述语言VHDL,设计出一种算法状态机,用于对SM4算法IP核进行控制。
4.根据权利要求1-3中任意一条所述的一种基于可编程门阵列芯片的SM4算法控制方法,其特征在于,所述的方法具体包括以下步骤:
A、对状态机模块进行复位;
B、设置算法开始信号,启动状态机;
C、启动写密钥操作;
D、向SM4算法IP核写入一个长度为128bit的密钥;
E、启动数据加密或解密操作;
F、向SM4算法IP核写入一个长度为128bit的待运算数据分组;
G、等待SM4算法IP核运算完成;
H、状态机判断IP核是否把所有的数据分组都处理完成,若没有处理完成所有的消息分组,转到步骤F处,向IP核发送下一个数据分组;
I、当所有的数据分组都运算完成后,SM4算法IP核发送结束信号,状态机检测到该信号后结束状态机流程,至此完成了一笔数据的加密或解密过程。
5.根据权利要求4所述的一种基于可编程门阵列芯片的SM4算法控制方法,其特征在于,在步骤D—I的操作过程中如果需要更换密钥,则转到步骤C。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410015540.7A CN103780608A (zh) | 2014-01-14 | 2014-01-14 | 一种基于可编程门阵列芯片的sm4算法控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410015540.7A CN103780608A (zh) | 2014-01-14 | 2014-01-14 | 一种基于可编程门阵列芯片的sm4算法控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103780608A true CN103780608A (zh) | 2014-05-07 |
Family
ID=50572438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410015540.7A Pending CN103780608A (zh) | 2014-01-14 | 2014-01-14 | 一种基于可编程门阵列芯片的sm4算法控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103780608A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973432A (zh) * | 2014-05-23 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种基于fpga和usb接口芯片的sm4算法加密设备 |
CN105577363A (zh) * | 2016-01-29 | 2016-05-11 | 江苏沁恒股份有限公司 | 针对sm4密码算法的可扩展流水线电路及其实现方法 |
CN106228088A (zh) * | 2016-08-11 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种基于国产bmc芯片的sm4算法ip核的设计方法 |
CN108011716A (zh) * | 2016-10-31 | 2018-05-08 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
CN108388817A (zh) * | 2018-01-31 | 2018-08-10 | 上海集成电路研发中心有限公司 | 加密读写芯片标识符的方法 |
CN109145568A (zh) * | 2018-08-21 | 2019-01-04 | 西安得安信息技术有限公司 | 一种基于pci-e接口的全算法密码卡及其加密方法 |
CN109955247A (zh) * | 2017-12-26 | 2019-07-02 | 固高科技(深圳)有限公司 | 多机器人自主控制系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110066A (zh) * | 2011-02-09 | 2011-06-29 | 浪潮电子信息产业股份有限公司 | 一种税控加密卡的控制方法 |
US20110238718A1 (en) * | 2010-03-25 | 2011-09-29 | Altera Corporation | Look up table structure supporting quaternary adders |
CN103455766A (zh) * | 2013-09-18 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | 一种基于状态机的国密sm1算法控制方法 |
-
2014
- 2014-01-14 CN CN201410015540.7A patent/CN103780608A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238718A1 (en) * | 2010-03-25 | 2011-09-29 | Altera Corporation | Look up table structure supporting quaternary adders |
CN102110066A (zh) * | 2011-02-09 | 2011-06-29 | 浪潮电子信息产业股份有限公司 | 一种税控加密卡的控制方法 |
CN103455766A (zh) * | 2013-09-18 | 2013-12-18 | 浪潮电子信息产业股份有限公司 | 一种基于状态机的国密sm1算法控制方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973432A (zh) * | 2014-05-23 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种基于fpga和usb接口芯片的sm4算法加密设备 |
CN105577363A (zh) * | 2016-01-29 | 2016-05-11 | 江苏沁恒股份有限公司 | 针对sm4密码算法的可扩展流水线电路及其实现方法 |
CN105577363B (zh) * | 2016-01-29 | 2018-06-01 | 江苏沁恒股份有限公司 | 针对sm4密码算法的可扩展流水线电路及其实现方法 |
CN106228088A (zh) * | 2016-08-11 | 2016-12-14 | 浪潮电子信息产业股份有限公司 | 一种基于国产bmc芯片的sm4算法ip核的设计方法 |
CN108011716A (zh) * | 2016-10-31 | 2018-05-08 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
CN108011716B (zh) * | 2016-10-31 | 2021-04-16 | 航天信息股份有限公司 | 一种密码装置及实现方法 |
CN109955247A (zh) * | 2017-12-26 | 2019-07-02 | 固高科技(深圳)有限公司 | 多机器人自主控制系统 |
CN108388817A (zh) * | 2018-01-31 | 2018-08-10 | 上海集成电路研发中心有限公司 | 加密读写芯片标识符的方法 |
CN109145568A (zh) * | 2018-08-21 | 2019-01-04 | 西安得安信息技术有限公司 | 一种基于pci-e接口的全算法密码卡及其加密方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103780608A (zh) | 一种基于可编程门阵列芯片的sm4算法控制方法 | |
US10659216B2 (en) | Data processing method and apparatus | |
CN101854243B (zh) | 一种电路系统设计加密电路及其加密方法 | |
CN110289952B (zh) | 一种量子数据链保密终端及保密通信网络 | |
CN101196855B (zh) | 移动加密存储设备及密文存储区数据加解密处理方法 | |
CN103345453B (zh) | 基于支持sata接口的硬盘数据加密卡进行加密的方法 | |
CN103475463B (zh) | 加密实现方法及装置 | |
CN101043326B (zh) | 动态信息加密系统和方法 | |
CN103716166A (zh) | 一种自适应混合加密方法、装置以及加密通信系统 | |
CN103973432A (zh) | 一种基于fpga和usb接口芯片的sm4算法加密设备 | |
KR102609578B1 (ko) | 양자 암호키 관리 장치, 방법 및 컴퓨터 프로그램 | |
CN104156677A (zh) | 一种基于fpga的硬盘加密、解密系统 | |
WO2023046207A1 (zh) | 一种数据传输方法、装置及计算机非易失性可读存储介质 | |
JP6487433B2 (ja) | ブロック暗号アルゴリズムで使用するための鍵更新のための装置および方法 | |
CN113422832B (zh) | 文件传输方法、装置、设备和存储介质 | |
CN103336920B (zh) | 用于无线传感网络soc芯片的安全系统 | |
JP6192870B2 (ja) | 暗号通信装置及び暗号通信端末及び暗号通信方法及び暗号通信プログラム | |
CN103902932B (zh) | 根据支持usb型存储设备的数据加解密的装置进行加密的方法 | |
KR101709276B1 (ko) | 엔드 포인트 보안서버 관리 시스템 | |
CN103777918A (zh) | 一种硬件加速器 | |
CN105681023A (zh) | 上位机与单片机动态加密通讯的方法 | |
CN102790672A (zh) | 一种自适应的数据加解密的方法 | |
CN102270182A (zh) | 基于同步用户和主机认证的加密可移动存储设备 | |
CN118369888A (zh) | 用于链路加密的自动密钥滚动 | |
CN210274109U (zh) | 一种支持加密功能的以太网卡装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140507 |