CN107491317A - 一种基于异构加速平台的aes对称加解密方法及系统 - Google Patents

一种基于异构加速平台的aes对称加解密方法及系统 Download PDF

Info

Publication number
CN107491317A
CN107491317A CN201710935906.6A CN201710935906A CN107491317A CN 107491317 A CN107491317 A CN 107491317A CN 201710935906 A CN201710935906 A CN 201710935906A CN 107491317 A CN107491317 A CN 107491317A
Authority
CN
China
Prior art keywords
data
aes
kernel
fpga
host side
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
CN201710935906.6A
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710935906.6A priority Critical patent/CN107491317A/zh
Publication of CN107491317A publication Critical patent/CN107491317A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/22Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms

Abstract

本申请公开了一种基于异构加速平台的AES对称加解密方法及系统,该方法包括:CPU端运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端,并获取FPGA端得到的处理结果;FPGA端在启动控制信号的控制下,运行Kernel可执行文件,以对待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;其中,目标算法为AES对称加密或解密算法;主机端可执行文件和Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;主机端程序和Kernel程序为利用OpenCL对目标算法进行高级语言描述后生成的程序。本申请通过在FPGA端运行上述Kernel可执行文件,能够大幅减少AES对称加密过程或解密过程中并行处理所需的时间,明显提升了AES对称加解密速度。

Description

一种基于异构加速平台的AES对称加解密方法及系统
技术领域
本发明涉及数据加解密技术领域,特别涉及一种基于异构加速平台的AES对称加解密方法及系统。
背景技术
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
对称加密算法中存在一类应用领域十分广泛的商用密码标准,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。
AES在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,已经被多方分析且广为全世界所使用的商用密码加密标准。
经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES加密有很多轮的重复和变换,加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“状态(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。各轮AES加密循环(除最后一轮外)均包含4个步骤:
1.AddRoundKey:矩阵中的每一个字节都与该次轮秘钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。
2.SubBytes:通过非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。
3.ShiftRows:将矩阵中的每个横列进行循环式移位。
4.MixColumns:为了充分混合矩阵中各个直行的操作。这个步骤使用线性转换来混合每列的四个字节。最后一个加密循环中省略MixColumns步骤,而以另一个AddRoundKey取代。
由于信息时代数据量的暴增,信息和数据的隐私安全成为各商业领域内最有价值的资产。各商业公司会对自己领域内的数据从系统准入到数据读取都会做严格的信息保护。数据加密就是对信息进行保护的一种有效手段,能够阻止非授权用户的读取和传播。然而,对数据的加密和解密过程需要一定的计算资源,尤其是在数据暴增、响应时间有限的条件下,如何实现较快的AES加解密速度以满足用户对数据的存取响应成为一项严峻的挑战。
发明内容
有鉴于此,本发明的目的在于提供一种基于异构加速平台的AES对称加解密方法及系统,能够明显提升AES对称加解密速度。其具体方案如下:
一种基于异构加速平台的AES对称加解密方法,包括:
CPU端运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端,并获取所述FPGA端得到的处理结果;
所述FPGA端在所述启动控制信号的控制下,运行Kernel可执行文件,以对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;
其中,所述目标算法为AES对称加密或解密算法;所述主机端可执行文件和所述Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;所述主机端程序和所述Kernel程序为利用OpenCL对所述目标算法进行高级语言描述后生成的程序。
可选的,所述主机端可执行文件的生成过程,包括:
利用GCC编译器对所述主机端程序进行编译,得到所述主机端可执行文件。
可选的,所述Kernel可执行文件的生成过程,包括:
利用Altera SDK for OpenCL对所述Kernel程序进行编译,以生成相应的AOCX文件,得到所述Kernel可执行文件。
可选的,所述CPU端将待处理数据集和启动控制信号发送至FPGA端的步骤,包括:
对原始目标数据进行分组,得到分组数据;其中,所述原始目标数据为原始的待加密数据或待解密数据;
将所述分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到所述待处理数据集;
在所述FPGA端的开发板的DDR内存上创建目标缓存,并将所述待处理数据集传输至所述目标缓存;
设置所述FPGA端在实际运行的过程中所需的参数信息;
生成所述启动控制信号,并将所述启动控制信号发送至所述FPGA端。
可选的,所述FPGA端对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果的步骤,包括:
将所述待处理数据集从所述目标缓存上批量读取至所述FPGA端的片上缓存;
对所述片上缓存中的分组数据进行与所述目标算法对应的并行以及流水化的迭代处理,得到所述处理结果,并将所述处理结果保存至所述目标缓存,以便所述CPU端从所述目标缓存上读取所述处理结果。
本发明还相应公开了一种基于异构加速平台的AES对称加解密系统,包括CPU端和FPGA端;其中,
所述CPU端,用于运行主机端可执行文件,以将待处理数据集和启动控制信号发送至所述FPGA端,并获取所述FPGA端得到的处理结果;
所述FPGA端,用于在所述启动控制信号的控制下,运行Kernel可执行文件,以对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;
其中,所述目标算法为AES对称加密或解密算法;所述主机端可执行文件和所述Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;所述主机端程序和所述Kernel程序为利用OpenCL对所述目标算法进行高级语言描述后生成的程序。
可选的,所述系统,还包括:
第一编译模块,用于利用GCC编译器对所述主机端程序进行编译,得到所述主机端可执行文件。
可选的,所述系统,还包括:
第二编译模块,用于利用Altera SDK for OpenCL对所述Kernel程序进行编译,以生成相应的AOCX文件,得到所述Kernel可执行文件。
可选的,所述CPU端,包括:
数据分组单元,用于对原始目标数据进行分组,得到分组数据;其中,所述原始目标数据为原始的待加密数据或待解密数据;
数据合并单元,用于将所述分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到所述待处理数据集;
缓存创建单元,用于在所述FPGA端的开发板的DDR内存上创建目标缓存;
数据传输单元,用于将所述待处理数据集传输至所述目标缓存;
参数设置单元,用于设置所述FPGA端在实际运行的过程中所需的参数信息;
启动控制单元,用于生成所述启动控制信号,并将所述启动控制信号发送至所述FPGA端。
可选的,所述FPGA端,包括:
数据读取单元,用于将所述待处理数据集从所述目标缓存上批量读取至所述FPGA端的片上缓存;
数据处理单元,用于对所述片上缓存中的分组数据进行与所述目标算法对应的并行以及流水化的迭代处理,得到所述处理结果,并将所述处理结果保存至所述目标缓存,以便所述CPU端从所述目标缓存上读取所述处理结果。
可见,本发明中利用OpenCL对AES对称加密或解密算法进行高级语言描述,生成相应的主机端程序和Kernel程序,进而生成在CPU端运行的主机端可执行文件和在FPGA端运行的Kernel可执行文件,由于FPGA端具有强大的并行处理能力,所以,通过在FPGA端运行上述Kernel可执行文件,能够大幅减少AES对称加密过程或解密过程中并行处理所需的时间,明显提升了AES对称加解密速度,具有出色的硬件加速效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种基于异构加速平台的AES对称加解密方法流程图;
图2为本发明实施例公开的一种具体的AES对称加解密流程示意图;
图3为本发明实施例公开的一种基于异构加速平台的AES对称加解密系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于异构加速平台的AES对称加解密方法,参见图1所示,该方法包括:
步骤S11:CPU端运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端,并获取FPGA端得到的处理结果;
步骤S12:FPGA端在启动控制信号的控制下,运行Kernel可执行文件,以对待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;
其中,上述目标算法为AES对称加密或解密算法;主机端可执行文件和Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;主机端程序和Kernel程序为利用OpenCL对目标算法进行高级语言描述后生成的程序。
本实施例中,是利用OpenCL(Open Computing Language,开放运算语言)对上述目标算法进行描述,从而得到主机端程序和Kernel程序。可以理解的是,上述Kernel程序是利用OpenCL对上述目标算法中的并行算法进行描述后得到的程序,使得可以映射生成更高效的FPGA硬件电路结构,后续再生成相应的可执行文件,然后在FPGA端运行Kernel可执行文件,以借助FPGA端强大的并行运算能力加快AES对称加密或解密处理速度。
本实施例中,上述主机端可执行文件的生成过程,具体可以包括:利用GCC(即GNUCompiler Collection)编译器对主机端程序进行编译,得到主机端可执行文件。
本实施例中,上述Kernel可执行文件的生成过程,具体可以包括:利用Altera SDKfor OpenCL对Kernel程序进行编译,以生成相应的AOCX文件,得到Kernel可执行文件。
进一步的,上述CPU端将待处理数据集和启动控制信号发送至FPGA端的步骤,具体可以包括:
对原始目标数据进行分组,得到分组数据;其中,原始目标数据为原始的待加密数据或待解密数据;将分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到待处理数据集;在FPGA端的开发板的DDR内存上创建目标缓存,并将待处理数据集传输至目标缓存;设置FPGA端在实际运行的过程中所需的参数信息;生成启动控制信号,并将启动控制信号发送至FPGA端。
相应的,上述FPGA端对待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果的步骤,具体可以包括:
将待处理数据集从目标缓存上批量读取至FPGA端的片上缓存;对片上缓存中的分组数据进行与目标算法对应的并行以及流水化的迭代处理,得到处理结果,并将处理结果保存至目标缓存,以便CPU端从目标缓存上读取处理结果。
可见,本发明实施例中利用OpenCL对AES对称加密或解密算法进行高级语言描述,生成相应的主机端程序和Kernel程序,进而生成在CPU端运行的主机端可执行文件和在FPGA端运行的Kernel可执行文件,由于FPGA端具有强大的并行处理能力,所以,通过在FPGA端运行上述Kernel可执行文件,能够大幅减少AES对称加密过程或解密过程中并行处理所需的时间,明显提升了AES对称加解密速度,具有出色的硬件加速效果。
参见图2所示,图2中示出了一种具体的基于异构加速平台的AES对称加解密流程示意图。首先,采用OpenCL高级语言完成AES对称加/解密算法的描述,分别生成在通用处理器CPU上运行的主机端程序,以及面向FPGA平台的Kernel程序。然后,采用GCC编译器对主机端程序进行编译,生成可在通用处理器CPU上执行的主机端可执行文件;采用Altera SDKfor OpenCL高层次综合工具对Kernel程序进行编译综合,生成可在FPGA上运行的AOCX文件,也即是得到上述Kernel可执行文件。最后,在通用处理器CPU上运行主机端程序,调用FPGA上AES对称加/解密核心算法硬件电路进行硬件加速,CPU与FPGA之间采用PCI-E接口连接,进行数据通信,采用FPGA开发板上的DDR3内存作为数据缓存Buffer。
相应的,主机端程序实现时主要包括以下几个步骤:
准备待处理数据集,创建主机端与FPGA端进行数据通信的缓存,该缓存存放在FPGA开发板的DDR内存上;将主机端准备好的数据集传输到缓存中,上述数据集可以包括填充并分组的明文\密文数据、对应密钥生成的加密\解密密钥数据以及其他参与运算的数据集;设置FPGA端运行时所需要的参数信息,上述参数信息主要包括存放数据的缓存大小、数据的写入和读出、kernel执行的过程以及FPGA平台信息;控制启动FPGA端AES对称加/解密算法;等待FPGA端AES对称加/解密算法运行结束后,从FPGA端DDR内存上的缓存中,将AES对称加/解密的数据读取到主机端,完成AES对称加/解密过程并输出相应的密文或者明文。
进一步的,FPGA端运行采用OpenCL语言对AES对称加/解密算法进行描述后得到的Kernel程序的过程,可以包括:
接收到主机端的启动控制信号后,将待加/解密数据和主机端生成的密钥以及其他参与运算的辅助数据集从FPGA的DDR批量读取至FPGA的片上缓存;对分组的明文/密文数据进行并行和流水化的迭代处理;将计算所得数据写入FPGA的DDR;上述加密/解密步骤执行完成,缓存中待处理的数据处理结束,向主机端返回完成信号。
本发明实施例采用FPGA硬件平台执行AES对称加/解密算法核心模块,能够通过并行流水的优化方式提高算法的并行度,从而改善算法执行时的吞吐率性能。与通用的RTL硬件描述语言实现方式相比,本发明采用OpenCL语言进行FPGA硬件比特流的生成,能够有效改善算法实现效率,减少算法实现的开发周期。FPGA可以很容易实现细粒化并行,无需价格昂贵的服务器或集群,可以有效地解决硬件成本。
相应的,本发明实施例还公开了一种基于异构加速平台的AES对称加解密系统,参见图3所示,该系统包括CPU端11和FPGA端12;其中,
CPU端11,用于运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端12,并获取FPGA端12得到的处理结果;
FPGA端12,用于在启动控制信号的控制下,运行Kernel可执行文件,以对待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;
其中,目标算法为AES对称加密或解密算法;主机端可执行文件和Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;主机端程序和Kernel程序为利用OpenCL对目标算法进行高级语言描述后生成的程序。
其中,上述AES对称加解密系统,还包括:
第一编译模块,用于利用GCC编译器对主机端程序进行编译,得到主机端可执行文件。
另外,上述AES对称加解密系统,还包括:
第二编译模块,用于利用Altera SDK for OpenCL对Kernel程序进行编译,以生成相应的AOCX文件,得到Kernel可执行文件。
本实施例中,上述CPU端,具体可以包括数据分组单元、数据合并单元、缓存创建单元、数据传输单元、参数设置单元以及启动控制单元;其中,
数据分组单元,用于对原始目标数据进行分组,得到分组数据;其中,原始目标数据为原始的待加密数据或待解密数据;
数据合并单元,用于将分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到待处理数据集;
缓存创建单元,用于在FPGA端的开发板的DDR内存上创建目标缓存;
数据传输单元,用于将待处理数据集传输至目标缓存;
参数设置单元,用于设置FPGA端在实际运行的过程中所需的参数信息;
启动控制单元,用于生成启动控制信号,并将启动控制信号发送至FPGA端。
本实施例中,上述FPGA端,具体可以包括数据读取单元和数据处理单元;其中,
数据读取单元,用于将待处理数据集从目标缓存上批量读取至FPGA端的片上缓存;
数据处理单元,用于对片上缓存中的分组数据进行与目标算法对应的并行以及流水化的迭代处理,得到处理结果,并将处理结果保存至目标缓存,以便CPU端从目标缓存上读取处理结果。
关于上述各个模块和单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种基于异构加速平台的AES对称加解密方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于异构加速平台的AES对称加解密方法,其特征在于,包括:
CPU端运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端,并获取所述FPGA端得到的处理结果;
所述FPGA端在所述启动控制信号的控制下,运行Kernel可执行文件,以对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;
其中,所述目标算法为AES对称加密或解密算法;所述主机端可执行文件和所述Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;所述主机端程序和所述Kernel程序为利用OpenCL对所述目标算法进行高级语言描述后生成的程序。
2.根据权利要求1所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述主机端可执行文件的生成过程,包括:
利用GCC编译器对所述主机端程序进行编译,得到所述主机端可执行文件。
3.根据权利要求1所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述Kernel可执行文件的生成过程,包括:
利用Altera SDK for OpenCL对所述Kernel程序进行编译,以生成相应的AOCX文件,得到所述Kernel可执行文件。
4.根据权利要求1至3任一项所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述CPU端将待处理数据集和启动控制信号发送至FPGA端的步骤,包括:
对原始目标数据进行分组,得到分组数据;其中,所述原始目标数据为原始的待加密数据或待解密数据;
将所述分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到所述待处理数据集;
在所述FPGA端的开发板的DDR内存上创建目标缓存,并将所述待处理数据集传输至所述目标缓存;
设置所述FPGA端在实际运行的过程中所需的参数信息;
生成所述启动控制信号,并将所述启动控制信号发送至所述FPGA端。
5.根据权利要求4所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述FPGA端对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果的步骤,包括:
将所述待处理数据集从所述目标缓存上批量读取至所述FPGA端的片上缓存;
对所述片上缓存中的分组数据进行与所述目标算法对应的并行以及流水化的迭代处理,得到所述处理结果,并将所述处理结果保存至所述目标缓存,以便所述CPU端从所述目标缓存上读取所述处理结果。
6.一种基于异构加速平台的AES对称加解密系统,其特征在于,包括CPU端和FPGA端;其中,
所述CPU端,用于运行主机端可执行文件,以将待处理数据集和启动控制信号发送至所述FPGA端,并获取所述FPGA端得到的处理结果;
所述FPGA端,用于在所述启动控制信号的控制下,运行Kernel可执行文件,以对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;
其中,所述目标算法为AES对称加密或解密算法;所述主机端可执行文件和所述Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;所述主机端程序和所述Kernel程序为利用OpenCL对所述目标算法进行高级语言描述后生成的程序。
7.根据权利要求6所述的基于异构加速平台的AES对称加解密系统,其特征在于,还包括:
第一编译模块,用于利用GCC编译器对所述主机端程序进行编译,得到所述主机端可执行文件。
8.根据权利要求6所述的基于异构加速平台的AES对称加解密系统,其特征在于,还包括:
第二编译模块,用于利用Altera SDK for OpenCL对所述Kernel程序进行编译,以生成相应的AOCX文件,得到所述Kernel可执行文件。
9.根据权利要求6至8任一项所述的基于异构加速平台的AES对称加解密系统,其特征在于,所述CPU端,包括:
数据分组单元,用于对原始目标数据进行分组,得到分组数据;其中,所述原始目标数据为原始的待加密数据或待解密数据;
数据合并单元,用于将所述分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到所述待处理数据集;
缓存创建单元,用于在所述FPGA端的开发板的DDR内存上创建目标缓存;
数据传输单元,用于将所述待处理数据集传输至所述目标缓存;
参数设置单元,用于设置所述FPGA端在实际运行的过程中所需的参数信息;
启动控制单元,用于生成所述启动控制信号,并将所述启动控制信号发送至所述FPGA端。
10.根据权利要求9所述的基于异构加速平台的AES对称加解密系统,其特征在于,所述FPGA端,包括:
数据读取单元,用于将所述待处理数据集从所述目标缓存上批量读取至所述FPGA端的片上缓存;
数据处理单元,用于对所述片上缓存中的分组数据进行与所述目标算法对应的并行以及流水化的迭代处理,得到所述处理结果,并将所述处理结果保存至所述目标缓存,以便所述CPU端从所述目标缓存上读取所述处理结果。
CN201710935906.6A 2017-10-10 2017-10-10 一种基于异构加速平台的aes对称加解密方法及系统 Pending CN107491317A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710935906.6A CN107491317A (zh) 2017-10-10 2017-10-10 一种基于异构加速平台的aes对称加解密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710935906.6A CN107491317A (zh) 2017-10-10 2017-10-10 一种基于异构加速平台的aes对称加解密方法及系统

Publications (1)

Publication Number Publication Date
CN107491317A true CN107491317A (zh) 2017-12-19

Family

ID=60654307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710935906.6A Pending CN107491317A (zh) 2017-10-10 2017-10-10 一种基于异构加速平台的aes对称加解密方法及系统

Country Status (1)

Country Link
CN (1) CN107491317A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521427A (zh) * 2018-04-19 2018-09-11 济南浪潮高新科技投资发展有限公司 基于异构计算的i-cscf服务器及方法
CN108921289A (zh) * 2018-06-20 2018-11-30 郑州云海信息技术有限公司 一种fpga异构加速方法、装置及系统
CN109639513A (zh) * 2019-01-29 2019-04-16 郑州云海信息技术有限公司 一种IPSec方案调试装置、方法和系统
CN109739833A (zh) * 2018-12-18 2019-05-10 山东超越数控电子股份有限公司 一种基于fpga的国产平台数据库加速系统及方法
WO2020258567A1 (zh) * 2019-06-28 2020-12-30 苏州浪潮智能科技有限公司 区块链数字签名方法与系统
CN112328401A (zh) * 2020-11-19 2021-02-05 江南大学 一种基于OpenCL和FPGA的3DES加速方法
WO2021136014A1 (zh) * 2019-12-31 2021-07-08 中兴通讯股份有限公司 一种安全计算控制方法、数据包处理方法、装置及其系统
CN113656845A (zh) * 2021-08-18 2021-11-16 福州锐迪优通讯科技有限公司 一种fpga程序量产批量加密方法
CN114969851A (zh) * 2022-05-31 2022-08-30 浪潮电子信息产业股份有限公司 一种基于fpga的数据处理方法、装置、设备及介质
CN116861470A (zh) * 2023-09-05 2023-10-10 苏州浪潮智能科技有限公司 加解密方法、装置、计算机可读存储介质和服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973431A (zh) * 2014-04-16 2014-08-06 华南师范大学 一种基于OpenCL的AES并行化实现方法
US20150023501A1 (en) * 2007-03-22 2015-01-22 Ip Reservoir, Llc Method and Apparatus for Hardware-Accelerated Encryption/Decryption
CN105897406A (zh) * 2016-06-02 2016-08-24 北京赛思信安技术股份有限公司 一种明密文等长的aes加解密的装置
CN106933579A (zh) * 2017-03-01 2017-07-07 西安电子科技大学 基于cpu+fpga的图像快速去雾方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150023501A1 (en) * 2007-03-22 2015-01-22 Ip Reservoir, Llc Method and Apparatus for Hardware-Accelerated Encryption/Decryption
CN103973431A (zh) * 2014-04-16 2014-08-06 华南师范大学 一种基于OpenCL的AES并行化实现方法
CN105897406A (zh) * 2016-06-02 2016-08-24 北京赛思信安技术股份有限公司 一种明密文等长的aes加解密的装置
CN106933579A (zh) * 2017-03-01 2017-07-07 西安电子科技大学 基于cpu+fpga的图像快速去雾方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭新显: "基于OpenCL并行加速算法研究及其FPGA实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108521427A (zh) * 2018-04-19 2018-09-11 济南浪潮高新科技投资发展有限公司 基于异构计算的i-cscf服务器及方法
CN108921289B (zh) * 2018-06-20 2021-10-29 郑州云海信息技术有限公司 一种fpga异构加速方法、装置及系统
CN108921289A (zh) * 2018-06-20 2018-11-30 郑州云海信息技术有限公司 一种fpga异构加速方法、装置及系统
CN109739833A (zh) * 2018-12-18 2019-05-10 山东超越数控电子股份有限公司 一种基于fpga的国产平台数据库加速系统及方法
CN109639513A (zh) * 2019-01-29 2019-04-16 郑州云海信息技术有限公司 一种IPSec方案调试装置、方法和系统
WO2020258567A1 (zh) * 2019-06-28 2020-12-30 苏州浪潮智能科技有限公司 区块链数字签名方法与系统
WO2021136014A1 (zh) * 2019-12-31 2021-07-08 中兴通讯股份有限公司 一种安全计算控制方法、数据包处理方法、装置及其系统
CN113132264A (zh) * 2019-12-31 2021-07-16 中兴通讯股份有限公司 一种安全计算控制方法、数据包处理方法、装置及其系统
CN113132264B (zh) * 2019-12-31 2024-02-02 中兴通讯股份有限公司 一种安全计算控制方法、数据包处理方法、装置及其系统
CN112328401A (zh) * 2020-11-19 2021-02-05 江南大学 一种基于OpenCL和FPGA的3DES加速方法
CN113656845A (zh) * 2021-08-18 2021-11-16 福州锐迪优通讯科技有限公司 一种fpga程序量产批量加密方法
CN113656845B (zh) * 2021-08-18 2024-04-12 福州锐迪优通讯科技有限公司 一种fpga程序量产批量加密方法
CN114969851A (zh) * 2022-05-31 2022-08-30 浪潮电子信息产业股份有限公司 一种基于fpga的数据处理方法、装置、设备及介质
CN114969851B (zh) * 2022-05-31 2024-02-23 浪潮电子信息产业股份有限公司 一种基于fpga的数据处理方法、装置、设备及介质
CN116861470A (zh) * 2023-09-05 2023-10-10 苏州浪潮智能科技有限公司 加解密方法、装置、计算机可读存储介质和服务器
CN116861470B (zh) * 2023-09-05 2024-01-26 苏州浪潮智能科技有限公司 加解密方法、装置、计算机可读存储介质和服务器

Similar Documents

Publication Publication Date Title
CN107491317A (zh) 一种基于异构加速平台的aes对称加解密方法及系统
CN107528690A (zh) 一种基于异构加速平台的sm4对称加解密方法及系统
EP2356771B1 (en) Low latency block cipher
US8121294B2 (en) System and method for a derivation function for key per page
CN105897406B (zh) 一种明密文等长的aes加解密的装置
CN109245881A (zh) 一种照片视频云端加密存储方法
CN107566113A (zh) 3des对称加解密方法、系统及计算机可读存储介质
Matta et al. A comparative survey on data encryption Techniques: Big data perspective
Gayathri et al. Hybrid cryptography for random-key generation based on ECC algorithm
US20100124328A1 (en) Extensive ciphertext feedback
Shareef A novel crypto technique based ciphertext shifting
Kaur A Review on Symmetric Key Cryptography Algorithms.
Kasiran et al. Time performance analysis of advanced encryption standard and data encryption standard in data security transaction
Park et al. Methods for practical whitebox cryptography
CN112507357B (zh) 一种基于密钥生成器的多级接口设计方法
Guru et al. AES and RSA-based Hybrid Algorithms for Message Encryption & Decryption
Agnihotri et al. A secure document archive implemented using multiple encryption
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
JP2008139742A (ja) 非線形関数器、ストリーム暗号の暗号化装置、復号化装置、mac生成装置、ストリーム暗号の暗号化方法、復号化方法、mac生成方法およびプログラム
Surameery Modified advanced encryption standard for boost image encryption
Thirer A pipelined FPGA implementation of an encryption algorithm based on genetic algorithm
Haryono Comparison encryption of how to work caesar cipher, hill cipher, blowfish and twofish
Hafsa et al. Image encryption/decryption design using NIOSII soft core processor
Subaselvi et al. VLSI Implementation of Triple-DES Block Cipher
CN107766725A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171219