The invention discloses a system and AES encryption and decryption method of heterogeneous acceleration platform based on the CPU operation method includes: end host executable file, the data set will be processed and start to transmit the control signal to the FPGA terminal, and get the results obtained at FPGA FPGA in the end; start control signal control by running the Kernel executable file, to treat the data sets corresponding to the objective algorithm of data encryption or decryption processing, get the corresponding results; the goal of the algorithm for the AES symmetric encryption or decryption algorithm; the host executable files and Kernel executable file respectively the host program and the Kernel program can be generated based on the executable file; the host program and Kernel program for advanced language description generated after the program on the target algorithm using OpenCL. By executing the above Kernel executable files on the FPGA side, this application can significantly reduce the time required for parallel processing in the process of AES symmetric encryption or decryption, and significantly improve the speed of AES symmetric encryption and decryption.
【技术实现步骤摘要】
一种基于异构加速平台的AES对称加解密方法及系统
本专利技术涉及数据加解密
,特别涉及一种基于异构加速平台的AES对称加解密方法及系统。
技术介绍
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法中存在一类应用领域十分广泛的商用密码标准,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。AES在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准,已经被多方分析且广为全世界所使用的商用密码加密标准。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。AES加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES加密有很多轮的重复和变换, ...
【技术保护点】
一种基于异构加速平台的AES对称加解密方法,其特征在于,包括:CPU端运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端,并获取所述FPGA端得到的处理结果;所述FPGA端在所述启动控制信号的控制下,运行Kernel可执行文件,以对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;其中,所述目标算法为AES对称加密或解密算法;所述主机端可执行文件和所述Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;所述主机端程序和所述Kernel程序为利用OpenCL对所述目标算法进行高级语言描述后生成的程序。
【技术特征摘要】
1.一种基于异构加速平台的AES对称加解密方法,其特征在于,包括:CPU端运行主机端可执行文件,以将待处理数据集和启动控制信号发送至FPGA端,并获取所述FPGA端得到的处理结果;所述FPGA端在所述启动控制信号的控制下,运行Kernel可执行文件,以对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果;其中,所述目标算法为AES对称加密或解密算法;所述主机端可执行文件和所述Kernel可执行文件分别为基于主机端程序和Kernel程序生成的可执行文件;所述主机端程序和所述Kernel程序为利用OpenCL对所述目标算法进行高级语言描述后生成的程序。2.根据权利要求1所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述主机端可执行文件的生成过程,包括:利用GCC编译器对所述主机端程序进行编译,得到所述主机端可执行文件。3.根据权利要求1所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述Kernel可执行文件的生成过程,包括:利用AlteraSDKforOpenCL对所述Kernel程序进行编译,以生成相应的AOCX文件,得到所述Kernel可执行文件。4.根据权利要求1至3任一项所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述CPU端将待处理数据集和启动控制信号发送至FPGA端的步骤,包括:对原始目标数据进行分组,得到分组数据;其中,所述原始目标数据为原始的待加密数据或待解密数据;将所述分组数据、相应的密钥数据以及相关的辅助数据集进行合并,得到所述待处理数据集;在所述FPGA端的开发板的DDR内存上创建目标缓存,并将所述待处理数据集传输至所述目标缓存;设置所述FPGA端在实际运行的过程中所需的参数信息;生成所述启动控制信号,并将所述启动控制信号发送至所述FPGA端。5.根据权利要求4所述的基于异构加速平台的AES对称加解密方法,其特征在于,所述FPGA端对所述待处理数据集进行与目标算法对应的数据加密或解密处理,得到相应的处理结果的步骤,包括:将所述待处理数据集从所述目标缓存上批量读取至所述FPGA端的片上缓存;对所述片上缓存中的分组数据进行与所述目标算法对应的并行以及流水化的迭代处理,得到所述处理结果,并将所述处理结果保存至所述目标缓存,以便所述CPU端从所述目标缓存上读取所述处理结果。6.一种基于异...
【专利技术属性】
技术研发人员:李雪雷,王丽,曹芳,段志刚,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。