CN106506160B - 一种asic和fpga异构紧耦合结构 - Google Patents
一种asic和fpga异构紧耦合结构 Download PDFInfo
- Publication number
- CN106506160B CN106506160B CN201611071487.8A CN201611071487A CN106506160B CN 106506160 B CN106506160 B CN 106506160B CN 201611071487 A CN201611071487 A CN 201611071487A CN 106506160 B CN106506160 B CN 106506160B
- Authority
- CN
- China
- Prior art keywords
- unit
- cryptographic algorithm
- asic
- algorithm
- fpga
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种ASIC和FPGA异构紧耦合结构,包括FPGA密码算法单元、ASIC密码算法单元以及安全防护单元;所述FPGA密码算法单元与ASIC密码算法单元互联;所述安全防护单元与FPGA密码算法单元、ASIC密码算法单元连接;所述FPGA密码算法单元用于调用ASIC中的可重构密码算法单元构建不同的算法模块和算法框架;所述ASIC密码算法单元用于实现不同密码算法中可共用的中粒度运算单元。本发明实现灵活性强,处理性能高,并且降低了实现的复杂度,可以满足可配置安全计算平台对高适应性、高性能的可重构密码算法芯片的需求,提升了芯片的安全性,扩展了密码芯片的安全应用领域。
Description
技术领域
本发明涉及密码算法集成电路设计领域,尤其涉及一种ASIC和FPGA异构紧耦合结构。
背景技术
目前,传统的密码芯片是实现一种固定密码算法的专用芯片,难以满足不同密码用户多层次的安全性能需要和密码算法更新换代的需求,可编程密码芯片是利用可重用的硬件资源灵活地改变自身硬件结构,为不同的密码算法提供与之相匹配的内部结构和外部特性,从而大大提高了密码的灵活性、安全性和扩展性,具有良好的应用前景。
可编程密码芯片目前的技术路线主要有以下两种:一、基于FPGA(现场可编程逻辑阵列)芯片:基于FPGA芯片开发完全可配置的密码算法芯片。二、ASIP (专用指令集处理器)可重构技术:ASIP针对某类特定应用设计专用指令系统,设计适合本应用数据处理特征的硬件架构以及硬件单元。传统ASIP的应用主要包括用于多媒体信号等处理的DSP(数字信号处理器)。
FPGA实现可重构算法芯片,优点是开发快、风险小,但缺点也是显而易见。首先在多算核以及高性能的算法实现方面有很大不足,并且对于终端设备来讲,用FPGA芯片的集成度低,需要外接FLASH、国产处理器核等,规模大,不适合终端、便携计算机。而采用针对特定应用的专用指令集的方式实现可重构算法,在性能和安全性以及集成度上均有优势,但是需要进行基本单元的分析、提取和算法架构设计,工作量大,芯片成本高。
发明内容
本发明的目的在于通过一种ASIC和FPGA异构紧耦合结构,来解决以上背景技术部分提到的问题。
为达此目的,本发明采用以下技术方案:
一种ASIC和FPGA异构紧耦合结构,其包括FPGA密码算法单元、ASIC(专用集成电路)密码算法单元以及安全防护单元;所述FPGA密码算法单元与ASIC 密码算法单元互联;所述安全防护单元与FPGA密码算法单元、ASIC密码算法单元连接;所述FPGA密码算法单元用于调用ASIC中的可重构密码算法单元构建不同的算法模块和算法框架;所述ASIC密码算法单元用于实现不同密码算法中可共用的中粒度运算单元;所述安全防护单元用于实现密码算法安全配置及对芯片的物理安全防护。
特别地,所述FPGA密码算法单元包括可配置密码算法专用单元、高速IO 接口以及算法管理模块;所述可配置密码算法专用单元用于根据所要求的密码算法调用加密算法配置模块、杂凑算法配置模块、非对称算法配置模块和保护算法专用模块,同时根据配置信息构造出要求密码算法的单元;所述高速IO接口用于传输加解密数据;所述算法管理模块用于实现密钥生成算法和数据加解密的流水控制。
特别地,所述ASIC密码算法单元包括可配置密码算法通用单元、处理器单元以及配置管理单元;所述可配置密码算法通用单元包括加密算法通用单元、杂凑算法通用单元、非对称算法通用单元和保护算法通用单元中使用频率达到设定值的可配置中粒度运算单元;所述处理器单元用于从安全防护单元的FLASH 中读取算法配置逻辑;所述配置管理模块用于控制配置信息的传输。
特别地,所述算法管理模块具体用于控制来自高速IO接口的密钥和数据分时复用密码单元,并控制可配置密码算法专用单元及调用可重构密码算法通用单元实现密钥生成算法和数据加解密的流水控制。
特别地,所述配置管理模块具体用于对可配置密码算法通用单元的配置和对可配置密码算法专用单元的配置。
特别地,所述FPGA密码算法单元和ASIC密码算法单元之间采用高速PCI-E 接口实现互联。
本发明提出的ASIC和FPGA异构紧耦合结构实现灵活性强,处理性能高,并且降低了实现的复杂度,可以满足可配置安全计算平台对高适应性、高性能的可重构密码算法芯片的需求,全国产化的提升了芯片的安全性,扩展了密码芯片的安全应用领域。
附图说明
图1为本发明实施例提供的ASIC和FPGA异构紧耦合结构示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容理解的更加透彻全面。需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参照图1所示,图1为本发明实施例提供的ASIC和FPGA异构紧耦合结构示意图。
本实施例中ASIC和FPGA异构紧耦合结构100具体包括FPGA密码算法单元 101、ASIC密码算法单元102以及安全防护单元103;所述FPGA密码算法单元 101与ASIC密码算法单元102互联;所述安全防护单元103与FPGA密码算法单元101、ASIC密码算法单元102连接;所述FPGA密码算法单元101用于调用ASIC 中的可重构密码算法单元构建不同的算法模块和算法框架;所述ASIC密码算法单元102用于实现不同密码算法中可共用的中粒度运算单元;所述安全防护单元103用于实现密码算法安全配置及对芯片的物理安全防护。
于本实施,所述FPGA密码算法单元101包括可配置密码算法专用单元1011、高速IO接口1012以及算法管理模块1013;所述可配置密码算法专用单元1011 用于根据所要求的密码算法调用加密算法配置模块、杂凑算法配置模块、非对称算法配置模块和保护算法专用模块,同时根据配置信息构造出要求密码算法的单元;所述高速IO接口1012用于传输加解密数据;所述算法管理模块1013 用于控制来自高速IO接口1012的密钥和数据分时复用密码单元,并控制可配置密码算法专用单元1011及调用可重构密码算法通用单元实现密钥生成算法和数据加解密的流水控制。
所述ASIC密码算法单元102包括可配置密码算法通用单元1021、处理器单元1022以及配置管理单元1023;所述可配置密码算法通用单元1021包括加密算法通用单元、杂凑算法通用单元、非对称算法通用单元和保护算法通用单元中使用频率达到设定值的可配置中粒度运算单元;所述处理器单元1022用于从安全防护单元103的FLASH中读取算法配置逻辑;所述配置管理模块用于控制配置信息的传输,主要是对可配置密码算法通用单元1021的配置和对可配置密码算法专用单元1011的配置。
所述FPGA密码算法单元101和ASIC密码算法单元102之间采用高速PCI-E 接口实现高速互联,该高速PCI-E接口标准通用,而且满足密码运算接口的性能指标。
为了便于理解本发明,下面对本发明的基理扼要说明如下:芯片采用ASIC+FPGA同基板封装即多芯片封装技术路线,平台计算安全密码芯片中ASIC 部分采用65nm SMIC工艺下苏州国芯国产处理器C9000核及相配套的总线和外围接口,FPGA部分采用40nm工艺下FPGA KGD(KNOW GOOD DIE)。ASIC与FPGA 之间采用自定义的专用密码算法接口,实现算法不同模块之间的可重构。具体实现方式如下:
一、异构紧耦合的芯片架构
平台计算安全密码芯片采用如图1所示的异构紧耦合的结构,将ASIC与 FPGA逻辑紧密结合,实现密码算法的多样性和可配置。该结构在实现灵活性和处理性能方面具有较大的优势,可以满足可配置安全计算平台对高适应性、高性能的可重构密码算法芯片的需求,芯片的FPGA逻辑部分拟采用具有高速互连接口的FPGA,并基于对密码算法可重构规模及其实现电路的分析,设计了合理的电路划分方案,对FPGA及ASIC实现内容给予最优资源设置。
二、ASIC与FPGA功能合理划分
基于对算法处理特征的分析,提取中粒度的可重构运算单元采用ASIC实现,对于一些通用部分和算法框架部分采用FPGA实现。以ECC算法为例:ECC算法由于规模大,算法运算单元基本确定,ECC算法运算基本单元KP运算模块采用 ASIC实现,采用FPGA基于基本运算单元实现ECC算法构建。KP运算是ECC算法中最核心、最基础的运算,以ASIC的形式实现KP运算,能够有力的提高ECC 算法的性能。FPGA可以通过专用算法接口调用KP运算模块来快速的构建ECC算法。同时在ASIC中集成C9000嵌入式处理器和一些配置接口和存储器接口等,主要提供密码芯片的配置管理,以及对外密码服务的功能。
三、高性能的芯片IO互连
片内ASIC芯片和FPGA芯片工艺不同,IO特性也不同,为了实现两个芯片之间的可靠互联,提高可编程密码芯片密码服务的性能,ASIC和FPGA之间采用标准的高速PCI-E接口实现互联。主要实现大数据包的高速传输,该接口标准通用,而且满足密码运算接口的性能指标。
FPGA和ASIC之间采用专有算法接口,FPGA能够通过专有 算法接口调用ASIC 中的可重构密码算法单元快速高效的构建不同的算法模块。合理设计密钥生成算法和数据加解密流水控制逻辑,实现数据通路的流水线设计。
本发明的技术方案实现灵活性强,处理性能高,降低了实现的复杂度,可以满足可配置安全计算平台对高适应性、高性能的可重构密码算法芯片的需求,全国产化的提升了芯片的安全性,扩展了密码芯片的安全应用领域。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (4)
1.一种ASIC和FPGA异构紧耦合结构,其特征在于,包括FPGA密码算法单元、ASIC密码算法单元以及安全防护单元;所述FPGA密码算法单元与ASIC密码算法单元互联;所述安全防护单元与FPGA密码算法单元、ASIC密码算法单元连接;所述FPGA密码算法单元用于调用ASIC中的可重构密码算法单元构建不同的算法模块和算法框架;所述ASIC密码算法单元用于实现不同密码算法中可共用的中粒度运算单元;所述安全防护单元用于实现密码算法安全配置及对芯片的物理安全防护;其中,所述FPGA密码算法单元包括可配置密码算法专用单元、高速IO接口以及算法管理模块;所述可配置密码算法专用单元用于根据所要求的密码算法调用加密算法配置模块、杂凑算法配置模块、非对称算法配置模块和保护算法专用模块,同时根据配置信息构造出要求密码算法的单元;所述高速IO接口用于传输加解密数据;所述算法管理模块用于实现密钥生成算法和数据加解密的流水控制;所述ASIC密码算法单元包括可配置密码算法通用单元、处理器单元以及配置管理单元;所述可配置密码算法通用单元包括加密算法通用单元、杂凑算法通用单元、非对称算法通用单元和保护算法通用单元中使用频率达到设定值的可配置中粒度运算单元;所述处理器单元用于从安全防护单元的FLASH中读取算法配置逻辑;所述配置管理模块用于控制配置信息的传输。
2.根据权利要求1所述的ASIC和FPGA异构紧耦合结构,其特征在于,所述算法管理模块具体用于控制来自高速IO接口的密钥和数据分时复用密码单元,并控制可配置密码算法专用单元及调用可重构密码算法通用单元实现密钥生成算法和数据加解密的流水控制。
3.根据权利要求2所述的ASIC和FPGA异构紧耦合结构,其特征在于,所述配置管理模块具体用于对可配置密码算法通用单元的配置和对可配置密码算法专用单元的配置。
4.根据权利要求1至3之一所述的ASIC和FPGA异构紧耦合结构,其特征在于,所述FPGA密码算法单元和ASIC密码算法单元之间采用高速PCI-E接口实现互联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611071487.8A CN106506160B (zh) | 2016-11-29 | 2016-11-29 | 一种asic和fpga异构紧耦合结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611071487.8A CN106506160B (zh) | 2016-11-29 | 2016-11-29 | 一种asic和fpga异构紧耦合结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106506160A CN106506160A (zh) | 2017-03-15 |
CN106506160B true CN106506160B (zh) | 2019-11-15 |
Family
ID=58329181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611071487.8A Active CN106506160B (zh) | 2016-11-29 | 2016-11-29 | 一种asic和fpga异构紧耦合结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106506160B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465717B (zh) * | 2017-06-16 | 2020-06-05 | 广州天宁信息技术有限公司 | 一种密码按需服务的方法、装置与设备 |
CN108566393B (zh) * | 2018-04-13 | 2019-04-12 | 清华大学无锡应用技术研究院 | 数据加密的方法、装置和系统 |
CN117631631B (zh) * | 2024-01-24 | 2024-04-02 | 中国电子科技集团公司第三十研究所 | 一种国产化dsp嵌入式系统及其功能载荷重构方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1204517C (zh) * | 2003-01-15 | 2005-06-01 | 西安交通大学 | 智能电器可重构硬件设计平台 |
US20060059574A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | System for securely configuring a field programmable gate array or other programmable hardware |
US20060059372A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware |
US7724032B2 (en) * | 2007-08-20 | 2010-05-25 | Altera Corporation | Field programmable gate array with integrated application specific integrated circuit fabric |
CN101515853B (zh) * | 2009-03-09 | 2011-05-04 | 深圳同方电子设备有限公司 | 信息终端及其信息安全装置 |
-
2016
- 2016-11-29 CN CN201611071487.8A patent/CN106506160B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106506160A (zh) | 2017-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11144678B2 (en) | System with secure SoC connections among IP and multiple GPIOs, and corresponding method | |
CN106506160B (zh) | 一种asic和fpga异构紧耦合结构 | |
WO2018132485A1 (en) | Scheduling method, apparatus, and system for use in data processing | |
US20170092157A1 (en) | Multiple input cryptographic engine | |
CN104281554B (zh) | 电路装置和用于该电路装置的运行方法 | |
US20230378061A1 (en) | Fabric Die to Fabric Die Interconnect for Modularized Integrated Circuit Devices | |
Wu et al. | An inter/intra-chip optical network for manycore processors | |
CN104216761B (zh) | 一种在能够运行两种操作系统的装置中使用共享设备的方法 | |
CN105553887B (zh) | 用于管芯上互连的体系结构 | |
CN106919860B (zh) | 用于实现物理不可克隆函数的电路以及相应的运行方法 | |
CN104021104A (zh) | 一种基于双总线结构的协同系统及其通信方法 | |
KR20030061609A (ko) | 버스 시스템 및 그 데이터 전송경로 결정방법 | |
US9753769B2 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
CN108400866B (zh) | 一种粗粒度可重构密码逻辑阵列 | |
Yazdanshenas et al. | Improving confidentiality in virtualized FPGAs | |
US7206889B2 (en) | Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes | |
CN107979608B (zh) | 一种接口可配置的数据加解密传输系统及传输方法 | |
CN105528319B (zh) | 基于fpga的加速卡及其加速方法 | |
Ferdian et al. | Edge computing for Internet of Things based on FPGA | |
CN104657222B (zh) | 一种面向smp调度系统的优化方法 | |
CN104899527A (zh) | 一种片上安全协处理器 | |
Wu et al. | The flexible interledger bridge design | |
US8954622B1 (en) | Embedded programmable logic for logic stacking on application processor | |
Schuck et al. | An interface for a decentralized 2d reconfiguration on xilinx virtex-fpgas for organic computing | |
CN105550140B (zh) | 一种电子设备及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |