CN111566987B - 数据处理方法、电路、终端设备及存储介质 - Google Patents
数据处理方法、电路、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111566987B CN111566987B CN201880002532.5A CN201880002532A CN111566987B CN 111566987 B CN111566987 B CN 111566987B CN 201880002532 A CN201880002532 A CN 201880002532A CN 111566987 B CN111566987 B CN 111566987B
- Authority
- CN
- China
- Prior art keywords
- data
- key stream
- starting address
- decryption key
- data processing
- 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
Images
Classifications
-
- 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种数据处理方法、电路、终端设备及存储介质。包括:在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,根据所述第一数据的物理起始地址生成所述第一数据的解密密钥流;通过所述解密密钥流对所述第一数据进行解密,并将解密后的所述第一数据写入缓存中。从而可以降低数据解密时延。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据处理方法、电路、终端设备及存储介质。
背景技术
随着信息技术的飞速发展,越来越多的嵌入式片上***(System-on-a-chip,SoC)产品使用外挂闪存(FLASH)来存储程序代码等数据,以降低产品成本。
为了实现数据的安全性,需要对存储在外挂FLASH的数据进行加密。相应的,对于具有本地加载代码程序直接执行(Execute In Place,XIP)功能的SOC芯片,要求在芯片上电或运行期间,直接从外挂FLASH加载数据,并快速对加载的数据进行解密,将解密后的数据加载到缓存(cache)中,以供微控制单元(Microcontroller Unit,MCU)执行。因此数据解密时延是衡量产品好坏的一项重要性能,那么如何进行数据解密,才能降低数据解密时延是本领域亟待解决的技术问题。
发明内容
本申请提供一种数据处理方法、电路、终端设备及存储介质,从而可以降低数据解密时延。
第一方面,本申请提供一种数据处理方法,包括:在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,根据第一数据的物理起始地址生成第一数据的解密密钥流;通过解密密钥流对第一数据进行解密,并将解密后的第一数据写入缓存中。
基于此,只要数据处理电路获取到第一数据,该第一数据的解密密钥流也已预先生成好了,使得数据处理电路可以直接对第一数据进行解密,从而可以降低数据解密时延。
可选地,当第一数据是首个第一数据时,从微控制单元MCU获取第一数据的逻辑起始地址,并根据逻辑起始地址确定第一数据的物理起始地址;当第一数据不是首个第一数据时,根据首个第一数据的物理起始地址,以及,第一数据与首个第一数据的物理起始地址之间的偏移量,确定第一数据的物理起始地址。通过该方法可以有效的确定第一数据的物理起始地址。
可选地,当接收到第一使能信号时,确定第一数据是首个第一数据;当接收到第二使能信号时,确定第一数据不是首个第一数据,其中,第一使能信号不同于第二使能信号。
可选地,通过解密密钥流对第一数据进行解密,包括:当解密密钥流和第一数据长度相同时,对解密密钥流和第一数据采用异或操作,以对第一数据进行解密;当解密密钥流的长度大于第一数据的长度时,按照第一数据的长度截取解密密钥流,并对截取后的解密密钥流和第一数据采用异或操作,以对第一数据进行解密。
在本实施例中,数据处理电路可以对解密密钥流和第一数据采用流加密方式的异或操作,以解密第一数据,由于异或操作是组合电路,通过该方式可以进一步地降低数据解密时延。
可选地,还包括:根据第二数据的物理起始地址生成第二数据的加密密钥流;通过加密密钥流对第二数据进行加密,并将加密后的第二数据写入闪存中。
在本实施例中,对于同一数据,其对应的加密密钥流与解密密钥流相同,即实现了加密密钥和解密密钥的同步。
可选地,当第二数据是首个第二数据时,从MCU获取第二数据的逻辑起始地址,并根据逻辑起始地址确定第二数据的物理起始地址;当第二数据不是首个第二数据时,根据首个第二数据的物理起始地址,以及,第二数据与首个第二数据的物理起始地址之间的偏移量,确定第二数据的物理起始地址。通过该方法可以有效的确定第二数据的物理起始地址。
可选地,通过加密密钥流对第二数据进行加密,包括:当加密密钥流和第二数据长度相同时,对加密密钥流和第二数据采用异或操作,以对第二数据进行加密;当加密密钥流的长度大于第二数据的长度时,按照第二数据的长度截取加密密钥流,并对截取后的加密密钥流和第二数据采用异或操作,以对第二数据进行加密。
在本实施例中,数据处理电路可以对加密密钥流和第二数据采用异或操作,以解密第二数据,由于异或操作是组合电路,通过该方式可以提高数据加密效率。
第二方面,本申请提供一种数据处理电路,包括:
第一生成模块,用于在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,根据第一数据的物理起始地址生成第一数据的解密密钥流;
解密模块,用于通过解密密钥流对第一数据进行解密,并将解密后的第一数据写入缓存中。
第三方面,本申请提供一种数据处理电路,包括:处理器;用于存储所述处理器的可执行指令的存储器,以使所述处理器执行如第一方面或第一方面的可选方式所述的数据处理方法。
第四方面,本申请提供一种终端设备,包括:如第二方面或第三方面的数据处理电路、MCU和闪存。其中,所述数据处理电路的两端分别于所述MCU和所述闪存连接。
第五方面,本申请提供一种存储介质,包括:可执行指令,所述指令用于实现如第一方面或第一方面的可选方式所述的数据处理方法。
第六方面,本申请提供一种计算机程序产品,包括:可执行指令,所述指令用于实现如第一方面或第一方面的可选方式所述的数据处理方法。
本申请提供数据处理方法、电路、终端设备及存储介质。其中,数据处理电路可以在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,数据处理电路根据第一数据的物理起始地址生成第一数据的解密密钥流。基于此,只要数据处理电路获取到第一数据,该第一数据的解密密钥流也已经预先生成好了,使得数据处理电路可以直接对第一数据进行解密,从而可以降低数据解密时延。可选地,在本实施例中,数据处理电路可以对解密密钥流和第一数据采用异或操作,以解密第一数据,由于异或操作是组合电路,通过该方式可以进一步地降低数据解密时延。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的一种嵌入式SOC芯片和外挂FLASH的示意图;
图2为本申请一实施例提供的一种数据处理方法的流程图;
图3为本申请一实施例提供的指令和数据传输的示意图;
图4为本申请一实施例提供的闪存控制器内部模块以及数据处理流程的示意图;
图5为本申请另一实施例提供的一种数据处理方法的流程图;
图6为本申请另一实施例提供的闪存控制器内部模块以及数据处理流程的示意图;
图7为本申请一实施例提供的一种数据处理电路的示意图;
图8为本申请一实施例提供的嵌入式SOC芯片和外挂FLASH的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本申请技术方案之前,下面首先介绍嵌入式SOC芯片和外挂FLASH。
图1为现有技术提供的一种嵌入式SOC芯片和外挂FLASH的示意图,如图1所示,如图1所示,SOC芯片10包括:
微控制单元(Microcontroller Unit,MCU)11:其是嵌入式SOC芯片的核心控制器,用于运行代码程序等数据。
缓存(Cache)和该缓存的控制单元12:当代码程序缓存时,该代码程序可以在MCU11中高速运行。其中该代码程序来自片上静态随机存取存储器(Static Random-AccessMemory,SRAM)和/或外挂FLASH。
闪存控制器13:用于读写外挂FLASH中的数据,一般以四线队列串行接口(QSPI)或者串行外设接口(Serial Peripheral Interface,SPI)的方式访问FLASH。
***加密引擎14:采用和解密同样的加密机制,对数据进行加密,并将加密后的数据通过闪存控制器13经QSPI或者SPI写入FLASH中。
片上SRAM15:用于存储程序代码等数据。
只读存储器(Read-Only Memory,ROM)16:用于存储程序,以供SOC芯片上电时执行。
QSPI/SPI:用于实现闪存控制器13和FLASH之间的数据传输。
此外,外挂FLASH17:用于存储代码程序等数据,以供SoC芯片读写FLASH中的数据。
如上所述,为了实现数据的安全性,需要对存储在外挂FLASH的数据进行加密。相应的,对于具有XIP功能的SOC芯片,要求在芯片上电或运行期间,直接从外挂FLASH加载数据,并快速对加载的数据进行解密,将解密后的数据加载到缓存(cahce)中,以供MCU执行。因此如何进行数据解密,才能降低数据解密时延是本申请亟待解决的技术问题。
为了解决上述技术问题,本申请提供一种数据处理方法、电路、终端设备及存储介质。具体地,图2为本申请一实施例提供的一种数据处理方法的流程图,该方法的执行主体可以是下面提到的数据处理电路或者终端设备,该数据处理电路可以集成在SOC芯片上,如该电路集成在闪存控制器中,或者,该电路是闪存控制器或者SOC芯片,本申请对此不做限制。下面以该方法的执行主体为数据处理电路来举例说明,如图2所示,该方法包括如下步骤:
步骤S21:在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,数据处理电路根据第一数据的物理起始地址生成第一数据的解密密钥流。
步骤S22:数据处理电路通过解密密钥流对第一数据进行解密,并将解密后的第一数据写入缓存中。
针对步骤S21进行如下说明:
本实施例应用于数据处理电路从闪存中读取数据的场景。如上所述,为了实现数据的安全性,闪存中的数据为加密数据,因此,当数据处理电路从闪存中读取到第一数据之后,要对该第一数据进行解密。为了降低数据解密延迟,本实施例提出在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,生成第一数据的解密密钥流。其中每个第一数据具有唯一的解密密钥流。例如:图3为本申请一实施例提供的指令和数据传输的示意图,如图3所示,数据处理电路在读取首个第一数据之前,数据处理电路先向FLASH发送读命令以及首个第一数据的物理起始地址,其中可以在FLASH发送读命令以及首个第一数据的物理起始地址的过程中,数据处理电路提前生成各个第一数据的解密密钥流。
在本实施例中,数据处理电路可以根据第一数据的物理起始地址生成第一数据的解密密钥流。其中,第一数据的物理起始地址指的是:第一数据在闪存中的物理起始地址。
其中,数据处理电路针对不同的第一数据,其获取第一数据的物理起始地址的方式也不尽相同。可选地,当第一数据是首个第一数据时,数据处理电路从MCU获取第一数据的逻辑起始地址,并根据逻辑起始地址确定第一数据的物理起始地址。当第一数据不是首个第一数据时,数据处理电路根据所述首个第一数据的物理起始地址,以及,所述第一数据与所述首个第一数据的物理起始地址之间的偏移量,确定所述第一数据的物理起始地址。例如:首个第一数据的物理起始地址为addr,另一个第一数据与所述首个第一数据的物理起始地址之间的偏移量为4,则另一个第一数据的物理起始地址为addr+4。或者,当第一数据不是首个第一数据时,数据处理电路也可以从MCU获取该第一数据的逻辑起始地址,并根据逻辑起始地址确定该第一数据的物理起始地址。
进一步地,对于一个第一数据,可以通过如下可选方式确定该第一数据是否为首个第一数据。可选地,当数据处理电路接收到第一使能信号时,确定所述第一数据是首个第一数据;当数据处理电路接收到第二使能信号时,确定所述第一数据不是首个第一数据。可选地,该第一使能信号为初始地址访问使能信号(spi_addr_start),用于表示第一数据是首个第一数据,或者,用于表示启动生成首个第一数据的解密密钥流。第二使能信号为FIFO写使能信号(FIFO_wr),用于表示第一数据不是首个第一数据,或者,用于表示启动生成非首个第一数据的解密密钥流,其中这里所谓的“写”指的是将FLASH中的数据写入缓存中。例如:第一使能信号为1,第二使能信号为0,或者,第一使能信号为0,第二使能信号为1。本实施例对第一使能信号和第二使能信号不做限制。
可选地,数据处理电路生成第一数据的解密密钥流的方式包括以下任一项,但不限于此:
一种可选方式:数据处理电路获取公钥,根据公钥生成非对称共享密钥,其中数据处理电路可以采用现有的RSA算法生成非对称共享密钥,本实施例对此不做说明。进一步地,数据处理电路可以获取一个初始向量,该初始向量包括一些可以公开的信息,这些公开的信息用于生成第一数据的解密密钥流,例如:公开的信息包括:随机数。最后,数据处理电路可以将第一数据的物理起始地址和所述初始向量作为计数(Counter,CTR)模式的明文,将所述非对称共享密钥作为CTR模式的密钥,生成第一数据的解密密钥流。
另一种可选方式:数据处理电路直接对第一数据的物理起始地址采用一定的算法,以得到第一数据的解密密钥流。例如:数据处理电路截取第一数据的物理起始地址的后8位作为第一数据的解密密钥流。或者,数据处理电路选择第一数据的物理起始地址的奇数位或者偶数位作为第一数据的解密密钥流。或者,数据处理电路首先选择第一数据的物理起始地址的奇数位或者偶数位,再对奇数位或者偶数位采用求和、求积等操作,以得到第一数据的解密密钥流。
针对步骤S22进行如下说明:
可选地,当解密密钥流和第一数据长度相同时,对解密密钥流和第一数据采用异或操作,以对第一数据进行解密;当解密密钥流的长度大于第一数据的长度时,按照第一数据的长度截取解密密钥流,并对截取后的解密密钥流和第一数据采用异或操作,以对第一数据进行解密。例如:通常第一数据是一个数据块,该数据块长度是4字节,即32比特,假设解密密钥流也是32比特,那么数据处理电路可以直接对解密密钥流和第一数据进行异或操作,以对第一数据进行解密。假设解密密钥流是64比特,那么数据处理电路可以截取解密密钥流的前32位或者后32位,并对截取后的解密密钥流和第一数据采用异或操作,以对第一数据进行解密。
进一步地,数据处理电路通过解密密钥流对第一数据进行解密之后,将解密后的第一数据写入缓存中,以供MCU执行第一数据。
在本实施例中,数据处理电路可以在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,数据处理电路根据第一数据的物理起始地址生成第一数据的解密密钥流。基于此,只要数据处理电路获取到第一数据,该第一数据的解密密钥流也已经被获取到了,使得数据处理电路可以直接对第一数据进行解密,从而可以降低数据解密时延。可选地,在本实施例中,数据处理电路可以对解密密钥流和第一数据采用异或操作,以解密第一数据,由于异或操作是组合电路,通过该方式可以进一步地降低数据解密时延。
如上所述,上述数据处理电路可以集成在SOC芯片上,如该芯片集成在闪存控制器中,或者,该数据处理电路是闪存控制器或者SOC芯片。假设该数据处理电路是集成在闪存控制器中的一个电路,实际上,闪存控制器还存在其他模块,下面通过这些模块与数据处理电路的交互来进一步对上述数据处理方法进行说明:
图4为本申请一实施例提供的闪存控制器内部模块以及数据处理流程的示意图,如图4所示,闪存控制器40包括:有限状态机(Finite State Machine,FSM)状态机模块41、接收先进先出(receive First Input First Output,rxFIFO)缓存42、串行转并行(Serialto Parallel,S2P)接口43、第一寄存器44、数据处理电路45以及选择器49。其中,数据处理电路45包括:解密密钥流生成模块46、第二寄存器47、异或操作模块48。其中,对于首个第一数据,FSM状态机模块41可以接收首个第一数据的逻辑起始地址AHB_addr,并将该起始逻辑地址AHB_addr转换为物理起始地址,将首个第一数据的物理起始地址传输至数据处理电路45中的解密密钥流生成模块46,并向解密密钥流生成模块46发送上述的第一使能信号spi_addr_start。对于非首个第一数据,FSM状态机模块41可以根据首个第一数据的物理起始地址以及该非首个第一数据与所述首个第一数据的物理起始地址之间的偏移量,计算得到该非首个第一数据的物理起始地址,将该非首个第一数据的物理起始地址传输至数据处理电路45中的解密密钥流生成模块46,并向解密密钥流生成模块46发送上述的第二使能信号FIFO_wr。可选地,数据处理电路45可以通过第一寄存器44将第一数据的物理起始地址发送给解密密钥流生成模块46,其中,第一寄存器44用于实现闪存控制器40与FLASH之间的时钟同步。可选地,假设本实施例采用CTR模式确定第一数据的解密密钥流,那么解密密钥流生成模块46可以首先获取第一数据的非对称共享密钥以及初始向量,数据处理电路可以将第一数据的物理起始地址和所述初始向量作为CTR模式的明文,将所述非对称共享密钥作为CTR模式的密钥,生成第一数据的解密密钥流。可选地,解密密钥流生成模块46可以将生成的解密密钥流传输给第二寄存器47,其中,第二寄存器47也是用于实现闪存控制器40与FLASH之间的时钟同步。第二寄存器47将解密密钥流传输至异或操作模块48。另一方面,数据处理电路45中的S2P模块43可以通过QSPI方式从FLASH读取第一数据,其中,S2P模块43用于实现串转并,此时异或操作模块48可以对解密密钥流和第一数据采用异或操作,即解密待解读数据。可选地,异或操作模块48可以将解密后的第一数据输出至选择器49,使得选择器49仅将解密后的第一数据发送给rxFIFO缓存42,其中,rxFIFO缓存42要实现闪存控制器40与FLASH之间的时钟同步。最后,rxFIFO缓存42可以通过总线(例如AHB总线)将解密后的第一数据写入缓存中,以供MCU执行解密后的第一数据。
其中,上述的各个模块以及数据处理电路可以被理解为软件模块,也可以被理解为硬件电路,本实施例对此不做限制。
在本实施例中,通过对闪存控制器进行模块划分,并通过这些模块与数据处理电路的交互进一步地说明了上述数据处理方法,其中由于在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,数据处理电路根据第一数据的物理起始地址生成第一数据的解密密钥流。基于此,只要数据处理电路获取到第一数据,该第一数据的解密密钥流也已预先生成好了,使得数据处理电路可以直接对第一数据进行解密,从而可以降低数据解密时延。可选地,在本实施例中,数据处理电路可以对解密密钥流和第一数据采用异或操作,以解密第一数据,由于异或操作是组合电路,通过该方式可以进一步地降低数据解密时延。
上面已对数据读取过程或者数据解密过程进行了说明,下面将对数据写入过程或者数据加密过程进行说明。
图5为本申请另一实施例提供的一种数据处理方法的流程图,该方法的执行主体可以是数据处理电路或者终端设备,该数据处理电路可以集成在SOC芯片上,如该电路集成在闪存控制器中,或者,该电路是闪存控制器或者SOC芯片,本申请对此不做限制。下面以该方法的执行主体为数据处理电路来举例说明,如图5所示,该方法包括如下步骤:
步骤S51:数据处理电路根据第二数据的物理起始地址生成第二数据的加密密钥流。
步骤S52:数据处理电路通过加密密钥流对第二数据进行加密,并将加密后的第二数据写入闪存中。
针对步骤S51进行如下说明:
本实施例应用于数据处理电路向闪存写入数据的场景。如上所述,为了实现数据的安全性,闪存中的数据为加密数据,因此,当数据处理电路向闪存接入数据时,需要对数据进行加密。其中每个第二数据具有唯一的加密密钥流。
在本实施例中,数据处理电路可以根据第二数据的物理起始地址生成第二数据的加密密钥流。其中,第二数据的物理起始地址指的是:第二数据在闪存中的物理起始地址。
其中,数据处理电路针对不同的第二数据,其获取第二数据的物理起始地址的方式也不尽相同。可选地,当第二数据是首个第二数据时,数据处理电路从MCU获取第二数据的逻辑起始地址,并根据逻辑起始地址确定第二数据的物理起始地址。当第二数据不是首个第二数据时,数据处理电路根据所述首个第二数据的物理起始地址,以及,所述第二数据与所述首个第二数据的物理起始地址之间的偏移量,确定所述第二数据的物理起始地址。例如:首个第二数据的物理起始地址为addr,另一个第二数据与所述首个第二数据的物理起始地址之间的偏移量为4,则另一个第二数据的物理起始地址为addr+4。或者,当第二数据不是首个第二数据时,数据处理电路也可以从MCU获取该第二数据的逻辑起始地址,并根据逻辑起始地址确定该第二数据的物理起始地址。
可选地,数据处理电路生成第二数据的加密密钥流的方式包括以下任一项,但不限于此:
一种可选方式:数据处理电路获取公钥,根据公钥生成非对称共享密钥,其中数据处理电路可以采用现有的RSA算法生成非对称共享密钥,本实施例对此不做说明。进一步地,数据处理电路可以获取一个初始向量,该初始向量包括一些可以公开的信息,这些公开的信息用于生成第二数据的加密密钥流,例如:公开的信息包括:随机数。最后,数据处理电路可以将第二数据的物理起始地址和所述初始向量作为CTR模式的明文,将所述非对称共享密钥作为CTR模式的密钥,生成第二数据的加密密钥流。
另一种可选方式:数据处理电路直接对第二数据的物理起始地址采用一定的算法,以得到第二数据的加密密钥流。例如:数据处理电路截取第二数据的物理起始地址的后8位作为第二数据的加密密钥流。或者,数据处理电路选择第二数据的物理起始地址的奇数位或者偶数位作为第二数据的加密密钥流。或者,数据处理电路首先选择第二数据的物理起始地址的奇数位或者偶数位,再对奇数位或者偶数位采用求和、求积等操作,以得到第二数据的加密密钥流。
需要说明的是,数据处理电路生成加密密钥流的方式与生成解密密钥流的方式相同。
针对步骤S52进行如下说明:
可选地,当加密密钥流和第二数据长度相同时,对加密密钥流和第二数据采用异或操作,以对第二数据进行加密;当加密密钥流的长度大于第二数据的长度时,按照第二数据的长度截取加密密钥流,并对截取后的加密密钥流和第二数据采用异或操作,以对第二数据进行加密。例如:通常第二数据是一个数据块,该数据块长度是4字节,即32比特,假设加密密钥流也是32比特,那么数据处理电路可以直接对加密密钥流和第二数据进行异或操作,以对第二数据进行加密。假设加密密钥流是64比特,那么数据处理电路可以截取加密密钥流的前32位或者后32位,并对截取后的加密密钥流和第二数据采用异或操作,以对第二数据进行加密。
需要说明的是,数据处理电路对第二数据的加密过程与对该数据的解密过程相应。例如:对于同一数据,数据处理电路对该数据和加密密钥流采用异或操作,同样的,数据处理电路对该数据和解密密钥流也采用的是异或操作。
在本实施例中,对于同一数据,其对应的加密密钥流与解密密钥流相同,即实现了加密密钥和解密密钥的同步。
如上所述,上述数据处理电路可以集成在SOC芯片上,如该数据处理电路集成在闪存控制器中,或者,该数据处理电路是闪存控制器或者SOC芯片。假设该数据处理电路是集成在闪存控制器中的一个电路,实际上,闪存控制器还存在其他模块,下面通过这些模块与数据处理电路的交互来进一步对上述数据处理方法进行说明:
图6为本申请另一实施例提供的闪存控制器内部模块以及数据处理流程的示意图,如图6所示,闪存控制器60包括:FSM状态机模块61、发送先进先出(transmit FirstInput First Output,txFIFO)缓存62、串行转并行(Parallel to Serial,P2S)接口63、数据处理电路64。其中,数据处理电路64包括:加密密钥流生成模块65和异或操作模块66。其中,对于首个第二数据,FSM状态机模块61可以接收首个第二数据的逻辑起始地址AHB_addr,并将该起始逻辑地址AHB_addr转换为物理起始地址,将首个第二数据的物理起始地址传输至txFIFO缓存62,该txFIFO缓存62用于实现闪存控制器60与FLASH之间的时钟同步。该txFIFO缓存62将首个第二数据的物理起始地址传输至数据处理电路中的加密密钥流生成模块65。对于非首个第二数据,FSM状态机模块61可以根据首个第二数据的物理起始地址以及该非首个第二数据与所述首个第二数据的物理起始地址之间的偏移量,计算得到该非首个第二数据的物理起始地址,将该非首个第二数据的物理起始地址传输至数据处理电路64中的加密密钥流生成模块65。可选地,假设本实施例采用CTR模式确定第二数据的加密密钥流,那么加密密钥流生成模块65可以首先获取第二数据的非对称共享密钥以及初始向量,数据处理电路可以将第二数据的物理起始地址和所述初始向量作为CTR模式的明文,将所述非对称共享密钥作为CTR模式的密钥,生成第二数据的加密密钥流。加密密钥流生成模块65将加密密钥流传输至异或操作模块66,此时异或操作模块66可以对加密密钥流和第二数据采用异或操作,即加密第二数据。另一方面,数据处理电路中的P2S63可以通过QSPI方式向FLASH写入第二数据,其中,P2S63用于实现并转串。
其中,上述的各个模块以及数据处理电路可以被理解为软件模块,也可以被理解为硬件电路,本实施例对此不做限制。
需要说明的是,本实施例中的数据处理电路64可以与上述数据读取过程中涉及的数据处理电路可以集成在一起。
在本实施例中,通过对闪存控制器进行模块划分,并通过这些模块与数据处理电路的交互进一步地说明了上述数据处理方法。
图7为本申请一实施例提供的一种数据处理电路的示意图,可选地,该数据处理电路为闪存控制器中的电路、闪存控制器或者片上***SOC。如图7所示,该数据处理电路包括:
第一生成模块71,用于在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,根据所述第一数据的物理起始地址生成所述第一数据的解密密钥流。
解密模块72,用于通过所述解密密钥流对所述第一数据进行解密,并将解密后的所述第一数据写入缓存中。
可选地,还包括:第一确定模块73,用于:当所述第一数据是首个第一数据时,从MCU获取所述第一数据的逻辑起始地址,并根据所述逻辑起始地址确定所述第一数据的物理起始地址;当所述第一数据不是首个第一数据时,根据所述首个第一数据的物理起始地址,以及,所述第一数据与所述首个第一数据的物理起始地址之间的偏移量,确定所述第一数据的物理起始地址。
可选地,第一确定模块73,具体用于:当接收到第一使能信号时,确定所述第一数据是首个第一数据;当接收到第二使能信号时,确定所述第一数据不是首个第一数据。
可选地,所述解密模块72具体用于:当所述解密密钥流和所述第一数据长度相同时,对所述解密密钥流和所述第一数据采用异或操作,以对所述第一数据进行解密;当所述解密密钥流的长度大于所述第一数据的长度时,按照所述第一数据的长度截取所述解密密钥流,并对截取后的解密密钥流和所述第一数据采用异或操作,以对所述第一数据进行解密。
可选地,还包括:
第二生成模块74,用于根据第二数据的物理起始地址生成所述第二数据的加密密钥流;
加密模块75,用于通过所述加密密钥流对所述第二数据进行加密,并将加密后的所述第二数据写入闪存中。
可选地,还包括:第二确定模块76,用于:当所述第二数据是首个第二数据时,从MCU获取所述第二数据的逻辑起始地址,并根据所述逻辑起始地址确定所述第二数据的物理起始地址;当所述第二数据不是首个第二数据时,根据所述首个第二数据的物理起始地址,以及,所述第二数据与所述首个第二数据的物理起始地址之间的偏移量,确定所述第二数据的物理起始地址。
可选地,所述加密模块75具体用于:当所述加密密钥流和所述第二数据长度相同时,对所述加密密钥流和所述第二数据采用异或操作,以对所述第二数据进行加密;当所述加密密钥流的长度大于所述第二数据的长度时,按照所述第二数据的长度截取所述加密密钥流,并对截取后的加密密钥流和所述第二数据采用异或操作,以对所述第二数据进行加密。
其中,上述的模块可以被理解为软件模块,也可以被理解为硬件电路。
第一生成模块71相当于图4中的解密密钥流生成模块46,解密模块72相当于图4中的异或操作模块48,第一确定模块73相当于图4中的FSM状态机模块41,第二生成模块74相当于图6中的加密密钥流生成模块65,加密模块75相当于图6中的异或操作模块66,第二确定模块76相当于图6中的FSM状态机模块61,其中FSM状态机模块41和FSM状态机模块61可以是同一个FSM状态机模块。
本实施例所提供的数据处理电路可以执行上述的数据处理方法,其内容和效果可参考方法部分,此外,本发明实施例提供的数据处理电路可以进行模块化设计,其结构简单,进而可以集成至闪存控制器中。
如上所述,上述模块以及数据处理电路可以被理解为软件模块,也可以被理解为硬件电路。假设这些模块是硬件电路,进一步地,图8为本申请一实施例提供的嵌入式SOC芯片和外挂FLASH的示意图,如图8所示,SOC芯片80包括MCU81、缓存和该缓存的控制单元82、FLASH控制器83,FLASH控制器83包括:rxFIFO缓存84和数据处理电路85,该数据处理电路85包括第一生成模块86以及解密模块87,可选地,该数据处理电路85还包括寄存器88。其中,MCU81与缓存和该缓存的控制单元82、FLASH控制器83通过总线(如AHB总线)连接,具体与rxFIFO缓存84连接,第一生成模块86通过寄存器88与解密模块87连接,解密模块87与闪存89连接,其中MCU81、缓存和该缓存的控制单元82、FLASH控制器83可参考图1对应实施例,rxFIFO缓存84可参考图4对应实施例,第一生成模块86与解密模块87可参考图7对应的实施例,其内容和效果在此不再赘述。
本申请还提供一种数据处理电路,包括:处理器;用于存储所述处理器的可执行指令的存储器,以使所述处理器执行上述的数据处理方法,其中,存储器可以是非易失性存储介质,其内容和效果可参考方法部分,对此不再赘述。
本申请还提供一种终端设备,包括:上述的数据处理电路、MCU和闪存。其中,数据处理电路的两端分别于MCU和闪存连接,该数据处理电路可以用于执行上述的数据处理方法,其内容和效果可参考方法部分,对此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,根据所述第一数据的物理起始地址生成所述第一数据的解密密钥流,所述第一数据的解密密钥流是通过将所述第一数据的物理起始地址和初始向量作为CTR模式的明文,将非对称共享密钥作为所述CTR模式的密钥生成的;
通过所述解密密钥流对所述第一数据进行解密,并将解密后的所述第一数据写入缓存中;
当所述第一数据是首个第一数据时,从微控制单元MCU获取所述第一数据的逻辑起始地址,并根据所述逻辑起始地址确定所述第一数据的物理起始地址;
当所述第一数据不是首个第一数据时,根据所述首个第一数据的物理起始地址,以及,所述第一数据与所述首个第一数据的物理起始地址之间的偏移量,确定所述第一数据的物理起始地址。
2.根据权利要求1所述的方法,其特征在于,还包括:
当接收到第一使能信号时,确定所述第一数据是首个第一数据;
当接收到第二使能信号时,确定所述第一数据不是首个第一数据,其中,所述第一使能信号不同于所述第二使能信号。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述通过所述解密密钥流对所述第一数据进行解密,包括:
当所述解密密钥流和所述第一数据长度相同时,对所述解密密钥流和所述第一数据采用异或操作,以对所述第一数据进行解密;
当所述解密密钥流的长度大于所述第一数据的长度时,按照所述第一数据的长度截取所述解密密钥流,并对截取后的解密密钥流和所述第一数据采用异或操作,以对所述第一数据进行解密。
4.一种数据处理方法,其特征在于,包括:
根据第二数据的物理起始地址生成所述第二数据的加密密钥流,所述第二数据的加密密钥流是通过将所述第二数据的物理起始地址和初始向量作为CTR模式的明文,将非对称共享密钥作为所述CTR模式的密钥生成的;
通过所述加密密钥流对所述第二数据进行加密,并将加密后的所述第二数据写入闪存中;
当所述第二数据是首个第二数据时,从MCU获取所述第二数据的逻辑起始地址,并根据所述逻辑起始地址确定所述第二数据的物理起始地址;
当所述第二数据不是首个第二数据时,根据所述首个第二数据的物理起始地址,以及,所述第二数据与所述首个第二数据的物理起始地址之间的偏移量,确定所述第二数据的物理起始地址。
5.根据权利要求4所述的方法,其特征在于,所述通过所述加密密钥流对所述第二数据进行加密,包括:
当所述加密密钥流和所述第二数据长度相同时,对所述加密密钥流和所述第二数据采用异或操作,以对所述第二数据进行加密;
当所述加密密钥流的长度大于所述第二数据的长度时,按照所述第二数据的长度截取所述加密密钥流,并对截取后的加密密钥流和所述第二数据采用异或操作,以对所述第二数据进行加密。
6.一种数据处理电路,其特征在于,包括:
第一生成模块,用于在从闪存中读取第一数据之前,或者,在从闪存中读取第一数据过程中,根据所述第一数据的物理起始地址生成所述第一数据的解密密钥流,所述第一数据的解密密钥流是通过将所述第一数据的物理起始地址和初始向量作为CTR模式的明文,将非对称共享密钥作为所述CTR模式的密钥生成的;
解密模块,用于通过所述解密密钥流对所述第一数据进行解密,并将解密后的所述第一数据写入缓存中;
第一确定模块,用于:
当所述第一数据是首个第一数据时,从微控制单元MCU获取所述第一数据的逻辑起始地址,并根据所述逻辑起始地址确定所述第一数据的物理起始地址;
当所述第一数据不是首个第一数据时,根据所述首个第一数据的物理起始地址,以及,所述第一数据与所述首个第一数据的物理起始地址之间的偏移量,确定所述第一数据的物理起始地址。
7.根据权利要求6所述的电路,其特征在于,所述第一确定模块,具体用于:
当接收到第一使能信号时,确定所述第一数据是首个第一数据;
当接收到第二使能信号时,确定所述第一数据不是首个第一数据,其中,所述第一使能信号不同于所述第二使能信号。
8.根据权利要求6所述的电路,其特征在于,所述解密模块具体用于:
当所述解密密钥流和所述第一数据长度相同时,对所述解密密钥流和所述第一数据采用异或操作,以对所述第一数据进行解密;
当所述解密密钥流的长度大于所述第一数据的长度时,按照所述第一数据的长度截取所述解密密钥流,并对截取后的解密密钥流和所述第一数据采用异或操作,以对所述第一数据进行解密。
9.根据权利要求6-8任一项所述的电路,其特征在于,所述电路为以下任一项:闪存控制器中的电路、闪存控制器、片上***SOC。
10.一种数据处理电路,其特征在于,包括:
第二生成模块,用于根据第二数据的物理起始地址生成所述第二数据的加密密钥流,所述第二数据的加密密钥流是通过将所述第二数据的物理起始地址和初始向量作为CTR模式的明文,将非对称共享密钥作为所述CTR模式的密钥生成的;
加密模块,用于通过所述加密密钥流对所述第二数据进行加密,并将加密后的所述第二数据写入闪存中;
第二确定模块,用于:
当所述第二数据是首个第二数据时,从MCU获取所述第二数据的逻辑起始地址,并根据所述逻辑起始地址确定所述第二数据的物理起始地址;
当所述第二数据不是首个第二数据时,根据所述首个第二数据的物理起始地址,以及,所述第二数据与所述首个第二数据的物理起始地址之间的偏移量,确定所述第二数据的物理起始地址。
11.根据权利要求10所述的电路,其特征在于,所述加密模块具体用于:
当所述加密密钥流和所述第二数据长度相同时,对所述加密密钥流和所述第二数据采用异或操作,以对所述第二数据进行加密;
当所述加密密钥流的长度大于所述第二数据的长度时,按照所述第二数据的长度截取所述加密密钥流,并对截取后的加密密钥流和所述第二数据采用异或操作,以对所述第二数据进行加密。
12.根据权利要求10-11任一项所述的电路,其特征在于,所述电路为以下任一项:闪存控制器中的电路、闪存控制器、片上***SOC。
13.一种数据处理电路,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器,以使所述处理器执行如权利要求1-3或者4-5任一项所述的数据处理方法。
14.一种终端设备,其特征在于,包括:如权利要求6-8或者10-11任一项所述的数据处理电路、MCU和闪存;
其中,所述数据处理电路的两端分别与所述MCU和所述闪存连接。
15.一种存储介质,其特征在于,包括:可执行指令,所述指令被处理器执行时用于实现如权利要求1-3或者4-5任一项所述的数据处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/120732 WO2020118583A1 (zh) | 2018-12-12 | 2018-12-12 | 数据处理方法、电路、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111566987A CN111566987A (zh) | 2020-08-21 |
CN111566987B true CN111566987B (zh) | 2023-05-02 |
Family
ID=71077068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880002532.5A Active CN111566987B (zh) | 2018-12-12 | 2018-12-12 | 数据处理方法、电路、终端设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210006391A1 (zh) |
EP (1) | EP3758276B1 (zh) |
CN (1) | CN111566987B (zh) |
WO (1) | WO2020118583A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2587354A (en) * | 2019-09-24 | 2021-03-31 | Nchain Holdings Ltd | Divisible tokens |
CN112463651A (zh) * | 2020-12-07 | 2021-03-09 | 长沙景嘉微电子股份有限公司 | Qspi控制器,图像处理器及闪存访问方法 |
CN113965321B (zh) * | 2021-10-15 | 2024-05-28 | 杭州安恒信息技术股份有限公司 | 基于密钥流池的实时加解密方法、***、计算机和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106688027A (zh) * | 2014-09-15 | 2017-05-17 | Arm 有限公司 | 依赖puf和地址的数据加密 |
CN107067251A (zh) * | 2016-01-25 | 2017-08-18 | 苹果公司 | 使用具有地理上受限的非本地凭据的电子设备进行交易 |
CN107408080A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 用于重放保护树的无高速缓存分离式***架构 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472285B2 (en) * | 2003-06-25 | 2008-12-30 | Intel Corporation | Apparatus and method for memory encryption with reduced decryption latency |
CN101051892B (zh) * | 2007-03-14 | 2010-05-26 | 江中尧 | 一种cpu专用数据的加密装置及方法 |
CN101540191B (zh) * | 2009-04-21 | 2010-10-13 | 苏州国芯科技有限公司 | 实时加密u盘及高速加解密方法 |
US8990582B2 (en) * | 2010-05-27 | 2015-03-24 | Cisco Technology, Inc. | Virtual machine memory compartmentalization in multi-core architectures |
US20120246384A1 (en) * | 2011-03-21 | 2012-09-27 | Winbond Electronics Corp. | Flash memory and flash memory accessing method |
US20140281587A1 (en) * | 2013-03-14 | 2014-09-18 | Ologn Technologies Ag | Systems, methods and apparatuses for using a secure non-volatile storage with a computer processor |
US9256551B2 (en) * | 2013-08-09 | 2016-02-09 | Apple Inc. | Embedded encryption/secure memory management unit for peripheral interface controller |
US9076003B2 (en) * | 2013-08-20 | 2015-07-07 | Janus Technologies, Inc. | Method and apparatus for transparently encrypting and decrypting computer interface data |
US10192062B2 (en) * | 2014-06-20 | 2019-01-29 | Cypress Semiconductor Corporation | Encryption for XIP and MMIO external memories |
US10223289B2 (en) * | 2015-07-07 | 2019-03-05 | Qualcomm Incorporated | Secure handling of memory caches and cached software module identities for a method to isolate software modules by means of controlled encryption key management |
WO2017058221A1 (en) * | 2015-09-30 | 2017-04-06 | Hewlett Packard Enterprise Development Lp | Cryptographic-based initialization of memory content |
US20170180116A1 (en) * | 2015-12-22 | 2017-06-22 | Kirk S. Yap | End-to-end protection scheme involving encrypted memory and storage |
-
2018
- 2018-12-12 EP EP18943152.1A patent/EP3758276B1/en active Active
- 2018-12-12 WO PCT/CN2018/120732 patent/WO2020118583A1/zh unknown
- 2018-12-12 CN CN201880002532.5A patent/CN111566987B/zh active Active
-
2020
- 2020-09-23 US US17/029,410 patent/US20210006391A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106688027A (zh) * | 2014-09-15 | 2017-05-17 | Arm 有限公司 | 依赖puf和地址的数据加密 |
CN107408080A (zh) * | 2015-03-27 | 2017-11-28 | 英特尔公司 | 用于重放保护树的无高速缓存分离式***架构 |
CN107067251A (zh) * | 2016-01-25 | 2017-08-18 | 苹果公司 | 使用具有地理上受限的非本地凭据的电子设备进行交易 |
Also Published As
Publication number | Publication date |
---|---|
WO2020118583A1 (zh) | 2020-06-18 |
US20210006391A1 (en) | 2021-01-07 |
EP3758276B1 (en) | 2022-08-17 |
CN111566987A (zh) | 2020-08-21 |
EP3758276A1 (en) | 2020-12-30 |
EP3758276A4 (en) | 2021-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347898B2 (en) | Data protection device and method and storage controller | |
JP4684550B2 (ja) | 多数の動作モードを支援する暗号化装置 | |
CN105279439B (zh) | 用于就地执行的存储器的加密方法 | |
US11231991B2 (en) | System on chip and memory system including security processor with improved memory use efficiency and method of operating system on chip | |
US8555082B1 (en) | Securing external memory data | |
KR20220028132A (ko) | 암호화 순열을 위한 암호화 아키텍처 | |
US20210006391A1 (en) | Data processing method, circuit, terminal device and storage medium | |
WO2019109967A1 (en) | Storage apparatus and method for address scrambling | |
US20140310536A1 (en) | Storage device assisted inline encryption and decryption | |
CN112329038B (zh) | 一种基于usb接口的数据加密控制***及芯片 | |
US11387980B2 (en) | Hardware multiple cipher engine | |
US11809346B2 (en) | System architecture with secure data exchange | |
CN209980248U (zh) | 电路和电子设备 | |
US11456857B2 (en) | Cryptography method and circuit, corresponding device | |
EP3803672B1 (en) | Memory-efficient hardware cryptographic engine | |
US11429751B2 (en) | Method and apparatus for encrypting and decrypting data on an integrated circuit | |
EP3117558A1 (en) | Dynamic encryption keys for use with xts encryption systems employing reduced-round ciphers | |
CN109101829B (zh) | 基于可重构密码处理器的安全固态盘数据传输*** | |
CN112217630A (zh) | 用于链路保护的开销减少 | |
KR101126596B1 (ko) | 단일 및 다중 aes 동작을 지원하기 위한 듀얼 모드 aes 장치 및 방법 | |
WO2024064234A1 (en) | Latency-controlled integrity and data encryption (ide) | |
CN109460680A (zh) | 一种基于pci总线的硬件加解密实现方法及硬件加密板卡 | |
CN117290897A (zh) | 加解密电路、处理***及电子设备 | |
JPH0547875B2 (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 |