CN108874702A - 基于axi总线的多路对称加解密ip核并行处理装置和方法 - Google Patents

基于axi总线的多路对称加解密ip核并行处理装置和方法 Download PDF

Info

Publication number
CN108874702A
CN108874702A CN201810621835.7A CN201810621835A CN108874702A CN 108874702 A CN108874702 A CN 108874702A CN 201810621835 A CN201810621835 A CN 201810621835A CN 108874702 A CN108874702 A CN 108874702A
Authority
CN
China
Prior art keywords
decryption
encryption
kernel
data
shift register
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.)
Granted
Application number
CN201810621835.7A
Other languages
English (en)
Other versions
CN108874702B (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.)
CETC 52 Research Institute
Original Assignee
CETC 52 Research Institute
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 CETC 52 Research Institute filed Critical CETC 52 Research Institute
Priority to CN201810621835.7A priority Critical patent/CN108874702B/zh
Publication of CN108874702A publication Critical patent/CN108874702A/zh
Application granted granted Critical
Publication of CN108874702B publication Critical patent/CN108874702B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于AXI总线的多路对称加解密IP核并行处理装置和方法,包括:读缓冲单元在满足预设的条件下,从SDRAM中读取待加密或解密的数据;多路选择及控制单元根据预设的加解密模式和读缓冲单元的读出时钟,采用移位寄存器控制加解密IP核进行并行处理;写缓冲单元在满足预设的条件下,将加解密处理后的数据输出至主机端SDRAM。本发明实现了对称加解密IP核的并行处理,有效的解决了对称加解密IP核的单核性能瓶颈的问题,并提升接口通用性。

Description

基于AXI总线的多路对称加解密IP核并行处理装置和方法
技术领域
本发明属于信息处理及信息安全技术领域,具体涉及一种基于AXI总线的多路对称加解密IP核并行处理装置和方法。
背景技术
AXI(Advanced eXtensible Interface)是一种总线协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。AXI是AMBA中一个新的高性能协议。AXI技术丰富了现有的AMBA标准内容,满足超高性能和复杂的片上系统(SoC)设计的需求。
在现有技术中,出于对设计保护的目的,加解密IP核通常会以NET_LIST即网表的形式授权使用,但现有的加解密IP核通常存在单核性能瓶颈问题。由于对称加解密IP核的带宽在大多数情况下远小于AXI总线带宽,现有技术又无法对网表形式的IP核进行优化分析并提升性能,使其达到或接近AXI总线带宽。
发明内容
本发明的目的在于针对单个对称加解密IP核带宽较低、接口通用性较差的问题,提出一种基于AXI总线的多路对称加解密IP核并行处理装置和方法,该方法提出了加解密IP核并行处理,解决了对称加解密IP核的单核性能较低的问题。
为实现上述目的,本发明所采用的技术方案为:
一种基于AXI总线的多路对称加解密IP核并行处理装置,所述多路对称加解密IP核并行处理装置,包括:与SDRAM连接的AXI总线,以及连接到AXI总线的读缓冲单元和写缓冲单元,所述读缓冲单元和写缓冲单元分别通过对应的多路选择及控制单元连接到多路对称加解密IP核,其中:
所述读缓冲单元,在满足预设的条件下,从SDRAM中读取待加密或解密的数据;
所述多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理;
所述写缓冲单元,在满足预设的条件下,将加解密处理后的数据输出到SDRAM。
进一步地,所述读缓冲单元在满足预设的条件下,从SDRAM中读取待加密或解密的数据,执行如下操作:
当读缓冲单元和写缓冲单元的队列为非满状态、SDRAM中有待加密或解密的数据且AXI总线处于空闲状态时,读缓冲单元发起一次AXI读请求,待SDRAM响应该AXI读请求后,读缓冲单元从SDRAM中读取待加密或解密的数据。
进一步地,所述预设的加解密模式为解密模式、或支持并行计算的加密模式时,所述多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,执行如下操作:
设置移位寄存器的位数等于加解密IP核最小输入周期数,且设置加解密IP核的数量与移位寄存器的位数对应;
在读缓冲单元的读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
进一步地,所述预设的加解密模式为只支持串行计算的加密模式时,所述多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,执行如下操作:
设置移位寄存器的位数等于加解密IP核时延周期数,设置m个加解密IP核,所述m对应SDRAM中m个属于不同源文件的待加密或解密分组数据;
在读缓冲单元的读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
进一步地,所述写缓冲单元在满足预设的条件下,将加解密处理后的数据输出到SDRAM,执行如下操作:
当写缓冲单元的队列中的数据满足一次突发写的数据量且AXI总线处于空闲状态时,写缓冲单元发起一次AXI写请求,待SDRAM响应该AXI写请求后,写缓冲单元将加解密处理后的数据输出至SDRAM中。
本发明还提出了一种基于AXI总线的多路对称加解密IP核并行处理方法,所述多路对称加解密IP核并行处理方法,包括:
在满足预设的条件下,通过AXI总线从SDRAM中读取待加密或解密的数据;
根据读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理;
在满足预设的条件下,通过AXI总线将加解密处理后的数据输出到SDRAM。
进一步地,所述在满足预设的条件下,通过AXI总线从SDRAM中读取待加密或解密的数据,包括:
当读缓冲和写缓冲队列为非满状态、SDRAM中有待加密或解密的数据且AXI总线处于空闲状态时,发起一次AXI读请求,待SDRAM响应该AXI读请求后,从SDRAM中读取待加密或解密的数据。
进一步地,所述预设的加解密模式为解密模式、或支持并行计算的加密模式时,所述根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,包括:
设置移位寄存器的位数等于加解密IP核最小输入周期数,且设置加解密IP核的数量与移位寄存器的位数对应;
在读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
进一步地,所述预设的加解密模式为只支持串行计算的加密模式时,所述根据读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,包括:
设置移位寄存器的位数等于加解密IP核时延周期数,设置m个加解密IP核,所述m对应SDRAM中m个属于不同源文件的待加密或解密分组数据;
在读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
进一步地,所述在满足预设的条件下,通过AXI总线将加解密处理后的数据输出,包括:
当写缓冲队列中的数据满足一次突发写的数据量且AXI总线处于空闲状态时,发起一次AXI写请求,待SDRAM响应该AXI写请求后,将加解密处理后的数据输出至SDRAM中。
本发明的基于AXI总线的多路对称加解密IP核并行处理装置采用移位寄存器实现多个对称加解密IP核的并行处理,从而提高AXI总线带宽的利用,且在加解密IP核处于不同的加解密模式时,对加解密数据采用不同的并行处理方法,从而提升接口通用性。
本发明的基于AXI总线的多路对称加解密IP核并行处理方法基于AXI总线架构以适配不同类型的对称加解密IP核,并在此基础上提出一种使对称加解密IP核实现并行处理的方法,有效的解决了对称加解密IP核的单核性能瓶颈的问题。
附图说明
图1为本发明多路对称加解密IP核并行处理装置的流程框图;
图2为本发明读缓冲单元一种实施例外围接口示意图;
图3为本发明写缓冲单元一种实施例外围接口示意图;
图4为本发明单个加解密IP核外围接口示意图;
图5为加解密IP核时钟生成示意图;
图6为本发明并行化流水处理的时序图;
图7为本发明周期化流水处理的时序图;
图8为本发明多路对称加解密IP核并行处理方法的流程框图。
具体实施方式
下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。
如图1所示,本实施例提出一种基于AXI总线的多路对称加解密IP核并行处理装置,该基于AXI总线的多路对称加解密IP核并行处理装置,包括:与SDRAM连接的AXI总线,以及连接到AXI总线的读缓冲单元和写缓冲单元,读缓冲单元和写缓冲单元分别通过对应的多路选择及控制单元连接到多路对称加解密IP核。
本装置可以采用FPGA实现,SDRAM为FPGA端的内存,以后不再赘述。
在加解密操作时,主机端通过PCIE-DMA链路缓冲大量待加解密的数据到本装置的SDRAM中,读缓冲单元在满足预设的条件下,从SDRAM中读取待加密或解密的数据;多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核处理;写缓冲单元,在满足预设的条件下,将加解密处理后的数据输出到SDRAM中,主机端通过PCIE-DMA链路读取SDRAM数据到主机端内存。
本实施例中,多路选择及控制单元采用移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行并行处理。
例如,设定寄存数据在每个读出时钟脉冲时右移一位,假设采用8位移位寄存器进行控制,移位寄存器的每一位对应一个加解密IP核的时钟控制信号,设定初始寄存数据为“10000000”,对应第一个对称加解密IP核工作;在一个读出时钟脉冲时,寄存数据右移一位变为“01000000”,对应第二个对称加解密IP核工作;在下一个读出时钟脉冲后,寄存数据右移一位变为“00100000”,对应第三个对称加解密IP核工作。依次循环类推,实现依次控制加解密IP核的工作。容易理解的是,移位寄存器对寄存数据可进行循环左移或右移,即根据移位寄存器中的每一位生成对应加解密IP核的时钟信号,当此时钟信号触发后,对应的加解密IP核开始工作。
如图1、图2所示,读缓冲单元包括READ_BUFFER_RD_DATA(读缓冲读端口数据通道)和READ_BUFFER_WR_DATA(读缓冲写端口数据通道),其中,读缓冲写端口数据通道通过AXI总线从SDRAM获取待加密或解密的数据;读缓冲读端口数据通道与多路选择及控制单元连接,用于向加解密IP核输入待加密或解密的数据。
此外,读缓冲单元还包括READ_BUFFER_WR_EN(读缓冲写端口使能信号)和READ_BUFFER_RD_EN(读缓冲读端口使能信号),以及Fread_buffer_rd_clk(读出时钟)和AXI_CLK(AXI总线时钟)。
其中,写端口使能信号READ_BUFFER_WR_EN取决于AXI总线状态和读写缓冲full信号,即:
read_buffer_wr_en=!axi_busy&!read_buffer_full&!write_buffer_full;
读端口使能信号READ_BUFFER_RD_EN,取决于读写缓冲空满状态和加解密IP的ready信号。即:
read_buffer_rd_eh=!write_buffer_full&!read_buffer_empty&encrypt_ready。
读缓冲单元从SDRAM读取数据的具体操作为:当读缓冲单元和写缓冲单元中队列为非满状态、SDRAM中有待加密或解密的数据且AXI总线处于空闲状态时,读缓冲单元发起一次AXI读请求;待SDRAM响应后,一次读取的数据量为AXI突发长度*AXI总线位宽的数据块;直至SDRAM中的数据被全部取出、读缓冲单元和写缓冲单元为满状态或AXI总线被占用时暂停发起AXI读请求。
从SRAM读取的数据经过读缓冲写端口数据通道输入,经读缓冲读端口数据通道输出。读缓冲写端口数据通道的带宽为AXI总线带宽、时钟频率为AXI总线频率。
现有技术中,常见的密码模式有ECB、CBC、CFB、OFB、CTR、XTS模式等,这些模式又可以分为支持并行计算和支持串行计算两种。其中ECB、CTR、XTS为支持并行计算的加密模式,而CBC、CFB、OFB为支持串行计算的加密模式。对于支持串行计算的加密模式,需要主机端文件系统对数据块进行预处理,将属于不同文件的待加密或解密数据预先进行分组,例如分为m组。
当预设的加解密模式处于解密模式或支持并行计算的加密模式时,读缓冲单元中的READ_BUFFER_RD_EN(读缓冲读端口使能信号)的有效条件为读缓冲单元队列为非空状态且任意一路加解密IP核为可操作的ready状态,此时读缓冲读端口数据通道的时钟频率Fread_buffer_rd_clk=Tready*Fencrypt
当预设的加解密模式处于支持串行计算的加密模式时,读缓冲单元中的READ_BUFFER_RD_EN(读缓冲读端口使能信号)的有效条件为读缓冲单元队列为非空状态且任意一路加解密IP核为可操作的ready状态,此时读缓冲读端口数据通道的时钟频率(读出时钟)为Fread_buffer_rd_clk=Tdelay*Fencrypt
本实施例中的Tready为加解密IP核最小输入周期数;Tdelay为加解密IP核时延周期数;Fencrypt为加解密IP核最高工作频率。这些参数都是加解密IP核的参数,这里不再赘述。
如图4所示,为单个加解密IP核的外围接口示意图,其中,输入端的Fencrypt为输入的加解密IP核最高工作频率;plaintext/ciphertext为输入的明文或密文数据;datain_en为输入数据有效信号;key为输入密钥,输出端的ready为加解密IP核已准备好接受数据的信号;ciphertext/plaintext为对应输出的密文或明文数据;dataout_vaild为输出数据有效信号。
如图5所示,为加解密IP核时钟生成示意图,将多个加解密IP核与移位寄存器的输出端连接,通过shit寄存器的对应位生成每个加解密IP核的输入时钟Fencrypt,使每个加解密IP核的时钟的频率相同,但相位相差一个Fread_buffer_rd_clk的时钟周期。
当预设的加解密模式处于解密模式或支持并行计算的加密模式时,设置加解密IP核的数量与移位寄存器的位数对应,设置移位寄存器的位数=加解密IP核最小输入周期数,其中第x个加解密IP核的时钟频率Fencrypt_x=shift1[x]&Fread_buffer_rd_clk,shift1[x]为移位寄存器中第x位,Fread_buffer_rd_clk在FPGA中通过锁相环倍频所得,相位为0。本实施例中,移位寄存器在每个Fread_buffer_rd_clk的时钟上升沿循环右移一位,使每个加解密IP核的时钟频率相同,相位相差一个Fread_buffer_rd_clk的时钟周期。
在此模式下,由于加解密IP核的输入限制,下一组明文或密文数据必须间隔Tready后才能进入加解密IP核中,故本实施例提出一种并行化流水处理方法:在读缓冲单元的读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,依次生成每个加解密IP核的时钟信号,从而控制IP核的处理周期。
如图6所示,为并行化流水处理的时序图,在一个Tready时钟周期中,根据移位寄存器生成的时钟信号,实现对称加解密IP核对数据的并行处理,在每一个Tready时钟周期中,所有的对称加解密IP核依次工作一次。此时本装置的吞吐率为Throughput=Fencrypt*Wtext,Wtext为加解密IP核的数据位宽。
当预设的加解密模式处于支持串行计算的加密模式时,设置移位寄存器的位数=加解密IP核时延周期数,设置m个加解密IP核,所述m对应SDRAM中m个属于不同源文件的待加密或解密分组数据。m个加解密IP核中第x个对称加解密IP核的时钟频率Fencrypt_x=shift2[x]&Fread_buffer_rd_clk,shift2[x]为移位寄存器中第x位Fread_buffer_rd_clk=Tdelay*Fencrypt为FPGA通过锁相环倍频所得,相位为0。
在此模式下,本实施例提出一种混合流水处理方法为:主机端将m个属于不同源文件的待加密或解密数据分组依次缓存到SDRAM中,在读缓冲单元的读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。移位寄存器前m位对应m个加解密IP核的使能信号。
如图7所示,为混合流水处理的时序图,在第一个Tdelay时钟周期,根据移位寄存器的移位结果,选择对应的加解密IP核来进行处理,完成S1~Sm的数据处理,在第二个Tdelay时钟周期时,将第m+1个数据和第一个数据处理结果运算后作为第一个加解密IP核中进行处理,以此类推,完成(S1+C1)~(Sm+Cm)的数据处理,其中C1~Cm表示前m个数据处理后的结果,依次类推完成所有组别中数据的处理。此时本装置的吞吐率为Throughput=Fencrypt*Wtext*m/Tdelay,Wtext为加解密IP核的位宽。
如图1、图3所示,写缓冲单元包括WRITE_BUFFER_RD_DATA(写缓冲读端口数据通道)和WRITE_BUFFER_WR_DATA(写缓冲写端口数据通道),其中,写缓冲读端口数据通道通过AXI总线与SDRAM连接,用于发送加密或解密后的数据到SDRAM;写缓冲写端口数据通道与多路选择及控制单元连接,用于接收加解密IP核输出数据通道中输出的加密或解密后的数据。
写缓冲单元的写操作为:当写缓冲单元中队列为非空状态且AXI总线处于空闲状态时,写缓冲单元发起一次AXI写请求;待SDRAM响应后,向DRAM中一次写入的数据长度为AXI突发长度*AXI总线位宽的数据块;直至写缓冲单元中队列为空状态或AXI总线被占用时暂停发起写请求。
写缓冲写端口数据通道的时钟频率(Fwrite_buffer_wr_clk)与读缓冲读端口数据通道时钟频率(Fread_buffer_rd_clk)相同。写缓冲单元的WRITE_BUFFER_WR_EN(写缓冲写端口使能信号)的有效条件为任意一路对称加解密IP核输入数据有效信号且写缓冲单元队列为非满状态。
写缓冲读端口数据通道的带宽为AXI总线带宽、时钟频率为AXI总线频率,写缓冲单元的WRITE_BUFFER_RD_EN(写缓冲读端口使能信号)的有效条件取决于AXI总线状态和写缓冲单元参数化空状态,即当写缓冲单元队列数量大于一次突发写的数据量时有效。
如图1所示,与AXI总线连接的还包括AXI读写地址单元(包括读地址单元和写地址单元),其读写地址处于SDRAM地址区间内,根据明文或密文组数据在SDRAM中的存放位置,适时改变读写地址,将未占用的地址作为下一次读写的地址。在进行读写SDRAM操作时,AXI读地址单元自动寻址到下一个待加解密明文或密文数据块,AXI写地址单元则会指向已经被加解密完成的数据。
如图8所示,本实施例中还提出一种基于AXI总线的多路对称加解密IP核并行处理方法,所述基于AXI总线的多路对称加解密IP核并行处理方法,包括:
在满足预设的条件下,通过AXI总线从SDRAM中读取待加密或解密的数据;
根据读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理;
在满足预设的条件下,通过AXI总线将加解密处理后的数据输出到SDRAM。
本实施例基于AXI总线的多路对称加解密IP核并行处理方法与上述基于AXI总线的多路对称加解密IP核并行处理装置对应,关于各步骤的具体操作内容在此不再进行一一赘述。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种基于AXI总线的多路对称加解密IP核并行处理装置,其特征在于,所述多路对称加解密IP核并行处理装置,包括:与SDRAM连接的AXI总线,以及连接到AXI总线的读缓冲单元和写缓冲单元,所述读缓冲单元和写缓冲单元分别通过对应的多路选择及控制单元连接到多路对称加解密IP核,其中:
所述读缓冲单元,在满足预设的条件下,从SDRAM中读取待加密或解密的数据;
所述多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理;
所述写缓冲单元,在满足预设的条件下,将加解密处理后的数据输出到SDRAM。
2.如权利要求1所述的基于AXI总线的多路对称加解密IP核并行处理装置,其特征在于,所述读缓冲单元在满足预设的条件下,从SDRAM中读取待加密或解密的数据,执行如下操作:
当读缓冲单元和写缓冲单元的队列为非满状态、SDRAM中有待加密或解密的数据且AXI总线处于空闲状态时,读缓冲单元发起一次AXI读请求,待SDRAM响应该AXI读请求后,读缓冲单元从SDRAM中读取待加密或解密的数据。
3.如权利要求1所述的基于AXI总线的多路对称加解密IP核并行处理装置,其特征在于,所述预设的加解密模式为解密模式、或支持并行计算的加密模式时,所述多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,执行如下操作:
设置移位寄存器的位数等于加解密IP核最小输入周期数,且设置加解密IP核的数量与移位寄存器的位数对应;
在读缓冲单元的读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
4.如权利要求1所述的基于AXI总线的多路对称加解密IP核并行处理装置,其特征在于,所述预设的加解密模式为只支持串行计算的加密模式时,所述多路选择及控制单元,根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,执行如下操作:
设置移位寄存器的位数等于加解密IP核时延周期数,设置m个加解密IP核,所述m对应SDRAM中m个属于不同源文件的待加密或解密分组数据;
在读缓冲单元的读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
5.如权利要求1所述的基于AXI总线的多路对称加解密IP核并行处理装置,其特征在于,所述写缓冲单元在满足预设的条件下,将加解密处理后的数据输出到SDRAM,执行如下操作:
当写缓冲单元的队列中的数据满足一次突发写的数据量且AXI总线处于空闲状态时,写缓冲单元发起一次AXI写请求,待SDRAM响应该AXI写请求后,写缓冲单元将加解密处理后的数据输出至SDRAM中。
6.一种基于AXI总线的多路对称加解密IP核并行处理方法,其特征在于,所述多路对称加解密IP核并行处理方法,包括:
在满足预设的条件下,通过AXI总线从SDRAM中读取待加密或解密的数据;
根据读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理;
在满足预设的条件下,通过AXI总线将加解密处理后的数据输出到SDRAM。
7.如权利要求6所述的基于AXI总线的多路对称加解密IP核并行处理方法,其特征在于,所述在满足预设的条件下,通过AXI总线从SDRAM中读取待加密或解密的数据,包括:
当读缓冲和写缓冲队列为非满状态、SDRAM中有待加密或解密的数据且AXI总线处于空闲状态时,发起一次AXI读请求,待SDRAM响应该AXI读请求后,从SDRAM中读取待加密或解密的数据。
8.如权利要求6所述的基于AXI总线的多路对称加解密IP核并行处理方法,其特征在于,所述预设的加解密模式为解密模式、或支持并行计算的加密模式时,所述根据读缓冲单元的读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,包括:
设置移位寄存器的位数等于加解密IP核最小输入周期数,且设置加解密IP核的数量与移位寄存器的位数对应;
在读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
9.如权利要求6所述的基于AXI总线的多路对称加解密IP核并行处理方法,其特征在于,所述预设的加解密模式为只支持串行计算的加密模式时,所述根据读出时钟和预设的加解密模式,不同的加解密模式采用对应的移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果选择对应的加解密IP核进行处理,包括:
设置移位寄存器的位数等于加解密IP核时延周期数,设置m个加解密IP核,所述m对应SDRAM中m个属于不同源文件的待加密或解密分组数据;
在读出时钟的触发下,移位寄存器对寄存数据进行移位处理,根据移位寄存器的移位结果,将待加密或解密数据输入至对应的加解密IP核中进行处理。
10.如权利要求6所述的基于AXI总线的多路对称加解密IP核并行处理方法,其特征在于,所述在满足预设的条件下,通过AXI总线将加解密处理后的数据输出,包括:
当写缓冲队列中的数据满足一次突发写的数据量且AXI总线处于空闲状态时,发起一次AXI写请求,待SDRAM响应该AXI写请求后,将加解密处理后的数据输出至SDRAM中。
CN201810621835.7A 2018-06-15 2018-06-15 基于axi总线的多路对称加解密ip核并行处理装置和方法 Active CN108874702B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810621835.7A CN108874702B (zh) 2018-06-15 2018-06-15 基于axi总线的多路对称加解密ip核并行处理装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810621835.7A CN108874702B (zh) 2018-06-15 2018-06-15 基于axi总线的多路对称加解密ip核并行处理装置和方法

Publications (2)

Publication Number Publication Date
CN108874702A true CN108874702A (zh) 2018-11-23
CN108874702B CN108874702B (zh) 2020-11-17

Family

ID=64339270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810621835.7A Active CN108874702B (zh) 2018-06-15 2018-06-15 基于axi总线的多路对称加解密ip核并行处理装置和方法

Country Status (1)

Country Link
CN (1) CN108874702B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902043A (zh) * 2019-01-30 2019-06-18 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN113420267A (zh) * 2021-08-24 2021-09-21 北京芯愿景软件技术股份有限公司 存储装置和数据读取方法
CN117892673A (zh) * 2024-03-18 2024-04-16 上海韬润半导体有限公司 一种基于寄存器的时序收敛结构、方法及数模混合芯片
WO2024094137A1 (zh) * 2022-11-03 2024-05-10 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法、装置、系统及电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548717A (zh) * 2017-01-24 2017-03-29 湖北大学 磁性介质显示系统及方法
US20170153892A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Instruction And Logic For Programmable Fabric Hierarchy And Cache
CN107203484A (zh) * 2017-06-27 2017-09-26 北京计算机技术及应用研究所 一种基于FPGA的PCIe与SRIO总线桥接系统
CN108139905A (zh) * 2015-10-29 2018-06-08 英特尔公司 用于从持久存储器预取信息的指令和逻辑

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139905A (zh) * 2015-10-29 2018-06-08 英特尔公司 用于从持久存储器预取信息的指令和逻辑
US20170153892A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Instruction And Logic For Programmable Fabric Hierarchy And Cache
CN106548717A (zh) * 2017-01-24 2017-03-29 湖北大学 磁性介质显示系统及方法
CN107203484A (zh) * 2017-06-27 2017-09-26 北京计算机技术及应用研究所 一种基于FPGA的PCIe与SRIO总线桥接系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋何娟等: "《应用于高性能处理器的并行接口IP核的设计与验证》", 《中国集成电路》 *
顾何方: "《基于XILINX IP核的并行信道化收发模块设计》", 《信息通信》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902043A (zh) * 2019-01-30 2019-06-18 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN109902043B (zh) * 2019-01-30 2021-02-09 中国科学院声学研究所 一种基于fpga的国密算法加速处理系统
CN113420267A (zh) * 2021-08-24 2021-09-21 北京芯愿景软件技术股份有限公司 存储装置和数据读取方法
CN113420267B (zh) * 2021-08-24 2021-11-09 北京芯愿景软件技术股份有限公司 存储装置和数据读取方法
WO2024094137A1 (zh) * 2022-11-03 2024-05-10 山东云海国创云计算装备产业创新中心有限公司 一种数据传输方法、装置、系统及电子设备和存储介质
CN117892673A (zh) * 2024-03-18 2024-04-16 上海韬润半导体有限公司 一种基于寄存器的时序收敛结构、方法及数模混合芯片
CN117892673B (zh) * 2024-03-18 2024-05-31 上海韬润半导体有限公司 一种基于寄存器的时序收敛结构、方法及数模混合芯片

Also Published As

Publication number Publication date
CN108874702B (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN108874702A (zh) 基于axi总线的多路对称加解密ip核并行处理装置和方法
US8355499B2 (en) Parallel encryption/decryption
US8166237B1 (en) Configurable allocation of thread queue resources in an FPGA
US11387980B2 (en) Hardware multiple cipher engine
EP3803672B1 (en) Memory-efficient hardware cryptographic engine
US20070088867A1 (en) Memory controller and data processing system with the same
WO2017045484A1 (zh) 一种基于xts-sm4的存储加解密方法及装置
US9419972B2 (en) Two dimensional direct memory access scheme for enhanced network protocol processing performance
US20060140408A1 (en) Hardware-based encryption/decryption employing dual ported key storage
WO2024114264A1 (zh) 一种加解密架构、方法、处理器和服务器
CN109240952B (zh) 一种高速数据加密NVMe-SATA转换器电路
US10216645B2 (en) Memory data transfer method and system
Yang et al. Design of a pre-scheduled data bus for advanced encryption standard encrypted system-on-chips
US20210004495A1 (en) Method and apparatus for encrypting and decrypting data on an integrated circuit
CN101004674B (zh) 数据处理系统和包括数据处理系统的高清晰度电视机
US20120260103A1 (en) Security circuit using at least two finite state machine units and methods using the same
Homsirikamol et al. A universal hardware API for authenticated ciphers
CN106294228B (zh) 输入输出扩展芯片以及其验证方法
CN116070292B (zh) 一种基于fpga的sm4加密异构加速系统
WO2002101982A1 (en) Cryptographic apparatus and method with multiple port memory
CN104539417A (zh) 一种基于流密码的加密设备
CN102110066A (zh) 一种税控加密卡的控制方法
CN106209370A (zh) 椭圆曲线密码芯片装置、系统及数据缓存控制方法
CN112035866B (zh) 一种数据加密方法、装置、设备和计算机可读存储介质
CN115437972A (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