一种运行非对称加密算法的嵌入式系统的制作方法

文档序号:11959484阅读:626来源:国知局
一种运行非对称加密算法的嵌入式系统的制作方法与工艺

本发明涉及单片机技术领域,特别是涉及一种运行非对称加密算法的嵌入式系统。



背景技术:

目前非对称加解密算法如RSA、ECC算法,广泛用于银行系统、网络安全认证、网上交易平台上,用于识别可信用户、可信的网站等等。其原理是公钥和私钥分开存放,用公钥来保证安全平台的合法性,用私钥来保证保有私钥用户的唯一性。常用的用于保存和进行公私钥运算的可移动设备有U盾、IC卡等等,由于体积、功耗等等原因,往往在运算性能上比较低,不能满足客户日益增长的需求。

现有市面上常见的运行非对称算法的嵌入式产品方案有如下三种:

第一种已有方案,纯通用CPU来进行运算:由于非对称加解密算法使用到了相当多的大数乘法、大数模幂等等运算,这些运算在常用的高性能嵌入式CPU平台上也无法做到高性能的运算(例如RSA2048在ARM CortexA9的800Mhz CPU平台上也只能做到纯软件运算每秒几次)。

第二种已有方案,通用CPU+非对称运算加速IP模块:非对称加解密算法如RSA、ECC算法,在某些常见的嵌入式Soc平台上,如8051系列、ARM低端CPU系列上添加了专用和定制的大数运算硬件加速器,由于部分非大数运算还是需要用到通用CPU来进行计算,而这些嵌入式平台往往由于成本或者体积功耗等原因,计算能力很有限,导致最终实际运算能力也只有每秒十几次。

第三种已有方案,高速Soc+高速FPGA芯片:这种方案将大数运算放在FPGA芯片进行计算,Soc芯片完成其他非大数运算部分,但往往需要在Soc和FPGA之间使用一些并行高速接口来进行数据通讯,通讯的效率会影响实际非对称计算的效率,而双芯片方案对PCB布线和系统的总体功耗也有很大影响。因此,该方案成本较高,实施难度较大,适用性较差。



技术实现要素:

本发明的目的是提供一种运行非对称加密算法的嵌入式系统,目的在于解决现有技术中整体成本高、难度大、适用性较差的问题。

为解决上述技术问题,本发明提供一种运行非对称加密算法的嵌入式系统,包括:

处理器、FPGA模块以及内部总线;

所述处理器为硬核处理器系统,集成于所述FPGA模块的框架中,所述处理器以及所述FPGA模块之间通过所述内部总线相连;所述处理器用于接收非对称运算指令以及运算数据,将非对称运算的硬件加速逻辑写入所述FPGA模块,对所述FPGA模块的架构进行配置,并调用所述FPGA模块来加速非对称运算。

可选地,所述处理器包括:

通讯模块,用于接收所述非对称运算指令以及所述运算数据,并将运算结果发送至上位机;

逻辑配置模块,用于将非对称运算的硬件加速逻辑写入所述FPGA模块;

计算模块,用于在接收到所述非对称运算指令以及所述运算数据后,进行非对称运算,并在预设条件下调用所述FPGA模块来加速非对称运算。

可选地,所述处理器还包括:

资源初始化模块,用于将模块加载到RAM内,并对所有HPS端的硬件资源进行初始化。

可选地,所述处理器还包括:

检测模块,用于检测所述FPGA模块是否正常工作。

可选地,所述通讯模块通过USB端口与所述上位机相连。

可选地,所述FPGA模块通过FPGA-to-HPS桥实现对处理器中HPS总线从设备的访问。

可选地,所述处理器的HPS总线主机通过HPS-to-FPGA桥和Lightweight HPS-to-FPGA桥,实现对FPGA中的总线从设备的访问。

可选地,所述逻辑配置模块通过32位的专用配置端口,对所述FPGA模块进行配置。

可选地,所述内部总线为宽带互联干线。

本发明所提供的运行非对称加密算法的嵌入式系统,处理器为硬核处理器系统,集成于FPGA模块的框架中,处理器以及FPGA模块之间通过内部总线相连;处理器在接收非对称运算指令以及运算数据之后,将非对称运算的硬件加速逻辑写入FPGA模块,对FPGA模块的架构进行配置,并调用FPGA模块来加速非对称运算。本发明所提供的运行非对称加密算法的嵌入式系统,通过将高性能的通用性嵌入式CPU和用于非对称运算加速的FPGA模块通过高速内部总线相连,使得非对称加解密运算的性能可以高达每秒几百次以上,可以用于需要进行频繁非对称运算的应用场合,同时还能够降低方案的整体成本和难度。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的运行非对称加密算法的嵌入式系统的一种具体实施方式的结构框图;

图2为本发明实施例所提供的处理器的结构框图;

图3为本发明实施例所提供的Cyclone V芯片模块图;

图4为本发明实施例所提供的应用系统示意图;

图5为本发明所提供的技术方案与第三方案的比较示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明所提供的运行非对称加密算法的嵌入式系统的一种具体实施方式的结构框图如图1所示,该系统包括:

处理器1、FPGA模块2以及内部总线3(图中未示出);

所述处理器1为硬核处理器系统,集成于所述FPGA模块2的框架中,所述处理器1以及所述FPGA模块2之间通过所述内部总线3相连;所述处理器1用于接收非对称运算指令以及运算数据,将非对称运算的硬件加速逻辑写入所述FPGA模块2,对所述FPGA模块2的架构进行配置,并调用所述FPGA模块2来加速非对称运算。

本发明所提供的运行非对称加密算法的嵌入式系统,处理器为硬核处理器系统,集成于FPGA模块的框架中,处理器以及FPGA模块之间通过内部总线相连;处理器在接收非对称运算指令以及运算数据之后,将非对称运算的硬件加速逻辑写入FPGA模块,对FPGA模块的架构进行配置,并调用FPGA模块来加速非对称运算。本发明所提供的运行非对称加密算法的嵌入式系统,通过将高性能的通用性嵌入式CPU和用于非对称运算加速的FPGA模块通过高速内部总线相连,使得非对称加解密运算的性能可以高达每秒几百次以上,可以用于需要进行频繁非对称运算的应用场合,同时还能够降低方案的整体成本和难度。

如图2本发明实施例所提供的处理器的结构框图所示,在上述实施例的基础上,本申请所提供的运行非对称加密算法的嵌入式系统中,处理器可以具体包括:

通讯模块11,用于接收所述非对称运算指令以及所述运算数据,并将运算结果发送至上位机(主设备);

此模块主要用于接收上位机(主设备)如PC发送的非对称运算命令和运算数据,以及在计算模块完成运算后,将运算的结果发送给上位机(主设备)如PC。

逻辑配置模块12,用于将非对称运算的硬件加速逻辑写入所述FPGA模块;

计算模块13,用于在接收到所述非对称运算指令以及所述运算数据后,进行非对称运算的非大数运算部分,并在预设条件下调用所述FPGA模块进行非对称运算的大数运算部分。

预设条件为运算量超过预设阈值或计算时间超过预设阈值。此模块用于在通讯模块接收完数据后,使用CPU进行非对称运算的非大数运算部分的计算,同时也会去调用FPGA部分的硬件加速模块来进行某些比较耗时的大数运算,主要功能是实现非对称加密解密和签名验签等功能。

进一步地,处理器还可以包括:

资源初始化模块,用于将模块加载到RAM内,并对所有HPS段的硬件资源进行初始化。

资源初始化模块主要是在上电后,将其他模块加载到RAM内,并将所有HPS段的硬件资源初始化好,供其他模块使用。

在上述实施例基础上,处理器还可以包括:

检测模块,用于检测所述FPGA模块是否正常工作。

在上述任一实施例的基础上,本申请还可以提供多种外部通讯接口,如USB,SD或PCIE等等。作为一种具体实施方式,通讯模块可以具体通过USB端口与所述上位机(主设备)相连。

具体地,本方案使用Altera公司推出的cyclone V系列芯片,利用此芯片内部集成的高性能ARM Soc和可编程逻辑单元FPGA模块,将ARM芯片优秀的通用计算能力和利用FPGA逻辑的大数运算加速能力结合在一起,极大提升了非对称算法的运算性能,并且由于FPGA具有极大的灵活性,在未来非对称算法升级后,仍然可以支持。

作为一种具体实施方式,所述FPGA模块通过FPGA-to-HPS桥实现对处理器中HPS总线从机的访问;所述处理器的HPS总线主机通过HPS-to-FPGA桥和Lightweight HPS-to-FPGA桥,实现对FPGA中的总线从机的访问。

请参照图3以及图4本发明实施例所提供的Cyclone V芯片模块示意图图以及应用系统示意图,Cyclone V芯片中的FPGA和基于ARM Cortex-A9硬件处理器系统不仅能够各自独立运行,也能通过ARMAXITM总线桥接宽带系统实现两芯片解决方案中无法提供的互联性能。通过FPGA-to-HPS桥,FPGA中的IP总线主机可以实现对HPS总线从机的访问。同时,通过HPS-to-FPGA桥和Lightweight HPS-to-FPGA桥,HPS总线主机可以实现对FPGA中的总线从机的访问。全部桥可实现读写操作同时进行,并兼容AMBA AXI-3。

作为一种具体实施方式,本发明所提供的运行非对称加密算法的嵌入式系统中,逻辑配置模块通过32位的专用配置端口,对所述FPGA模块进行配置。进一步地,内部总线可以具体为宽带互联干线。

本发明实施例通过采用Altera公司推出的基于28-nm工艺的Arria V SoC(System on a Chip)和Cyclone V的FPGA,并通过宽带互联干线连接,将基于ARM的硬核处理器系统(HPS,Hard Processor System)集成在FPGA架构中,同时还包括处理器、丰富的外设和存储器控制器。它既具备可编程逻辑的灵活性和低功耗性,也可以发挥硬核知识产权(IP)的性能。

请参照图5本发明所提供的技术方案与第三方案的比较示意图,本发明实施例具有下述优点:

(1)系统性能增强;

SoC FPGA中的硬件系统在1.8W的功率下运算性能可以超过4000DMIPS;硬件处理器系统和FPGA之间的互联速度超过125Gps(千兆比特每秒);ARM中的加速器端口使开发人员可以实现FPGA中的硬件加速并使处理器中的高速缓存与其一致;超过1600次的GMACS(累加运算),DSP中每秒300千兆次浮点运算;

(2)功耗降低;在硬件处理器中集成FPGA将节省30%的功耗;

(3)开发板面积减小;将两个芯片集成为一个芯片可以减少55%的面积。

(4)系统消耗减小,元件消耗减小;PCB布线和信号完整性等方面因为只有一个处理器芯片而得到改善。

综上,本发明使用新技术平台,克服了原有旧方案的不足之处,并且支持在非对称算法有所更新时,及时通过修改FPGA部分逻辑,来完成对新非对称算法的支持或是对老非对称算法性能的提升。本申请以单芯片方案达到了原来需要多颗芯片的方案的效果,提升了非对称算法的性能,可以灵活地对现有非对称算法的大数运算部分和非大数运算部分功能做出修改。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的运行非对称加密算法的嵌入式系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1