CN111193591B - 一种基于cpu+fpga的加解密方法及系统 - Google Patents

一种基于cpu+fpga的加解密方法及系统 Download PDF

Info

Publication number
CN111193591B
CN111193591B CN201911408431.0A CN201911408431A CN111193591B CN 111193591 B CN111193591 B CN 111193591B CN 201911408431 A CN201911408431 A CN 201911408431A CN 111193591 B CN111193591 B CN 111193591B
Authority
CN
China
Prior art keywords
fpga
algorithm
encryption
cpu
decryption
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
Application number
CN201911408431.0A
Other languages
English (en)
Other versions
CN111193591A (zh
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.)
Zhengzhou Xinda Institute of Advanced Technology
Original Assignee
Zhengzhou Xinda Institute of Advanced Technology
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 Zhengzhou Xinda Institute of Advanced Technology filed Critical Zhengzhou Xinda Institute of Advanced Technology
Priority to CN201911408431.0A priority Critical patent/CN111193591B/zh
Publication of CN111193591A publication Critical patent/CN111193591A/zh
Application granted granted Critical
Publication of CN111193591B publication Critical patent/CN111193591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)

Abstract

本发明提供一种基于CPU+FPGA的加解密方法及系统,其中,CPU上电配置FPGA;FPGA根据CPU发送的算法模式、加/解密指令、算法参数和使能信号对待处理数据进行加/解密处理并向CPU返回处理结果;本发明通过CPU+FPGA模式的处理方式将复杂运算放入DSP完成,拓展了算法可重构能力;本发明利用FPGA的可重构特点,将加密算法移植到FPGA上实现,相比CPU大大提高了算法的处理速度,同时避免了使用IP核或者算法专用芯片,实现了算法的可重构性;并且FPGA配置文件先由加密程序加密,加密后的文件由CPU烧写进Flash,上电时采用CPU上电配置FPGA,保证了FPGA程序不能被配置芯片回读,确保了加密的可靠性。

Description

一种基于CPU+FPGA的加解密方法及系统
技术领域
本发明涉及加解密领域,具体的说,涉及了一种基于CPU+FPGA的加解密方法及系统。
背景技术
目前实现国密算法的技术很成熟,既多种满足SM3杂凑算法或SM4对称算法需求的国密专用算法芯片,也存在多种SM3杂凑算法或SM4对称算法的软算法核以及基于FPGA的算法加速实现方式。其中,基于硬件实现的国密算法专用芯片有高性能、高稳定性的特点,但存在算法不能更改,集成多种算法时占用硬件空间大等问题,很容易造成资源浪费;基于纯软件的国密算法比较灵活,但是性能上完全不能跟专用芯片相比。
基于FPGA的算法加速方法是结合FPGA的高速并行运算能力,提高算法性能,目前基于FPGA的处理一般为利用算法IP核或者专用芯片进行国密运算,这种方法极大提高了算法性能,但当前基于FPGA的算法处理存在以下问题:(1)单独基于FPGA的处理方式不能解决复杂的算法问题;(2)算法固定不能随意更改,目前基于FPGA的算法处理一般调用IP核或者算法专用芯片,如需改变算法,需换IP核或者算法芯片;(3)基于FPGA的处理方式在使用配套的FLASH或ROM芯片进行配置时,容易利用FLASH或ROM芯片回读程序,造成算法泄露,具有一定的安全隐患。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
发明内容
本发明的目的是针对现有技术的不足,从而提供了一种基于CPU+FPGA的加解密方法及系统。
为了实现上述目的,本发明所采用的技术方案是:一种基于CPU+FPGA的加解密方法,包括以下步骤:
步骤1,CPU上电配置FPGA;
步骤2,FPGA根据CPU发送的算法模式、加/解密指令、算法参数和使能信号对待处理数据进行加/解密处理并向CPU返回处理结果。
基于上述,步骤1中CPU上电配置FPGA的具体步骤为:
步骤1.1,上电初始化;
步骤1.2,读取FLASH中内置的二进制FPGA配置文件,调用内置解密算法解密二进制FPGA配置文件,得到配置数据;
步骤1.3,驱动FPGA的配置管脚,根据FPGA配置时序将配置数据写入FPGA;
步骤1.4,判断FPGA配置DONE信号是否为高电平,若否,则返回执行步骤1.2,否则完成PFGA配置。
基于上述,将二进制FPGA配置文件内置于FLASH中的步骤为:
FPGA开发工具生成配置数据;
上位机端的加密程序对配置数据加密后生成二进制FPGA配置文件;
CPU将二进制FPGA配置文件烧写至FLASH中。
基于上述,步骤2的具体分为:
CPU端
步骤2.1,CPU接收上位机下发的算法模式、算法参数、加/解密指令、密钥和待处理数据,判断中断是否响应,若响应,则通过GPIO口向FPGA发送算法模式、加/解密指令和使能信号;
步骤2.2,CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;
步骤2.3,等待中断响应,并在检测到中断响应时通过数据总线从FPGA中读取加/解密结果;
FPGA端
步骤2.4,FPGA接收算法模式、加/解密指令和使能信号;
步骤2.5,FPGA通过数据总线接收待处理数据、密钥和算法参数,根据加解密指令、密钥和算法参数采用算法模式对待处理数据进行加/解密算法处理,获得加/解密结果。
基于上述,所述算法模式为SM4对称算法,该算法模式下,步骤2.2中,CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;
步骤2.5中,FPGA通过数据总线接收待处理数据、密钥和算法参数并存入FIFO中;算法模块从FIFO中读出SM4对称算法的算法参数、密钥和待处理数据,通过轮函数同时对密钥及待处理数据进行迭代处理,获得加/解密结果;
FPGA将加/解密结果存入FIFO中,并通过GPIO口告知CPU已处理完成,待CPU通过数据总线从FIFO中读出加/解密结果
基于上述,所述算法模式为SM3杂凑算法,该算法模式下,步骤2.2中,CPU将杂凑算法参数传给FPGA,并将要进行杂凑处理的数据填充打包处理后和密钥一起发送给FPGA,填充数据长度为512的倍数;
步骤2.5中,FPGA通过数据总线接收SM3杂凑算法参数、填充数据和密钥存入FIFO中;FPGA从FIFO读取SM3杂凑算法参数存入RAM模块,将填充数据每512比特分组读出,并进行消息扩展及压缩运算;
算法处理完成后,FPGA将加/解密结果和杂凑值存入FIFO中,通过GPIO口告知CPU,待CPU通过数据总线从FIFO中读出加/解密结果。
本发明还提供一种基于CPU+FPGA的加解密系统,包括:
上位机,所述上位机内置有FPGA开发工具和加密程序,所述FPGA开发工具用于生成配置数据;所述加密程序用于对配置数据加密以生成二进制FPGA配置文件;
CPU与FLASH连接,读取FLASH中内置的二进制FPGA配置文件,并调用内置解密算法解密二进制FPGA配置文件,得到配置数据;
CPU与FPGA连接,驱动FPGA的配置管脚,根据FPGA配置时序将配置数据写入FPGA,并在FPGA配置DONE信号为高电平时结束配置,在FPGA配置DONE信号为低电平时重新进行FPGA的配置;
FPGA包括GPIO口、FIFO模块、算法运算模块和RAM模块,所述GPIO口与CPU相连,用于接收CPU下发的算法模式、加/解密指令和使能信号;所述FIFO模块通过数据总线与CPU连接,在FPGA接收到使能信号后被激活,以接收CPU发送的待处理数据、密钥、算法参数以及向CPU发送加/解密结果;所述RAM模块,用于存储算法参数;所述算法运算模块,用于存储CPU下发的算法模式、加/解密指令,并根据加/解密指令采用算法模式对待处理数据进行加/解密处理;
具体步骤如下:
CPU接收上位机下发的算法模式、算法参数、加/解密指令、密钥和待处理数据,判断中断是否响应,若响应,则通过GPIO口向FPGA发送算法模式、加/解密指令和使能信号;CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;等待中断响应,并在检测到中断响应时通过数据总线从FPGA中读取加/解密结果;
FPGA接收算法模式、加/解密指令和使能信号; FPGA通过数据总线接收待处理数据、密钥和算法参数,根据加解密指令、密钥和算法参数采用算法模式对待处理数据进行加/解密算法处理,获得加/解密结果;
所述上位机通过PCIE接口与CPU相连,接收上位机发送的算法模式、算法参数、加/解密指令、密钥和待处理数据以及向上位机发送加/解密结果。
基于上述,所述算法模式包括SM3杂凑算法或SM4对称算法。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说,针对FPGA没有复杂的算法处理能力,本发明通过CPU+FPGA模式的处理方式将复杂运算放入DSP完成,拓展了算法可重构能力;针对算法固定不可重构性,本发明利用FPGA的可重构特点,将加密算法移植到FPGA上实现,相比CPU大大提高了算法的处理速度,同时避免了使用IP核或者算法专用芯片,实现了算法的可重构性;针对FPGA使用配套FLASH或ROM烧写程序容易被回读问题,FPGA配置文件先由加密程序加密,加密后的文件由CPU烧写进Flash,上电时采用CPU上电配置FPGA,保证了FPGA程序不能被配置芯片回读,确保了加密的可靠性。
附图说明
图1是本发明的流程示意图。
图2是本发明FPGA上电过程示意图。
图3是本发明FPGA算法处理过程示意图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
实施例1
一种基于CPU+FPGA的加解密方法,如图1所示,包括以下步骤:
步骤1,CPU上电配置FPGA;如图2所示,CPU上电配置FPGA包括准备阶段和配置阶段,
准备阶段
FPGA开发工具生成配置数据;
上位机端的加密程序对配置数据加密后生成二进制FPGA配置文件;
CPU将二进制FPGA配置文件烧写至FLASH中;
配置阶段
步骤1.1,上电初始化;
步骤1.2,读取FLASH中内置的二进制FPGA配置文件,调用内置解密算法解密二进制FPGA配置文件,得到配置数据;
步骤1.3,驱动FPGA的配置管脚,根据FPGA配置时序将配置数据写入FPGA;
步骤1.4,判断FPGA配置DONE信号是否为高电平,若否,则返回执行步骤1.2,否则完成PFGA配置;
步骤2,FPGA根据CPU发送的算法模式、加/解密指令、算法参数和使能信号对待处理数据进行加/解密处理并向CPU返回处理结果。
如图3所示,FPGA算法处理过程具体如下:
CPU端
步骤2.1,CPU接收上位机下发的算法模式、算法参数、加/解密指令、密钥和待处理数据,判断中断是否响应,若响应,则通过GPIO口向FPGA发送算法模式、加/解密指令和使能信号;优选的,本实施例中所述算法模式为SM4对称算法;
步骤2.2,CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;
步骤2.3,等待中断响应,并在检测到中断响应时通过数据总线从FPGA中读取加/解密结果;
FPGA端
步骤2.4,FPGA接收算法模式、加/解密指令和使能信号;
步骤2.5,FPGA通过数据总线接收待处理数据、密钥和算法参数,根据加解密指令、密钥和算法参数采用算法模式对待处理数据进行加/解密算法处理,获得加/解密结果;
具体的,步骤2.5的步骤为:
FPGA通过数据总线接收待处理数据、密钥和算法参数并存入FIFO中;
算法模块从FIFO中读出SM4对称算法的算法参数、密钥和待处理数据,通过轮函数同时对密钥及待处理数据进行迭代处理,获得加/解密结果;
FPGA将加/解密结果存入FIFO中,并通过GPIO口告知CPU已处理完成,待CPU通过数据总线从FIFO中读出加/解密结果。
针对FPGA没有复杂的算法处理能力,本发明通过CPU+FPGA模式的处理方式将复杂运算放入DSP完成,拓展了算法可重构能力;针对算法固定不可重构性,本发明利用FPGA的可重构特点,将加密算法移植到FPGA上实现,相比CPU大大提高了算法的处理速度,同时避免了使用IP核或者算法专用芯片,实现了算法的可重构性;针对FPGA使用配套FLASH或ROM烧写程序容易被回读问题,FPGA配置文件先由加密程序加密,加密后的文件由CPU烧写进Flash,上电时采用CPU上电配置FPGA,保证了FPGA程序不能被配置芯片回读,确保了加密的可靠性。
实施例2
本实施例与实施例1的区别之处在于:
所述算法模式为SM3杂凑算法,该算法模式下,步骤2.2中,CPU将杂凑算法参数传给FPGA,并将要进行杂凑处理的数据填充打包处理后和密钥一起发送给FPGA,填充数据长度为512的倍数;
步骤2.5中,FPGA通过数据总线接收SM3杂凑算法参数、填充数据和密钥存入FIFO中;FPGA从FIFO读取SM3杂凑算法参数存入RAM模块,将填充数据每512比特分组读出,并进行消息扩展及压缩运算,获得加/解密结果;
FPGA将加/解密结果存入FIFO中,通过GPIO口告知CPU,待CPU通过数据总线从FIFO中读出加/解密结果。
实施例3
本实施例提供一种基于CPU+FPGA的加解密系统,包括:
上位机,所述上位机内置有FPGA开发工具和加密程序,所述FPGA开发工具用于生成配置数据;所述加密程序用于对配置数据加密以生成二进制FPGA配置文件;
所述上位机通过PCIE接口与CPU相连,接收上位机发送的算法模式、算法参数、加/解密指令、密钥和待处理数据以及向上位机发送加/解密结果;
CPU与FLASH连接,读取FLASH中内置的二进制FPGA配置文件,并调用内置解密算法解密二进制FPGA配置文件,得到配置数据;
CPU与FPGA连接,驱动FPGA的配置管脚,根据FPGA配置时序将配置数据写入FPGA,并在FPGA配置DONE信号为高电平时结束配置,在FPGA配置DONE信号为低电平时重新进行FPGA的配置;
FPGA包括GPIO口、FIFO模块、算法运算模块和RAM模块,所述GPIO口与CPU相连,用于接收CPU下发的算法模式、加/解密指令和使能信号;所述FIFO模块通过数据总线与CPU连接,在FPGA接收到使能信号后被激活,以接收CPU发送的待处理数据、密钥、算法参数以及向CPU发送加/解密结果;所述RAM模块,用于存储算法参数;所述算法运算模块,用于存储CPU下发的算法模式、加/解密指令,并根据加/解密指令采用算法模式对待处理数据进行加/解密处理。
具体的,所述算法模式包括SM3杂凑算法或SM4对称算法。
需要理解的是,FPGA中算法运算模块可以根据需要修改为SM3杂凑算法或SM4对称算法,具有很大的灵活性和可复用性。RAM中存储的算法参数同样可修改,随用随改,灵活性高。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。

Claims (7)

1.一种基于CPU+FPGA的加解密方法,其特征在于,包括以下步骤:
步骤1,CPU上电配置FPGA;
步骤2,FPGA根据CPU发送的算法模式、加/解密指令、算法参数和使能信号对待处理数据进行加/解密处理并向CPU返回处理结果;
步骤2的具体分为:
CPU端
步骤2.1,CPU接收上位机下发的算法模式、算法参数、加/解密指令、密钥和待处理数据,判断中断是否响应,若响应,则通过GPIO口向FPGA发送算法模式、加/解密指令和使能信号;
步骤2.2,CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;
步骤2.3,等待中断响应,并在检测到中断响应时通过数据总线从FPGA中读取加/解密结果;
FPGA端
步骤2.4,FPGA接收算法模式、加/解密指令和使能信号;
步骤2.5,FPGA通过数据总线接收待处理数据、密钥和算法参数,根据加解密指令、密钥和算法参数采用算法模式对待处理数据进行加/解密算法处理,获得加/解密结果。
2.根据权利要求1所述的基于CPU+FPGA的加解密方法,其特征在于,步骤1中CPU上电配置FPGA的具体步骤为:
步骤1.1,上电初始化;
步骤1.2,读取FLASH中内置的二进制FPGA配置文件,调用内置解密算法解密二进制FPGA配置文件,得到配置数据;
步骤1.3,驱动FPGA的配置管脚,根据FPGA配置时序将配置数据写入FPGA;
步骤1.4,判断FPGA配置DONE信号是否为高电平,若否,则返回执行步骤1.2,否则完成PFGA配置。
3.根据权利要求2所述的基于CPU+FPGA的加解密方法,其特征在于,将二进制FPGA配置文件内置于FLASH中的步骤为:
FPGA开发工具生成配置数据;
上位机端的加密程序对配置数据加密后生成二进制FPGA配置文件;
CPU将二进制FPGA配置文件烧写至FLASH中。
4.根据权利要求1所述的基于CPU+FPGA的加解密方法,其特征在于,所述算法模式为SM4对称算法,该算法模式下,步骤2.2中,CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;
步骤2.5中,FPGA通过数据总线接收待处理数据、密钥和算法参数并存入FIFO中;算法模块从FIFO中读出SM4对称算法的算法参数、密钥和待处理数据,通过轮函数同时对密钥及待处理数据进行迭代处理,获得加/解密结果;
FPGA将加/解密结果存入FIFO中,并通过GPIO口告知CPU已处理完成,待CPU通过数据总线从FIFO中读出加/解密结果。
5.根据权利要求1所述的基于CPU+FPGA的加解密方法,其特征在于:所述算法模式为SM3杂凑算法,该算法模式下,步骤2.2中,CPU将杂凑算法参数传给FPGA,并将要进行杂凑处理的待处理数据填充打包处理后和密钥一起发送给FPGA,填充数据长度为512的倍数;
步骤2.5中,FPGA通过数据总线接收SM3杂凑算法参数、填充数据和密钥存入FIFO中;FPGA从FIFO读取SM3杂凑算法参数存入RAM模块,将填充数据每512比特分组读出,并进行消息扩展及压缩运算,获得加/解密结果;
FPGA将加/解密结果存入FIFO中,通过GPIO口告知CPU,待CPU通过数据总线从FIFO中读出加/解密结果。
6.一种基于CPU+FPGA的加解密系统,其特征在于,包括:
上位机,所述上位机内置有FPGA开发工具和加密程序,所述FPGA开发工具用于生成配置数据;所述加密程序用于对配置数据加密以生成二进制FPGA配置文件;
CPU与FLASH连接,读取FLASH中内置的二进制FPGA配置文件,并调用内置解密算法解密二进制FPGA配置文件,得到配置数据;
CPU与FPGA连接,驱动FPGA的配置管脚,根据FPGA配置时序将配置数据写入FPGA,并在FPGA配置DONE信号为高电平时结束配置,在FPGA配置DONE信号为低电平时重新进行FPGA的配置;
FPGA包括GPIO口、FIFO模块、算法运算模块和RAM模块,所述GPIO口与CPU相连,用于接收CPU下发的算法模式、加/解密指令和使能信号;所述FIFO模块通过数据总线与CPU连接,在FPGA接收到使能信号后被激活,以接收CPU发送的待处理数据、密钥、算法参数以及向CPU发送加/解密结果;所述RAM模块,用于存储算法参数;所述算法运算模块,用于存储CPU下发的算法模式、加/解密指令,并根据加/解密指令采用算法模式对待处理数据进行加/解密处理;
具体步骤如下:
CPU接收上位机下发的算法模式、算法参数、加/解密指令、密钥和待处理数据,判断中断是否响应,若响应,则通过GPIO口向FPGA发送算法模式、加/解密指令和使能信号;CPU通过数据总线将待处理数据、密钥、算法参数发送给FPGA;等待中断响应,并在检测到中断响应时通过数据总线从FPGA中读取加/解密结果;
FPGA接收算法模式、加/解密指令和使能信号; FPGA通过数据总线接收待处理数据、密钥和算法参数,根据加解密指令、密钥和算法参数采用算法模式对待处理数据进行加/解密算法处理,获得加/解密结果;
所述上位机通过PCIE接口与CPU相连,接收上位机发送的算法模式、算法参数、加/解密指令、密钥和待处理数据以及向上位机发送加/解密结果。
7.根据权利要求6所述的基于CPU+FPGA的加解密系统,其特征在于:所述算法模式包括SM3杂凑算法或SM4对称算法。
CN201911408431.0A 2019-12-31 2019-12-31 一种基于cpu+fpga的加解密方法及系统 Active CN111193591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911408431.0A CN111193591B (zh) 2019-12-31 2019-12-31 一种基于cpu+fpga的加解密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911408431.0A CN111193591B (zh) 2019-12-31 2019-12-31 一种基于cpu+fpga的加解密方法及系统

Publications (2)

Publication Number Publication Date
CN111193591A CN111193591A (zh) 2020-05-22
CN111193591B true CN111193591B (zh) 2023-06-20

Family

ID=70709707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911408431.0A Active CN111193591B (zh) 2019-12-31 2019-12-31 一种基于cpu+fpga的加解密方法及系统

Country Status (1)

Country Link
CN (1) CN111193591B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112613046B (zh) * 2020-12-14 2022-08-05 苏州浪潮智能科技有限公司 一种基于fpga的加解密验证方法、装置及存储介质
CN112818376B (zh) * 2021-03-08 2024-03-26 郑州铁路职业技术学院 一种防窃取的录音信息传输的加密方法
CN112818375B (zh) * 2021-03-08 2024-03-12 郑州铁路职业技术学院 一种录音信息传输的加密系统
CN113220498B (zh) * 2021-05-08 2024-08-23 青芯半导体科技(上海)有限公司 一种支持加密存储的嵌入式Flash控制器
CN114124389B (zh) * 2021-11-09 2023-08-11 国网山东省电力公司电力科学研究院 一种基于可重构计算的国密算法fpga部署方法及系统
CN114969851B (zh) * 2022-05-31 2024-02-23 浪潮电子信息产业股份有限公司 一种基于fpga的数据处理方法、装置、设备及介质
CN116049910B (zh) * 2023-02-01 2024-07-02 广东高云半导体科技股份有限公司 一种数据加密系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873227A (zh) * 2012-12-13 2014-06-18 艺伦半导体技术股份有限公司 一种fpga加密数据流的解密电路及解密方法
CN105721139A (zh) * 2014-12-05 2016-06-29 上海航天有线电厂有限公司 一种适用于有限io资源的fpga的aes加解密方法及电路
CN107528690A (zh) * 2017-10-10 2017-12-29 郑州云海信息技术有限公司 一种基于异构加速平台的sm4对称加解密方法及系统
CN206894652U (zh) * 2017-05-05 2018-01-16 无锡十月中宸科技有限公司 基于fpga的密码机
CN109543435A (zh) * 2018-11-29 2019-03-29 郑州云海信息技术有限公司 一种fpga加密保护方法、系统及服务器
CN109902043A (zh) * 2019-01-30 2019-06-18 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN110110534A (zh) * 2019-04-18 2019-08-09 郑州信大捷安信息技术股份有限公司 一种fpga安全运行系统及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288765A1 (en) * 1999-12-22 2007-12-13 Kean Thomas A Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
WO2019083991A1 (en) * 2017-10-23 2019-05-02 Yuan Zhichao SYSTEMS AND METHODS FOR DATA ENCRYPTION AND DECREASING BASED ON PROGRAMMABLE MATERIAL
CN110414244B (zh) * 2018-04-28 2023-07-21 阿里巴巴集团控股有限公司 加密卡、电子设备及加密服务方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873227A (zh) * 2012-12-13 2014-06-18 艺伦半导体技术股份有限公司 一种fpga加密数据流的解密电路及解密方法
CN105721139A (zh) * 2014-12-05 2016-06-29 上海航天有线电厂有限公司 一种适用于有限io资源的fpga的aes加解密方法及电路
CN206894652U (zh) * 2017-05-05 2018-01-16 无锡十月中宸科技有限公司 基于fpga的密码机
CN107528690A (zh) * 2017-10-10 2017-12-29 郑州云海信息技术有限公司 一种基于异构加速平台的sm4对称加解密方法及系统
CN109543435A (zh) * 2018-11-29 2019-03-29 郑州云海信息技术有限公司 一种fpga加密保护方法、系统及服务器
CN109902043A (zh) * 2019-01-30 2019-06-18 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN110110534A (zh) * 2019-04-18 2019-08-09 郑州信大捷安信息技术股份有限公司 一种fpga安全运行系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"基于FPGA和DSP的PCI-E高速密码卡设计与实现";苏振宇;《中国优秀硕士学位论文全文数据库 信息科技辑》;全文 *
面向国产CPU的可重构计算系统设计及性能探究;彭福来;《计算机工程与应用》;第54卷(第23期);全文 *

Also Published As

Publication number Publication date
CN111193591A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111193591B (zh) 一种基于cpu+fpga的加解密方法及系统
US9552498B2 (en) On-chip storage, creation, and manipulation of an encryption key
CN109902043B (zh) 一种基于fpga的国密算法加速处理系统
US9251380B1 (en) Method and storage device for isolating and preventing access to processor and memory used in decryption of text
JP2022541057A (ja) 暗号置換のための暗号アーキテクチャ
US9003202B2 (en) Memory control device, semiconductor memory device, memory system, and memory control method
JP7014969B2 (ja) 処理装置、半導体集積回路及び半導体集積回路の起動方法
TWI570590B (zh) 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
US20210389875A1 (en) High-throughput out-of-order cipher text stealing
CN113890728A (zh) 基于fpga加密卡的密钥处理方法、系统、设备及介质
WO2015031458A2 (en) Methods and apparatuses for prime number generation and storage
CN109325356A (zh) 一种加密卡架构
CN114969849A (zh) 一种信息安全芯片
CN115022076A (zh) 一种数据加/解密方法、装置、系统及介质
CN113612746A (zh) 基于Android系统的敏感信息存储方法及系统
CN103902932B (zh) 根据支持usb型存储设备的数据加解密的装置进行加密的方法
KR101126596B1 (ko) 단일 및 다중 aes 동작을 지원하기 위한 듀얼 모드 aes 장치 및 방법
JP2020187184A (ja) 暗号復号装置
CN209803799U (zh) 基于量子密钥加密的移动数据存储终端
CN110929274B (zh) 一种采用Blowfish对文件进行加解密的方法、系统及装置
CN114329504A (zh) 一种模型加密方法以及相关设备
CN102647711A (zh) 一种数据加密系统及方法
WO2019233118A1 (zh) 一种数据处理装置及方法
CN111539035A (zh) 计算机实施的用于处理数据的设备和方法

Legal Events

Date Code Title Description
PB01 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