CN103973432A - 一种基于fpga和usb接口芯片的sm4算法加密设备 - Google Patents
一种基于fpga和usb接口芯片的sm4算法加密设备 Download PDFInfo
- 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
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接口芯片,通过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进行独立的访问。
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)
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)
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算法控制方法 |
-
2014
- 2014-05-23 CN CN201410220238.5A patent/CN103973432A/zh active Pending
Patent Citations (2)
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)
Title |
---|
王晨光等: "《低复杂度 SM4 加密算法 IP 核设计》", 《科学技术与工程》 * |
高帅娜: "《基于FPGA的数据加密设备的设计》", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (14)
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 |