CN113849867B - 一种加密芯片 - Google Patents
一种加密芯片 Download PDFInfo
- Publication number
- CN113849867B CN113849867B CN202111011868.8A CN202111011868A CN113849867B CN 113849867 B CN113849867 B CN 113849867B CN 202111011868 A CN202111011868 A CN 202111011868A CN 113849867 B CN113849867 B CN 113849867B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- mapping
- cache
- queue
- 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
- 238000013507 mapping Methods 0.000 claims abstract description 123
- 230000009466 transformation Effects 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 30
- 241001522296 Erithacus rubecula Species 0.000 claims abstract description 25
- 238000013461 design Methods 0.000 claims abstract description 11
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000013506 data mapping Methods 0.000 claims description 5
- 230000003068 static effect Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 13
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种加密芯片,基于FPGA设计,包括:搬运填充模块;与搬运填充模块连接的8个缓存队列;与每个缓存队列均连接的轮转计数模块;与8个缓存队列一一对应连接的Z32组合逻辑模块;与8个Z32组合逻辑模块分别连接的缓存模块;与缓存模块连接的映射模块;与映射模块连接的线性变换逻辑模块;与缓存模块、轮转计数模块及线性变换逻辑模块连接的运算模块。本申请提供的加密芯片基于FPGA设计,属于硬件逻辑,可重构,可迭代,抗干扰能力强;且缓存队列有8个,每个缓存队列中数据的处理过程互不干扰,可以并行执行,加密效率高;此外,加密芯片中设置有数据缓存结构,可以进行流控,防止数据堵塞;适用性好。
Description
技术领域
本申请涉及芯片设计技术领域,更具体地说,涉及一种加密芯片。
背景技术
在数据传输过程中,为了保证数据安全,可以对数据进行加密,比如通过SM4算法对数据进行加密,然而,现有SM4是借助加密设备的CPU(central processing unit,中央处理器)进行加密计算,是一种串行执行方式,效率低下,且无缓冲和流控,适用性差。
综上所述,如何提高SM4加密方法的适用性是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种加密芯片,其能在一定程度上解决如何提高SM4加密方法的适用性的技术问题。
为了实现上述目的,本申请提供如下技术方案:
一种加密芯片,所述加密芯片基于FPGA设计,包括:
搬运填充模块,用于从所述FPGA的本地缓存中读取待加密数据并填充至缓存队列进行缓存;
与所述搬运填充模块连接的8个缓存队列,且每个所述缓存队列的深度均为4,数据宽度均为32比特;
与每个所述缓存队列均连接的轮转计数模块,用于记录与每个所述缓存队列对应的轮密钥;
与8个所述缓存队列一一对应连接的Z32组合逻辑模块,用于将每个所述缓存队列中后三个32比特数据与对应的所述轮密钥进行异或运算,得到32比特的异或运算结果;
与8个所述Z32组合逻辑模块分别连接的缓存模块,用于缓存每个所述缓存队列中的第一个32比特数据及对应的所述异或运算结果;
与所述缓存模块连接的映射模块,用于基于预设映射表对所述异或运算结果进行映射,得到映射数据;
与所述映射模块连接的线性变换逻辑模块,用于对所述映射数据分别左移2位、左移10位、左移18位、左移24位,得到4个移位数据,并对所述移位数据进行异或运算,得到线性变换结果;
与所述缓存模块、所述轮转计数模块及所述线性变换逻辑模块连接的运算模块,用于存储所述线性变换结果,并将所述缓存队列中的第一个32比特数据与对应的所述线性变换结果进行异或运算,得到替换数据,通过所述轮转计数模块用所述替换数据替换所述缓存队列中的第一个32比特数据,以完成SM4运算。
优选的,所述搬运填充模块还用于:将完成运算的所述缓存队列中的数据写回至所述本地缓存中的预设区域。
优选的,所述搬运填充模块与所述轮转计数模块相连接;
所述轮转计数模块还用于:记录每个所述缓存队列的轮转次数,基于所述轮转次数判定所述缓存队列完成轮加密后,通知所述搬运填充模块读取出所述缓存队列中的数据。
优选的,所述映射模块基于预设映射表对所述异或运算结果进行映射,得到映射数据,包括:
所述映射模块按照从低位到高位的顺序,将所述异或运算结果中的每个8比特数据置换成对应的8比特的地址,按照所述地址读取对应的映射表获得映射子数据,按照所述异或运算结果中的数据位置对所述映射子数据进行组合,得到所述映射数据。
优选的,所述映射表的数量为4,且每个所述映射表中均有与每个所述缓存队列对应的数据映射信息。
优选的,所述映射模块包括:
状态存储单元,用记录每个所述映射表的访问状态;
与所述状态存储单元连接的访问仲裁单元,用于基于所述访问状态控制所述映射表的工作与否。
优选的,所述访问仲裁单元基于所述访问状态控制所述映射表的工作与否,包括:
所述访问仲裁单元通过轮询调度法,基于所述访问状态控制所述映射表的工作与否。
优选的,还包括:
与所述映射模块连接,用于存储所述映射表的静态随机存取存储器。
优选的,所述本地缓存的类型包括同步动态随机存取存储器。
优选的,所述缓存队列的类型包括先进先出队列。
本申请提供的一种加密芯片,基于FPGA设计,包括:搬运填充模块,用于从FPGA的本地缓存中读取待加密数据并填充至缓存队列进行缓存;与搬运填充模块连接的8个缓存队列,且每个缓存队列的深度均为4,数据宽度均为32比特;与每个缓存队列均连接的轮转计数模块,用于记录与每个缓存队列对应的轮密钥;与8个缓存队列一一对应连接的Z32组合逻辑模块,用于将每个缓存队列中后三个32比特数据与对应的轮密钥进行异或运算,得到32比特的异或运算结果;与8个Z32组合逻辑模块分别连接的缓存模块,用于缓存每个缓存队列中的第一个32比特数据及对应的异或运算结果;与缓存模块连接的映射模块,用于基于预设映射表对异或运算结果进行映射,得到映射数据;与映射模块连接的线性变换逻辑模块,用于对映射数据分别左移2位、左移10位、左移18位、左移24位,得到4个移位数据,并对移位数据进行异或运算,得到线性变换结果;与缓存模块、轮转计数模块及线性变换逻辑模块连接的运算模块,用于存储线性变换结果,并将缓存队列中的第一个32比特数据与对应的线性变换结果进行异或运算,得到替换数据,通过轮转计数模块用替换数据替换缓存队列中的第一个32比特数据,以完成SM4运算。本申请提供的加密芯片基于FPGA设计,属于硬件逻辑,可重构,可迭代,抗干扰能力强;且缓存队列有8个,每个缓存队列中数据的处理过程互不干扰,可以并行执行,提高加密效率;此外,加密芯片中设置有相应的数据缓存结构,可以进行流控,防止数据堵塞;适用性好。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种加密芯片的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种加密芯片的结构示意图。
本申请实施例提供的一种加密芯片,加密芯片基于FPGA(Field ProgrammableGate Array,现场可编程门阵列)设计,且可以包括:
搬运填充模块101,用于从FPGA的本地缓存中读取待加密数据并填充至缓存队列102进行缓存;
与搬运填充模块101连接的8个缓存队列102,且每个缓存队列102的深度均为4,数据宽度均为32比特;
与每个缓存队列102均连接的轮转计数模块103,用于记录与每个缓存队列102对应的轮密钥;
与8个缓存队列102一一对应连接的Z32组合逻辑模块104,用于将每个缓存队列102中后三个32比特数据与对应的轮密钥进行异或运算,得到32比特的异或运算结果;
与8个Z32组合逻辑模块104分别连接的缓存模块105,用于缓存每个缓存队列102中的第一个32比特数据及对应的异或运算结果;
与缓存模块105连接的映射模块106,用于基于预设映射表对异或运算结果进行映射,得到映射数据;
与映射模块106连接的线性变换逻辑模块107,用于对映射数据分别左移2位、左移10位、左移18位、左移24位,得到4个移位数据,并对移位数据进行异或运算,得到线性变换结果;
与缓存模块105、轮转计数模块103及线性变换逻辑模块107连接的运算模块108,用于存储线性变换结果,并将缓存队列102中的第一个32比特数据与对应的线性变换结果进行异或运算,得到替换数据,通过轮转计数模块103用替换数据替换缓存队列102中的第一个32比特数据,以完成SM4运算。
需要说明的是,本申请中的加密芯片基于FPGA设计实现,为硬件逻辑,较现有软件实现方式,在工作原理上存在本质不同,且本申请不需要使用CPU进行加密计算,可以节省CPU资源。
需要说明的是,因为搬运填充模块连接了8个缓存队列,且每个缓存队列能够缓存128比特的数据,所以在应用过程中,搬运填充模块可能需在FPGA的本地缓存中读取8个128比特数据并分别填充至8个缓存队列中,此外,因为8个缓存队列的数据处理过程互不干扰,所以8个缓存队列的数据处理可以同时进行也可以异步进行,这样,当缓存队列中的数据被处理完后,搬运填充模块便可以从本地缓存中读取数据并对缓存队列进行填充,而在此之前,为了保存加密结果,搬运填充模块还可以读取出缓存队列的数据处理结果并进行存储。
需要说明的是,因为SM4加密运算过程需进行32轮运算,每轮运算均需要一个密钥,所以轮转计数模块需每个缓存队列应用的32个轮密钥,以便缓存队列在需要时能够获取到所需的轮密钥。需要说明的是,因为轮转计数模块能够感知到缓存队列应用轮密钥,所以轮转计数模块可以统计缓存队列使用轮密钥的数量,以便根据该数量获知缓存队列的数据处理进程,比如一个缓存队列应用了24个轮密钥,则该缓存队列进行了24轮数据加密运算。
需要说明的是,因为Z32组合逻辑模块与8个缓存队列一一对应连接,所以Z32组合逻辑模块的数量也为8个,且与缓存队列一一对应,这样,每个Z32组合逻辑模块只需对相应缓存队列中的后三个32比特数据与对应的轮密钥进行异或运算,得到32比特的异或运算结果,可以看出,Z32组合逻辑模块间的数据处理过程互不干扰,所以8个Z32组合逻辑模块间的数据处理过程可以并行执行也可以异步执行,且在SM4加密芯片的性能紧张时,还可以通过控制工作的Z32组合逻辑模块的数量来缓解SM4加密芯片的性能压力等。
需要说明的是,映射模块对异或运算结果进行映射所依据的预设映射表可以根据实际需要确定,本申请在此不做具体限定。且线性变换逻辑模块在对映射数据分别左移2位、左移10位、左移18位、左移24位,得到4个移位数据,并对移位数据进行异或运算,得到线性变换结果的过程中,假设映射数据为A,则对A左移2位后得到A1,对A左移10位后得到A2,对A左移18位后得到A3,对A左移24位后得到A4,再对A1、A2、A3、A4进行异或运算,便可以得到相应的线性变换结果。
需要说明的是,因为每个缓存队列均会通过Z32组合逻辑模块运算得到相应的异或运算结果,所以缓存模块中需缓存每个缓存队列对应的第一个32比特数据及异或运算结果,相应的,运算模块需存储每个缓存队列对应的线性变换结果,在此过程中,为了便于标识不同缓存队列,可以对缓存队列进行标号,以此来区分不同的缓存队列。
需要说明的是,因为SM4加密运算需要进行32轮运算,而每轮运算均可以由本申请加密芯片运行一次完成,所以可以控制本申请加密芯片完成32轮运算来完成相应的SM4加密运算,控制加密芯片完成32轮运算的过程可以根据实际需要确定,比如可以统计完成轮运算的次数,根据该次数来控制SM4加密芯片是否进行工作等,本申请在此不做具体限定。
本申请提供的一种加密芯片,基于FPGA设计,包括:搬运填充模块,用于从FPGA的本地缓存中读取待加密数据并填充至缓存队列进行缓存;与搬运填充模块连接的8个缓存队列,且每个缓存队列的深度均为4,数据宽度均为32比特;与每个缓存队列均连接的轮转计数模块,用于记录与每个缓存队列对应的轮密钥;与8个缓存队列一一对应连接的Z32组合逻辑模块,用于将每个缓存队列中后三个32比特数据与对应的轮密钥进行异或运算,得到32比特的异或运算结果;与8个Z32组合逻辑模块分别连接的缓存模块,用于缓存每个缓存队列中的第一个32比特数据及对应的异或运算结果;与缓存模块连接的映射模块,用于基于预设映射表对异或运算结果进行映射,得到映射数据;与映射模块连接的线性变换逻辑模块,用于对映射数据分别左移2位、左移10位、左移18位、左移24位,得到4个移位数据,并对移位数据进行异或运算,得到线性变换结果;与缓存模块、轮转计数模块及线性变换逻辑模块连接的运算模块,用于存储线性变换结果,并将缓存队列中的第一个32比特数据与对应的线性变换结果进行异或运算,得到替换数据,通过轮转计数模块用替换数据替换缓存队列中的第一个32比特数据,以完成SM4运算。本申请提供的加密芯片基于FPGA设计,属于硬件逻辑,可重构,可迭代,抗干扰能力强;且缓存队列有8个,每个缓存队列中数据的处理过程互不干扰,可以并行执行,提高加密效率;此外,加密芯片中设置有相应的数据缓存结构,可以进行流控,防止数据堵塞;适用性好。
本申请实施例提供的一种加密芯片中,为了便于保存SM4加密运算的运算结果,搬运填充模块还可以用于将完成运算的缓存队列中的数据写回至本地缓存中的预设区域。比如一个缓存队列完成了32轮运算,则搬运填充模块可以将该缓存队列中最终的数据读取出来并存入本地缓存的预设区域中,这样,后续直接对该预设区域进行读取便可以获知缓存队列的相应运算结果。
本申请实施例提供的一种加密芯片中,因为轮转计数模块可以统计缓存队列使用轮密钥的数量,可以根据该数量获知缓存队列的数据处理进程,所以轮转计数模块可以对缓存队列进行轮运算的过程进行管控,比如在缓存队列完成32轮轮运算后,通知搬运填充模块将缓存队列中的数据读取出来并填充入新的待加密数据等,也即本申请中,搬运填充模块可以与轮转计数模块相连接;且轮转计数模块还可以用于:记录每个缓存队列的轮转次数,基于轮转次数判定缓存队列完成轮加密后,通知搬运填充模块读取出缓存队列中的数据。
本申请实施例提供的一种加密芯片中,为了缓解映射模块的数据映射压力,提高映射模块进行数据映射的灵活性,可以在映射模块中设置多个映射表,比如设置4个映射表,这样映射模块可以通过4个映射表灵活对异或运算结果进行映射,也即映射模块基于预设映射表对异或运算结果进行映射,得到映射数据的过程中,映射模块可以按照从低位到高位的顺序,将异或运算结果中的每个8比特数据置换成对应的8比特的地址,按照地址读取对应的映射表获得映射子数据,按照异或运算结果中的数据位置对映射子数据进行组合,得到映射数据。
需要说明的是,因为异或运算结果为32比特的数据,所以映射模块按照从低位到高位的顺序,将异或运算结果中的每个8比特数据置换成对应的8比特的地址的话,会得到4个地址,比如异或运算结果中的第一个8比特数据为置换成地址2,而地址2为映射表2的地址,所以映射模块需应用映射表2对第一个8比特数据进行映射,得到映射子数据1,因为后续需按照异或运算结果中的数据位置对映射子数据进行组合,得到映射数据,而映射子数据1对应异或运算结果中的第一个8比特数据,所以需将该映射子数据1作为该映射数据的第一个8比特数据,以此组合成最终的映射数据。
具体应用场景中,为了使得每个映射表均可以用于对缓存队列对应的异或运算结果进行映射,映射表的数量为4,且每个映射表中均有与每个缓存队列对应的数据映射信息。
具体应用场景中,因为映射模块需要应用4个映射表对8个缓存队列对应的异或运行结果进行映射,所以会存在映射表的使用竞争,如果不对映射表的使用情况进行管控的话,可能使得映射过程出错,为了避免此种情况,映射模块可以包括:状态存储单元,用记录每个映射表的访问状态;与状态存储单元连接的访问仲裁单元,用于基于访问状态控制映射表的工作与否。且实际应用场景中,访问仲裁单元基于访问状态控制映射表的工作与否的过程中,访问仲裁单元可以通过轮询调度法,基于访问状态控制映射表的工作与否。
本申请实施例提供的一种加密芯片中,为了便于保存映射表,还可以包括:与映射模块连接,用于存储映射表的静态随机存取存储器(Static Random-Access Memory,SRAM)。相应的,为了便于保存数据,本地缓存的类型可以包括同步动态随机存取存储器(Dynamic Random Access Memory,DRAM)。相应的,为了便于对待加密数据进行处理,缓存队列的类型可以包括先进先出队列(First Input First Output,FIFO)等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种加密芯片,其特征在于,所述加密芯片基于FPGA设计,包括:
搬运填充模块,用于从所述FPGA的本地缓存中读取待加密数据并填充至缓存队列进行缓存;
与所述搬运填充模块连接的8个缓存队列,且每个所述缓存队列的深度均为4,数据宽度均为32比特;
与每个所述缓存队列均连接的轮转计数模块,用于记录与每个所述缓存队列对应的轮密钥;
与8个所述缓存队列一一对应连接的Z32组合逻辑模块,用于将每个所述缓存队列中后三个32比特数据与对应的所述轮密钥进行异或运算,得到32比特的异或运算结果;
与8个所述Z32组合逻辑模块分别连接的缓存模块,用于缓存每个所述缓存队列中的第一个32比特数据及对应的所述异或运算结果;
与所述缓存模块连接的映射模块,用于基于预设映射表对所述异或运算结果进行映射,得到映射数据;
与所述映射模块连接的线性变换逻辑模块,用于对所述映射数据分别左移2位、左移10位、左移18位、左移24位,得到4个移位数据,并对所述移位数据进行异或运算,得到线性变换结果;
与所述缓存模块、所述轮转计数模块及所述线性变换逻辑模块连接的运算模块,用于存储所述线性变换结果,并将所述缓存队列中的第一个32比特数据与对应的所述线性变换结果进行异或运算,得到替换数据,通过所述轮转计数模块用所述替换数据替换所述缓存队列中的第一个32比特数据,以完成SM4运算。
2.根据权利要求1所述的加密芯片,其特征在于,所述搬运填充模块还用于:将完成运算的所述缓存队列中的数据写回至所述本地缓存中的预设区域。
3.根据权利要求1所述的加密芯片,其特征在于,所述搬运填充模块与所述轮转计数模块相连接;
所述轮转计数模块还用于:记录每个所述缓存队列的轮转次数,基于所述轮转次数判定所述缓存队列完成轮加密后,通知所述搬运填充模块读取出所述缓存队列中的数据。
4.根据权利要求1至3任一项所述的加密芯片,其特征在于,所述映射模块基于预设映射表对所述异或运算结果进行映射,得到映射数据,包括:
所述映射模块按照从低位到高位的顺序,将所述异或运算结果中的每个8比特数据置换成对应的8比特的地址,按照所述地址读取对应的映射表获得映射子数据,按照所述异或运算结果中的数据位置对所述映射子数据进行组合,得到所述映射数据。
5.根据权利要求4所述的加密芯片,其特征在于,所述映射表的数量为4,且每个所述映射表中均有与每个所述缓存队列对应的数据映射信息。
6.根据权利要求4所述的加密芯片,其特征在于,所述映射模块包括:
状态存储单元,用记录每个所述映射表的访问状态;
与所述状态存储单元连接的访问仲裁单元,用于基于所述访问状态控制所述映射表的工作与否。
7.根据权利要求6所述的加密芯片,其特征在于,所述访问仲裁单元基于所述访问状态控制所述映射表的工作与否,包括:
所述访问仲裁单元通过轮询调度法,基于所述访问状态控制所述映射表的工作与否。
8.根据权利要求4所述的加密芯片,其特征在于,还包括:
与所述映射模块连接,用于存储所述映射表的静态随机存取存储器。
9.根据权利要求1所述的加密芯片,其特征在于,所述本地缓存的类型包括同步动态随机存取存储器。
10.根据权利要求1所述的加密芯片,其特征在于,所述缓存队列的类型包括先进先出队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111011868.8A CN113849867B (zh) | 2021-08-31 | 2021-08-31 | 一种加密芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111011868.8A CN113849867B (zh) | 2021-08-31 | 2021-08-31 | 一种加密芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849867A CN113849867A (zh) | 2021-12-28 |
CN113849867B true CN113849867B (zh) | 2024-02-23 |
Family
ID=78976642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111011868.8A Active CN113849867B (zh) | 2021-08-31 | 2021-08-31 | 一种加密芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849867B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114903A (zh) * | 2007-03-05 | 2008-01-30 | 中兴通讯股份有限公司 | 一种吉比特无源光网络系统中高级加密标准加密装置及其实现方法 |
WO2008061395A1 (fr) * | 2006-11-23 | 2008-05-29 | Tsinghua University | Circuit de cryptage aes d'un flot de données exécuté lors d'un déséquencement |
CN106209358A (zh) * | 2016-07-12 | 2016-12-07 | 黑龙江大学 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
WO2020155542A1 (zh) * | 2019-01-29 | 2020-08-06 | 山东华芯半导体有限公司 | 一种ssd主控中的raid主动加速装置和加速方法 |
CN112329038A (zh) * | 2020-11-15 | 2021-02-05 | 珠海市一微半导体有限公司 | 一种基于usb接口的数据加密控制系统及芯片 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067644A1 (en) * | 2005-08-26 | 2007-03-22 | International Business Machines Corporation | Memory control unit implementing a rotating-key encryption algorithm |
TWI512609B (zh) * | 2014-09-05 | 2015-12-11 | Silicon Motion Inc | 讀取命令排程方法以及使用該方法的裝置 |
-
2021
- 2021-08-31 CN CN202111011868.8A patent/CN113849867B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008061395A1 (fr) * | 2006-11-23 | 2008-05-29 | Tsinghua University | Circuit de cryptage aes d'un flot de données exécuté lors d'un déséquencement |
CN101114903A (zh) * | 2007-03-05 | 2008-01-30 | 中兴通讯股份有限公司 | 一种吉比特无源光网络系统中高级加密标准加密装置及其实现方法 |
CN106209358A (zh) * | 2016-07-12 | 2016-12-07 | 黑龙江大学 | 一种基于长密钥的sm4密钥扩展算法的实现系统及其方法 |
WO2020155542A1 (zh) * | 2019-01-29 | 2020-08-06 | 山东华芯半导体有限公司 | 一种ssd主控中的raid主动加速装置和加速方法 |
CN112329038A (zh) * | 2020-11-15 | 2021-02-05 | 珠海市一微半导体有限公司 | 一种基于usb接口的数据加密控制系统及芯片 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
Non-Patent Citations (2)
Title |
---|
Rijndael算法三级子流水线结构的FPGA实现;张月华;刘鸿雁;张新贺;;辽宁科技大学学报;20090215(01);全文 * |
基于低成本FPGA的AES密码算法设计;黄前山;季晓勇;;通信技术;20100910(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113849867A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106788975B (zh) | 基于sm4密码算法的加解密装置 | |
CN101751980B (zh) | 基于存储器知识产权核的嵌入式可编程存储器 | |
CN102208966A (zh) | 一种harq合并器和harq数据存储方法 | |
US10133549B1 (en) | Systems and methods for implementing a synchronous FIFO with registered outputs | |
US20140040541A1 (en) | Method of managing dynamic memory reallocation and device performing the method | |
EP3657744B1 (en) | Message processing | |
CN115080455B (zh) | 一种计算机芯片、计算机板卡、存储空间分配方法及装置 | |
US20190361631A1 (en) | Storage device, chip and method for controlling storage device | |
CN103116555A (zh) | 基于多体并行缓存结构的数据访问方法 | |
US9292549B2 (en) | Method and system for index serialization | |
CN108959168B (zh) | 基于片上内存的sha512全流水电路及其实现方法 | |
CN106933510B (zh) | 一种存储控制器 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN111181874B (zh) | 一种报文处理方法、装置及存储介质 | |
CN101825997A (zh) | 一种异步先入先出存储器 | |
US10078602B2 (en) | Information processing apparatus, memory controller, and memory control method | |
CN113849867B (zh) | 一种加密芯片 | |
CN116578245B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
CN116661703B (zh) | 存储器访问电路及存储器访问方法、集成电路和电子设备 | |
CN108701102A (zh) | 直接存储器访问控制器、数据读取方法和数据写入方法 | |
US10031884B2 (en) | Storage apparatus and method for processing plurality of pieces of client data | |
CN104407992A (zh) | 一种基于双端口寄存器阵列的四端口存储器 | |
CN108984148B (zh) | 一种基于同步fifo存储器的数据存储的方法及存储器 | |
CN104850391B (zh) | 处理多个数据集的装置及其方法 | |
CN111126584B (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 |