CN103973432A - 一种基于fpga和usb接口芯片的sm4算法加密设备 - Google Patents

一种基于fpga和usb接口芯片的sm4算法加密设备 Download PDF

Info

Publication number
CN103973432A
CN103973432A CN201410220238.5A CN201410220238A CN103973432A CN 103973432 A CN103973432 A CN 103973432A CN 201410220238 A CN201410220238 A CN 201410220238A CN 103973432 A CN103973432 A CN 103973432A
Authority
CN
China
Prior art keywords
algorithm
fpga
usb interface
chip
interface chip
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
Application number
CN201410220238.5A
Other languages
English (en)
Inventor
苏振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410220238.5A priority Critical patent/CN103973432A/zh
Publication of CN103973432A publication Critical patent/CN103973432A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于FPGA和USB接口芯片的SM4算法加密设备,包括USB接口芯片、现场可编程门阵列(FPGA)芯片、以及通过FPGA实现的USB接口控制模块、SM4算法IP核、SM4算法控制模块和片内RAM,该加密设备以FPGA为控制核心,通过VHDL语言设计实现了SM4算法IP核及相关的控制模块,采用USB接口连接到用户的终端,保证用户的重要数据在网络中以密文的方式传输,实现了数据快速运算、安全传输。该发明具有数据加解密速度快、安全性高、使用方便等优点。

Description

一种基于FPGA和USB接口芯片的SM4算法加密设备
技术领域
本发明涉及信息安全领域,主要用于对网络、金融、电信等系统中重要数据的加密和解密,可满足分组密码应用的安全需求,保障交易的安全。核心是利用了FPGA和USB接口芯片,通过FPGA设计出SM4对称密码算法IP核及相应的控制模块,利用硬件描述语言VHDL设计出高效的状态机控制数据加解密,利用USB接口芯片使得数据的传输过程变的快速。
技术背景
SM4算法是国家密码管理局批准的对称密码算法,主要应用于无线局域网产品。该算法的分组长度为128位,密钥长度为128位。加密算法与密钥扩展算法都采用32轮非线性迭代结构,解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
传统密码算法的实现是通过在主机上运行加密软件实现的。这种方法除占用主机资源外,运算速度较慢,安全性也较差。而硬件加密是通过专用加密芯片、FPGA芯片或独立的处理芯片等实现密码运算。相对于软件加密,硬件加密具有加密速度快、占用计算机资源少、安全性高等优点。本发明采用基于FPGA和USB接口芯片的硬件设计方式实现了SM4对称密码算法,因此数据处理的速度更快,效率更高。
发明内容
本发明要解决的技术问题是:一种基于FPGA和USB接口芯片的SM4算法加密设备,主要应用于商用密码环境中的数据加密和解密,保障交易的安全。利用FPGA芯片设计实现SM4算法IP核及相应的控制模块,通过USB接口芯片实现数据的传输。
本发明所采用的技术方案为:
一种基于FPGA和USB接口芯片的SM4算法加密设备,包括USB接口芯片、现场可编程门阵列(FPGA)芯片、以及通过FPGA实现的USB接口控制模块、SM4算法IP核、SM4算法控制模块和片内RAM,
其中,USB接口芯片,实现USB2.0总线协议及与FPGA本地端的交互;
FPGA芯片,作为设备的核心单元,对系统各个模块进行控制和调度;
USB接口控制模块,FPGA的子模块,实现对USB接口芯片的控制;
SM4算法IP核,FPGA的子模块,实现国产SM4对称密码算法;
SM4算法控制模块,FPGA的子模块,实现对SM4算法IP核的控制;
片内RAM,FPGA的子模块,实现对数据的缓存;
该加密设备以FPGA为控制核心,通过VHDL语言设计实现了SM4算法IP核及相关的控制模块,采用USB接口连接到用户的终端,保证用户的重要数据在网络中以密文的方式传输,实现了数据快速运算、安全传输。
所述USB接口芯片,选用南京沁恒电子公司的CH378芯片,该芯片是一种USB接口芯片,支持USB设备方式和USB主机方式,内置了USB通讯协议的基本固件和文件系统管理固件,支持常用的USB存储设备。该加密设备采用了CH378的USB设备方式、内部固件模式和8位并口的设计方式。
所述FPGA芯片,选用美国Altera公司CycloneIII系列的EP3C25F256C8器件,该芯片总引脚数256,其中I/O引脚为156,RAM总量为78KB,逻辑单元(LE)24624个,其硬件资源可以满足设计的要求。FPGA是硬件控制单元,通过VHDL程序设计出各个子模块,实现SM4对称密码算法及相关的控制功能。
所述USB接口控制模块,采用硬件描述语言VHDL设计实现,作用是控制CH378芯片进行数据的传输。该模块的核心是状态机的设计,用于对CH378芯片进行时序控制,对状态的编码采用格雷码的方式,有效的防止了毛刺的产生,使电路稳定。
所述SM4算法IP核,采用硬件描述语言VHDL设计实现,以IP软核的方式固化在FPGA中。该IP核实现了基于分组迭代结构的SM4对称密码算法,该算法采用非线性迭代结构,以字为单位进行加密运算。通过非线性变换、线性变换、合成置换的运算生成加解密用的轮函数。本IP核中的加密算法的轮密钥由加密密钥通过密钥扩展算法生成。该算法的分组长度128位,密钥长度为128位。
所述SM4算法控制模块,采用硬件描述语言VHDL设计实现,作用是控制SM4算法IP核,该模块的核心同样是状态机,根据状态机的状态输出与信号输入的关系,该模块采用Mealy型的状态机,并采用格雷码的编码方式。
所述片内RAM,在FPGA中设计实现,作为数据的缓存,该RAM是纯同步的,其读和写操作都是由时钟沿触发,在RAM块的输入地址、数据和写使能信号都有一级寄存器输入级。
所述片内RAM设计为双端口的模式,上位机和本地端FPGA可以对RAM进行独立的访问,使得设计更加灵活。
本发明的有益效果为:该发明具有数据加解密速度快、安全性高、使用方便等优点。
附图说明
图1为本发明基于FPGA和USB接口芯片的SM4算法加密设备系统控制流程图;
图2为本发明基于FPGA和USB接口芯片的SM4算法加密设备系统架构图。
具体实施方式
下面参照附图,通过具体实施方式对本发明进一步说明:
一种基于FPGA和USB接口芯片的SM4算法加密设备,包括USB接口芯片、现场可编程门阵列(FPGA)芯片、以及通过FPGA实现的USB接口控制模块、SM4算法IP核、SM4算法控制模块和片内RAM,
其中,USB接口芯片,实现USB2.0总线协议及与FPGA本地端的交互;
FPGA芯片,作为设备的核心单元,对系统各个模块进行控制和调度;
USB接口控制模块,FPGA的子模块,实现对USB接口芯片的控制;
SM4算法IP核,FPGA的子模块,实现国产SM4对称密码算法;
SM4算法控制模块,FPGA的子模块,实现对SM4算法IP核的控制;
片内RAM,FPGA的子模块,实现对数据的缓存;
该加密设备以FPGA为控制核心,通过VHDL语言设计实现了SM4算法IP核及相关的控制模块,采用USB接口连接到用户的终端,保证用户的重要数据在网络中以密文的方式传输,实现了数据快速运算、安全传输。
所述USB接口芯片,选用南京沁恒电子公司的CH378芯片,该芯片是一种USB接口芯片,支持USB设备方式和USB主机方式,内置了USB通讯协议的基本固件和文件系统管理固件,支持常用的USB存储设备。该加密设备采用了CH378的USB设备方式、内部固件模式和8位并口的设计方式。
所述FPGA芯片,选用美国Altera公司CycloneIII系列的EP3C25F256C8器件,该芯片总引脚数256,其中I/O引脚为156,RAM总量为78KB,逻辑单元(LE)24624个,其硬件资源可以满足设计的要求。FPGA是硬件控制单元,通过VHDL程序设计出各个子模块,实现SM4对称密码算法及相关的控制功能。
所述USB接口控制模块,采用硬件描述语言VHDL设计实现,作用是控制CH378芯片进行数据的传输。该模块的核心是状态机的设计,用于对CH378芯片进行时序控制,对状态的编码采用格雷码的方式,有效的防止了毛刺的产生,使电路稳定。
所述SM4算法IP核,采用硬件描述语言VHDL设计实现,以IP软核的方式固化在FPGA中。该IP核实现了基于分组迭代结构的SM4对称密码算法,该算法采用非线性迭代结构,以字为单位进行加密运算。通过非线性变换、线性变换、合成置换的运算生成加解密用的轮函数。本IP核中的加密算法的轮密钥由加密密钥通过密钥扩展算法生成。该算法的分组长度128位,密钥长度为128位。
所述SM4算法控制模块,采用硬件描述语言VHDL设计实现,作用是控制SM4算法IP核,该模块的核心同样是状态机,根据状态机的状态输出与信号输入的关系,该模块采用Mealy型的状态机,并采用格雷码的编码方式。
所述片内RAM,在FPGA中设计实现,作为数据的缓存,该RAM是纯同步的,其读和写操作都是由时钟沿触发,在RAM块的输入地址、数据和写使能信号都有一级寄存器输入级。
所述片内RAM设计为双端口的模式,上位机和本地端FPGA可以对RAM进行独立的访问,使得设计更加灵活。

Claims (8)

1.一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:包括USB接口芯片、FPGA芯片、以及通过FPGA实现的USB接口控制模块、SM4算法IP核、SM4算法控制模块和片内RAM,
其中,USB接口芯片,实现USB2.0总线协议及与FPGA本地端的交互;
FPGA芯片,作为设备的核心单元,对系统各个模块进行控制和调度;
USB接口控制模块,FPGA的子模块,实现对USB接口芯片的控制;
SM4算法IP核,FPGA的子模块,实现国产SM4对称密码算法;
SM4算法控制模块,FPGA的子模块,实现对SM4算法IP核的控制;
片内RAM,FPGA的子模块,实现对数据的缓存;
该加密设备以FPGA为控制核心,通过VHDL语言设计实现了SM4算法IP核及相关的控制模块,采用USB接口连接到用户的终端。
2.根据权利要求1所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述USB接口芯片,选用南京沁恒电子公司的CH378芯片,该芯片是一种USB接口芯片,支持USB设备方式和USB主机方式,内置了USB通讯协议的基本固件和文件系统管理固件,支持常用的USB存储设备;该加密设备采用CH378的USB设备方式、内部固件模式和8位并口的设计方式。
3.根据权利要求1所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述FPGA芯片,选用美国Altera公司CycloneIII系列的EP3C25F256C8器件,该芯片总引脚数256,其中I/O引脚为156,RAM总量为78KB,逻辑单元24624个,其硬件资源可以满足设计的要求;FPGA是硬件控制单元,通过VHDL程序设计出各个子模块,实现SM4对称密码算法及相关的控制功能。
4.根据权利要求1所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述USB接口控制模块,采用硬件描述语言VHDL设计实现,控制CH378芯片进行数据的传输;该模块的核心是状态机的设计,用于对CH378芯片进行时序控制,对状态的编码采用格雷码的方式。
5.根据权利要求1所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述SM4算法IP核,采用硬件描述语言VHDL设计实现,以IP软核的方式固化在FPGA中,该IP核实现了基于分组迭代结构的SM4对称密码算法,该算法采用非线性迭代结构,以字为单位进行加密运算,通过非线性变换、线性变换、合成置换的运算生成加解密用的轮函数;本IP核中的加密算法的轮密钥由加密密钥通过密钥扩展算法生成,该算法的分组长度128位,密钥长度为128位。
6.根据权利要求1所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述SM4算法控制模块,采用硬件描述语言VHDL设计实现,作用是控制SM4算法IP核,该模块的核心同样是状态机,根据状态机的状态输出与信号输入的关系,该模块采用Mealy型的状态机,并采用格雷码的编码方式。
7.根据权利要求1-7任一所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述片内RAM,在FPGA中设计实现,作为数据的缓存,该RAM是纯同步的,其读和写操作都是由时钟沿触发,在RAM块的输入地址、数据和写使能信号都有一级寄存器输入级。
8.根据权利要求7所述的一种基于FPGA和USB接口芯片的SM4算法加密设备,其特征在于:所述片内RAM设计为双端口的模式,上位机和本地端FPGA对RAM进行独立的访问。
CN201410220238.5A 2014-05-23 2014-05-23 一种基于fpga和usb接口芯片的sm4算法加密设备 Pending CN103973432A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410220238.5A CN103973432A (zh) 2014-05-23 2014-05-23 一种基于fpga和usb接口芯片的sm4算法加密设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410220238.5A CN103973432A (zh) 2014-05-23 2014-05-23 一种基于fpga和usb接口芯片的sm4算法加密设备

Publications (1)

Publication Number Publication Date
CN103973432A true CN103973432A (zh) 2014-08-06

Family

ID=51242509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410220238.5A Pending CN103973432A (zh) 2014-05-23 2014-05-23 一种基于fpga和usb接口芯片的sm4算法加密设备

Country Status (1)

Country Link
CN (1) CN103973432A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228088A (zh) * 2016-08-11 2016-12-14 浪潮电子信息产业股份有限公司 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN106484367A (zh) * 2016-09-08 2017-03-08 乐视控股(北京)有限公司 共识计算芯片、设备、系统及主板
CN106712930A (zh) * 2017-01-24 2017-05-24 北京炼石网络技术有限公司 一种sm4加密方法及装置
CN107528690A (zh) * 2017-10-10 2017-12-29 郑州云海信息技术有限公司 一种基于异构加速平台的sm4对称加解密方法及系统
CN107612682A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种基于sha512算法的数据处理方法、装置及系统
CN107612681A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种基于sm3算法的数据处理方法、装置及系统
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN109039591A (zh) * 2017-06-08 2018-12-18 佛山芯珠微电子有限公司 基于fpga的物联网络信息加密系统的实现方法
CN110086750A (zh) * 2018-01-26 2019-08-02 北京数盾信息科技有限公司 一种基于光纤数据链路网络和卫星通信网络的加密系统
CN110826085A (zh) * 2019-10-31 2020-02-21 浪潮金融信息技术有限公司 一种实现arm平台的数据加密系统及方法
CN111832051A (zh) * 2020-07-10 2020-10-27 郑州信大捷安信息技术股份有限公司 一种基于fpga的对称加解密方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
CN103780608A (zh) * 2014-01-14 2014-05-07 浪潮电子信息产业股份有限公司 一种基于可编程门阵列芯片的sm4算法控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689726B1 (en) * 2004-10-01 2010-03-30 Xilinx, Inc. Bootable integrated circuit device for readback encoding of configuration data
CN103780608A (zh) * 2014-01-14 2014-05-07 浪潮电子信息产业股份有限公司 一种基于可编程门阵列芯片的sm4算法控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王晨光等: "《低复杂度 SM4 加密算法 IP 核设计》", 《科学技术与工程》 *
高帅娜: "《基于FPGA的数据加密设备的设计》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228088A (zh) * 2016-08-11 2016-12-14 浪潮电子信息产业股份有限公司 一种基于国产bmc芯片的sm4算法ip核的设计方法
CN106484367A (zh) * 2016-09-08 2017-03-08 乐视控股(北京)有限公司 共识计算芯片、设备、系统及主板
CN106712930A (zh) * 2017-01-24 2017-05-24 北京炼石网络技术有限公司 一种sm4加密方法及装置
CN109039591A (zh) * 2017-06-08 2018-12-18 佛山芯珠微电子有限公司 基于fpga的物联网络信息加密系统的实现方法
CN107612682A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种基于sha512算法的数据处理方法、装置及系统
CN107612681A (zh) * 2017-09-25 2018-01-19 郑州云海信息技术有限公司 一种基于sm3算法的数据处理方法、装置及系统
CN107528690A (zh) * 2017-10-10 2017-12-29 郑州云海信息技术有限公司 一种基于异构加速平台的sm4对称加解密方法及系统
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN108345806B (zh) * 2017-12-14 2020-07-07 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN110086750A (zh) * 2018-01-26 2019-08-02 北京数盾信息科技有限公司 一种基于光纤数据链路网络和卫星通信网络的加密系统
CN110826085A (zh) * 2019-10-31 2020-02-21 浪潮金融信息技术有限公司 一种实现arm平台的数据加密系统及方法
CN110826085B (zh) * 2019-10-31 2022-08-09 浪潮金融信息技术有限公司 一种实现arm平台的数据加密系统
CN111832051A (zh) * 2020-07-10 2020-10-27 郑州信大捷安信息技术股份有限公司 一种基于fpga的对称加解密方法及系统
CN111832051B (zh) * 2020-07-10 2022-02-18 郑州信大捷安信息技术股份有限公司 一种基于fpga的对称加解密方法及系统

Similar Documents

Publication Publication Date Title
CN103973432A (zh) 一种基于fpga和usb接口芯片的sm4算法加密设备
CN101854353B (zh) 一种基于fpga的多芯片并行加密方法
CN202650015U (zh) 用于经加密存储器存取的系统
EP3322119A1 (en) Data processing method and apparatus
CN109145568A (zh) 一种基于pci-e接口的全算法密码卡及其加密方法
CN103716166A (zh) 一种自适应混合加密方法、装置以及加密通信系统
CN111722831B (zh) 一种加密系统及其实现方法
CN105306194A (zh) 供加密档案和/或通讯协定的多重加密方法与系统
CN103413094A (zh) 一种适用于航天器ctu的遥测加密系统
CN103780608A (zh) 一种基于可编程门阵列芯片的sm4算法控制方法
CN101702709A (zh) 一种适用于mips处理器的aes加密单元
CN102739393B (zh) 基于apb总线的硬件加密uart装置
CN103746796A (zh) 一种实现智能卡sm4密码算法的协处理器
CN103346878A (zh) 一种基于fpga高速串行io的保密通信方法
CN105049203B (zh) 一种支持多工作模式的可配置3des加解密算法电路
CN103902932B (zh) 根据支持usb型存储设备的数据加解密的装置进行加密的方法
CN103427978A (zh) 基于混沌加密系统的无线汉字传输装置
CN105721139B (zh) 一种适用于有限io资源的fpga的aes加解密方法及电路
CN202602901U (zh) 基于混沌加密系统的无线汉字传输装置
CN115333868B (zh) 基于奇偶轮循的对称加密方法、解密方法、装置、设备
RU2503135C1 (ru) Способ криптографического преобразования информации и устройство для его реализации
CN203673487U (zh) 用于加密计算机文件的usb加密装置
CN103455766A (zh) 一种基于状态机的国密sm1算法控制方法
Drozd et al. The device of secure data transmission based on Magma crypto algorithm with implementation on FPGA
Sharma et al. VHDL Implementation of AES-128

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140806