CN114519200B - 实时生成查找表的加密方法、装置、设备和存储介质 - Google Patents
实时生成查找表的加密方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114519200B CN114519200B CN202210407690.7A CN202210407690A CN114519200B CN 114519200 B CN114519200 B CN 114519200B CN 202210407690 A CN202210407690 A CN 202210407690A CN 114519200 B CN114519200 B CN 114519200B
- Authority
- CN
- China
- Prior art keywords
- memory
- sub
- port
- configuration information
- generating
- 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
-
- 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
-
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种实时生成查找表的加密方法、装置、设备和存储介质。本方案用于加密芯片,其包括多个多端口存储器、输入控制器和输出控制器;每个多端口存储器包括多个地址端口和多个数据端口,并分别存储分组查找表的一个子表;输入控制器与地址端口连接,输出控制器与数据端口连接,并根据配置信息将指定的多端口存储器按指定的组合方式形成存储组;加密时,根据预设时间规则实时查找表的子表组合方式;根据子表组合方式生成存储组的配置信息,存储组的各种参数满足当前分组密码算法对应的S盒操作需求;将配置信息发送到输入控制器和输出控制器完成配置组成存储组。使用更少的存储器和对应更少的外围电路,满足了不同的分组加密需求。
Description
技术领域
本发明实施例涉及加密技术领域,尤其涉及实时生成查找表的加密方法、装置、设备和存储介质。
背景技术
随着信息技术的不断发展和应用,数据安全性变得越来越重要,数据加密是信息技术应用过程中增强数据安全性不可或缺的步骤。密码算法是数据加密的基础,由此也是数据安全性的根本所在,实现高效灵活安全的密码算法是信息技术中的重要追求。
在不断追求信息安全的过程中,密码算法得到了蓬勃发展,已经出现了分组密码算法、杂凑密码算法、序列密码算法等各种不同的设计思路,在每种设计思路下又有各种不同的具体加密算法设计。
在密码算法中,分组密码算法占有重要的地位。对于分组密码算法而言,S盒是唯一的非线性结构,用于混淆密钥与密文之间的关系,相当于是决定分组密码算法安全性能的核心组成部分,直接影响分组密码算法的安全强度。在不同的分组密码算法中,S盒的架构方式也有所不同。
现有的S盒架构,基于逻辑电路实现或者基于查找表单元实现。对于前者,运算速度慢且不能实现并行处理,对复杂程度较高的分组密码算法无法实现。因此在复杂程度较高的分组密码算法中,多使用基于查找表单元的方式。后一种方式将S盒替换表存储在存储器中,S盒的输入根据分组密码算法的设计转换为存储地址,根据该存储地址从存储器中读取S盒替换表对应位置的数据即为S盒的输出值,从存储器中读取数据的处理过程较快,整个分组密码算法的运算速度也较快。
分组密码算法的输入输出宽度各不相同,甚至对S盒的访问次数也不同,利用存储器的可配置性,可以在一个存储器中配置出多种分组密码算法的S盒操作,但是现有对一个具有较大地址宽度的存储器进行地址配置,从而实现较多分组密码算法的S盒操作,使得存储器和相关电路的体积较大。
发明内容
本发明提供了实时生成查找表的加密方法、装置、设备和存储介质,以解决现有技术实现较多分组密码算法的S盒操作时存储器和相关电路的体积较大的技术问题。
第一方面,本发明实施例提供了实时生成查找表的加密方法,用于加密芯片,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;
每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;
所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;
所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组;
所述加密方法包括:
根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;
根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;
将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组。
进一步地,所述根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,包括:
当所述当前分组密码算法的数据输入位宽和数据输出位宽在所述多端口存储器的输入输出位宽范围内,基于一个所述子表对应的多端口存储器生成配置信息;
当所述当前分组密码算法的数据输入位宽和/或数据输出位宽在所述多端口存储器的输入输出位宽范围外,基于多个所述子表对应的多端口存储器生成级联配置信息。
进一步地,所述多端口存储器为由多个相同的存储体组成的存储器,每个所述存储体内的下拉管共享。
进一步地,所述下拉管为NMOS管。
进一步地,所述多端口存储器为8端口存储器、16端口存储器或32端口存储器。
第二方面,本发明实施例提供了一种实时生成查找表的加密装置,用于加密芯片,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;
每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;
所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;
所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组;
所述加密装置包括:
预处理单元,用于根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;
配置信息生成单元,用于根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;
配置信息响应单元,用于将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组。
进一步地,所述配置信息生成单元,包括:
第一生成模块,用于当所述当前分组密码算法的数据输入位宽和数据输出位宽在所述多端口存储器的输入输出位宽范围内,基于一个所述子表对应的多端口存储器生成配置信息;
第二生成模块,用于当所述当前分组密码算法的数据输入位宽和/或数据输出位宽在所述多端口存储器的输入输出位宽范围外,基于多个所述子表对应的多端口存储器生成级联配置信息。
进一步地,所述多端口存储器为由多个相同的存储体组成的存储器,每个所述存储体内的下拉管共享。
进一步地,所述下拉管为NMOS管。
进一步地,所述多端口存储器为8端口存储器、16端口存储器或32端口存储器。
第三方面,本发明实施例还提供了一种计算设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述计算设备实现如第一方面任一所述的实时生成查找表的加密方法。
第四方面,本发明实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面任一所述的实时生成查找表的加密方法。
上述实时生成查找表的加密方法,用于加密芯片,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组;所述加密方法包括:根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组。根据当前分组密码算法的计算需要,对多个多端口存储器的配置组成存储组,使得存储组能灵活处理不同分组密码算法或者同一分组密码算法根据不同查找表进行对应的处理,使用更少的存储器和对应更少的外围电路,满足了不同的分组加密需求。
附图说明
图1为本发明实施例一提供的一种实时生成查找表的加密方法的流程图;
图2为本发明实施例一提供的加密信息的存储器结构示意图;
图3为本发明实施例一提供的一种存储器结构的第一种配置状态示意图;
图4为本发明实施例一提供的一种存储器结构的第二种配置状态示意图;
图5为本发明实施例二提供的一种实时生成查找表的加密装置的结构示意图;
图6为本发明实施例三提供的一种计算设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要注意的是,由于篇幅所限,本申请说明书没有穷举所有可选的实施方式,本领域技术人员在阅读本申请说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。
下面对各实施例进行详细说明。
实施例一
图1为本发明实施例一提供的一种实时生成查找表的加密方法的流程图。实施例中提供的实时生成查找表的加密方法可以由用于数据加密的各种操作设备执行,该操作设备可以通过软件和/或硬件的方式实现,该操作设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。
本发明实施例中的实时生成查找表的加密方法,用于加密芯片,如图2所述,所述加密芯片的存储器结构包括:多个多端口存储器102、输入控制器101和输出控制器103;
每个所述多端口存储器102包括多个地址端口和多个数据端口,每个所述多端口存储器102分别存储预设的分组查找表的一个子表;
所述输入控制器101与所述地址端口连接,所述输出控制器103与所述数据端口连接;
所述输入控制器101和输出控制器103用于接收配置信息,并根据所述配置信息将指定的多端口存储器102按指定的组合方式形成存储组。
在本方案中的存储器结构的应用场景中,分组密码算法的实现需要多轮迭代,每轮迭代都有基于查找表的替换操作,替换操作通过S盒完成,也可以称之为S盒操作。对于不同的分组密码算法,数据输入位宽、数据输出位宽和端口并行状态各不相同,在本方案中,通过多个多端口存储器,根据当前分组密码算法的相关运算要求,配置形成存储组,每个存储组能满足当前分组密码算法的数据输入位宽、数据输出位宽和端口并行状态,从而满足S盒在有限的硬件架构下实现对不同分组密码算法的支持,提高硬件的单位面积的计算支持效益。
本方案中的存储器架构维持有一个原始的分组查找表,该分组查找表因为在多个多端口存储器102中分别存储而形成为多个子表,基于子表的存在,本方案中的分组查找表不是以唯一的原始状态进行使用,而是在使用过程中,根据子表的组织方式,确认实际使用的查找表(即实时查找表的)的组织方式,一种示例性的方式是原始的分组查找表分为2×2个子表,在某些分组密码算法的实际使用过程中,每个子表可以独立作为分组查找表,那么实时查找表可能有四种情况。另一种示例性的方式是2×2个子表重组为一个实时查找表时,不同的位置布局方式可能带来不同的实时查找表的结果,基于此,本方案中可以在有限的硬件架构下实现对不同分组密码算法的支持,提高硬件的单位面积的计算支持效益,且得到更高的加密效果。
具体的,基于前文所述的存储器结构,参考图1,该实时生成查找表的加密方法具体包括:
步骤S110:根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式。
在本方案中,整体可以支持多种分组密码算法,在具体实现过程中,根据预设时间规则可以确认在信息发送时对应的分组密码算法,该确认出的分组密码算法即为当前分组密码算法。实时查找表的子表组合方式在预设时间规则中也有对应的设置,例如一个子表即可作为实时查找表,那么根据预设时间规则可以确认为具体哪个子表作为实时查找表。
具体基于时间规则确认当前分组密码算法和实时查找表,可以是根据数据加密时的时间参数,生成两个标识,根据两个标识从可用的分组密码算法列表和组合列表中,分别确定对应的分组密码算法和查找表组合方式,继而确认为实时分组密码算法和实时查找表的子表组合方式,后续对应实现存储组的配置,以及在此基础上的信息加密。
步骤S120:根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求。
根据子表组合方式以及该组合方式子表对应的多端口存储器生成存储组的配置信息,在该配置信息中,记录有需要哪几个多端口存储器,确认需要的多端口存储器在既定的存储组中如何组织得到对应的子表,以满足对应的S盒操作需求。
步骤S130:将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组。
在具体实现过程中,根据配置信息,输入控制器和输出控制器将对应的多端口存储器配置到对应的子表地址位置,例如多端口存储器A对应为第0-7位,多端口存储器C对应为第8-15位,输入控制器和输出控制器对多端口存储器的配置方式在现有技术中已有实现,在此不做重复说明。
基于图2所示的存储器结构,第一种存储组的组合方式如图3所示,其为4个数据输入位宽为8bit的存储组,在该组合方式下,四种不同填充方式的箭头表示四个独立的存储组对应的数据传输过程,即四个输入直接通过输入控制器作为存储组(每个存储组对应1个多端口存储器)的输入端,每个存储组中的子表作为独立的查找表(即实时查找表)使用,每个存储组对应有独立的输出端,在此存储组的组织方式下,可以满足S盒操作过程中的并发访问需求。
基于图2所示的存储器结构,第二种存储组的组合方式如图4所示,其为2个数据位宽为8bit,深度为512的存储组,在该组合方式下,两种不同填充方式的箭头表示连个独立的存储组对一个的数据传输过程,即四个多端口存储器组合为两个存储组,每个存储组由两个多端口存储器组合而成,每个存储组中的两个多端口存储器的输入相同,输出分别为第0-8位和8-15位,两个多端口存储器的输出组合之后结合另一路输入,即可得到该存储组的第0-15位的输出。
当然,以上两种存储组的组合方式只是两种示例性的说明,不同的数据输入位宽、数据输出位宽、端口并行状态等都可能导致多端口存储器的组合方式对应进行变化,整体组合后的指标适应于分组密码算法的整体计算指标进行调整。
例如某个分组密码算法需要所有子表组成实时查找表,并且具体的子表组合方式与原始的分组查找表的方式相同,那么对应配置得到的存储组中,多端口存储器按原始的分组查找表对应的子表查分顺序进行配置即可。如果某个分组密码算法需要所有子表组成实时查找表,并且具体的子表组合方式与原始的分组查找表的方式不同,那么对应配置得到的存储组中,多端口存储器应当按实际的组合方式进行配置,例如原始的分组查找表分组的第一个子表对应的多端口存储器,可能配置为实时查找表对应的存储组中的最后一个多端口存储器。
在具体实现过程中,步骤S120进一步通过步骤S121和步骤S122实现:
步骤S121:当所述当前分组密码算法的数据输入位宽和数据输出位宽在所述多端口存储器的输入输出位宽范围内,基于一个所述子表对应的多端口存储器生成配置信息;
步骤S122:当所述当前分组密码算法的数据输入位宽和/或数据输出位宽在所述多端口存储器的输入输出位宽范围外,基于多个所述子表对应的多端口存储器生成级联配置信息。
对于单个多端口存储器不能支持的分组密码算法,即需要多个子表支持的分组密码算法,将对应的多端口存储器进行级联形成存储组,存储组的数据端口的数据位宽得到响应扩展,实现对应的计算支持。
在具体实现过程中,所述多端口存储器为由多个相同的存储体组成的存储器,每个所述存储体内的下拉管共享。所述下拉管为NMOS管。通过多个相同的存储体组成存储器,且每个存储器中的存储体共享下拉管,能够在一定程度上解决多端口存储器字线条数过多的技术问题,进一步优化存储器体积。
对于多端口存储器的端口设计,所述多端口存储器为8端口存储器、16端口存储器或32端口存储器。通过不同的端口类型设计,可以根据实际加密性才能的需求,进行不同的设计,实现实际产品中性价比的最佳组合。
需要说明的是,上述基于分组密码算法的加密过程是信息发送端的执行过程,在数据接收端,根据接收到数据包中的信息或者数据接收时间,基于预设时间规则确认相应的分组密码算法和对应的查找表,并实现相应的信息解密,具体的分组密码算法基于查找表进行加密和解密的过程在现有技术中有多有描述,在此不做赘述。
上述,实时生成查找表的加密方法,用于加密芯片,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组;所述加密方法包括:根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组。根据当前分组密码算法的计算需要,对多个多端口存储器的配置组成存储组,使得存储组能灵活处理不同分组密码算法或者同一分组密码算法根据不同查找表进行对应的处理,使用更少的存储器和对应更少的外围电路,满足了不同的分组加密需求。
实施例二
图5为本发明实施例二提供的一种实时生成查找表的加密装置的结构示意图。本发明实施例中的实时生成查找表的加密装置,用于加密芯片,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组。
参考图5,该实时生成查找表的加密装置包括:预处理单元210、配置信息生成单元220和配置信息响应单元230。
其中,预处理单元210,用于根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;配置信息生成单元220,用于根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;配置信息响应单元230,用于将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组。
在上述实施例的基础上,所述配置信息生成单元220,包括:
第一生成模块,用于当所述当前分组密码算法的数据输入位宽和数据输出位宽在所述多端口存储器的输入输出位宽范围内,基于一个所述子表对应的多端口存储器生成配置信息;
第二生成模块,用于当所述当前分组密码算法的数据输入位宽和/或数据输出位宽在所述多端口存储器的输入输出位宽范围外,基于多个所述子表对应的多端口存储器生成级联配置信息。
在上述实施例的基础上,所述多端口存储器为由多个相同的存储体组成的存储器,每个所述存储体内的下拉管共享。
在上述实施例的基础上,所述下拉管为NMOS管。
在上述实施例的基础上,所述多端口存储器为8端口存储器、16端口存储器或32端口存储器。
本发明实施例提供的实时生成查找表的加密装置包含在计算设备中,且可用于执行上述实施例一中提供的任一实时生成查找表的加密方法,具备相应的功能和有益效果。
实施例三
图6为本发明实施例三提供的一种计算设备的结构示意图,如图所示,该计算设备包括处理器310和存储器320,另外还可以包括输入装置330、输出装置340以及通信装置350;计算设备中处理器310的数量可以是一个或多个,图6中以一个处理器310为例;计算设备中的处理器310、存储器320、输入装置330、输出装置340以及通信装置350可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的实时生成查找表的加密方法对应的程序指令/模块(例如,实时生成查找表的加密装置中的预处理单元210、配置信息生成单元220和配置信息响应单元230)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端设备的各种功能应用以及数据处理,即实现上述的实时生成查找表的加密方法。
存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置330可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
上述终端设备包含实时生成查找表的加密装置,可以用于执行任意实时生成查找表的加密方法,具备相应的功能和有益效果。
实施例四
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本申请任意实施例中提供的实时生成查找表的加密方法中的相关操作,且具备相应的功能和有益效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种实时生成查找表的加密方法,用于加密芯片,其特征在于,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;
每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;
所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;
所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组;
所述加密方法包括:
根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;
根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;
将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组;
其中,所述根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式,包括:
根据数据加密时的时间参数,生成两个标识,根据两个标识从可用的分组密码算法列表和组合列表中,分别确定对应的分组密码算法和查找表组合方式,作为实时分组密码算法和实时查找表的子表组合方式。
2.根据权利要求1所述的实时生成查找表的加密方法,其特征在于,所述根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,包括:
当所述当前分组密码算法的数据输入位宽和数据输出位宽在所述多端口存储器的输入输出位宽范围内,基于一个所述子表对应的多端口存储器生成配置信息;
当所述当前分组密码算法的数据输入位宽和/或数据输出位宽在所述多端口存储器的输入输出位宽范围外,基于多个所述子表对应的多端口存储器生成级联配置信息。
3.根据权利要求1或2所述的实时生成查找表的加密方法,其特征在于,所述多端口存储器为由多个相同的存储体组成的存储器,每个所述存储体内的下拉管共享。
4.根据权利要求3所述的实时生成查找表的加密方法,其特征在于,所述下拉管为NMOS管。
5.根据权利要求1或2所述的实时生成查找表的加密方法,其特征在于,所述多端口存储器为8端口存储器、16端口存储器或32端口存储器。
6.一种实时生成查找表的加密装置,用于加密芯片,其特征在于,所述加密芯片的存储器结构包括:多个多端口存储器、输入控制器和输出控制器;
每个所述多端口存储器包括多个地址端口和多个数据端口,每个所述多端口存储器分别存储预设的分组查找表的一个子表;
所述输入控制器与所述地址端口连接,所述输出控制器与所述数据端口连接;
所述输入控制器和输出控制器用于接收配置信息,并根据所述配置信息将指定的多端口存储器按指定的组合方式形成存储组;
所述加密装置包括:
预处理单元,用于根据预设时间规则确认当前分组密码算法对应的实时查找表的子表组合方式;
配置信息生成单元,用于根据所述子表组合方式和所述子表组合方式中的子表对应的多端口存储器,生成存储组的配置信息,所述存储组的数据输入位宽、数据输出位宽和端口并行状态满足所述当前分组密码算法对应的S盒操作需求;
配置信息响应单元,用于将所述配置信息发送到所述输入控制器和输出控制器,以使所述输入控制器和输出控制器根据所述配置信息对所述多端口存储器进行配置组成所述存储组;
其中,所述预处理单元,具体用于根据数据加密时的时间参数,生成两个标识,根据两个标识从可用的分组密码算法列表和组合列表中,分别确定对应的分组密码算法和查找表组合方式,作为实时分组密码算法和实时查找表的子表组合方式。
7.根据权利要求6所述的实时生成查找表的加密装置,其特征在于,所述配置信息生成单元,包括:
第一生成模块,用于当所述当前分组密码算法的数据输入位宽和数据输出位宽在所述多端口存储器的输入输出位宽范围内,基于一个所述子表对应的多端口存储器生成配置信息;
第二生成模块,用于当所述当前分组密码算法的数据输入位宽和/或数据输出位宽在所述多端口存储器的输入输出位宽范围外,基于多个所述子表对应的多端口存储器生成级联配置信息。
8.根据权利要求6或7所述的实时生成查找表的加密装置,其特征在于,所述多端口存储器为由多个相同的存储体组成的存储器,每个所述存储体内的下拉管共享。
9.一种计算设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述计算设备实现如权利要求1-5任一所述的实时生成查找表的加密方法。
10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5任一项所述的实时生成查找表的加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210407690.7A CN114519200B (zh) | 2022-04-19 | 2022-04-19 | 实时生成查找表的加密方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210407690.7A CN114519200B (zh) | 2022-04-19 | 2022-04-19 | 实时生成查找表的加密方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114519200A CN114519200A (zh) | 2022-05-20 |
CN114519200B true CN114519200B (zh) | 2022-08-12 |
Family
ID=81600563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210407690.7A Active CN114519200B (zh) | 2022-04-19 | 2022-04-19 | 实时生成查找表的加密方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114519200B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030086564A1 (en) * | 2001-09-05 | 2003-05-08 | Kuhlman Douglas A. | Method and apparatus for cipher encryption and decryption using an s-box |
CN105553646B (zh) * | 2015-12-31 | 2018-09-18 | 清华大学无锡应用技术研究院 | 面向分组密码算法并行计算的可重构s盒电路结构 |
CN107066900A (zh) * | 2017-04-18 | 2017-08-18 | 东南大学 | 面向分组密码算法的可重构s盒、可重构计算阵列及门控方法 |
CN107222304B (zh) * | 2017-06-06 | 2020-06-26 | 河南大学 | 一种多体并行s盒的电路结构 |
FR3078464A1 (fr) * | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | Procede et circuit de mise en oeuvre d'une table de substitution |
CN113921050A (zh) * | 2021-09-15 | 2022-01-11 | 北京航空航天大学 | 一种基于aes存内译码的查表电路、存储器和方法 |
-
2022
- 2022-04-19 CN CN202210407690.7A patent/CN114519200B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114519200A (zh) | 2022-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4797921A (en) | System for enciphering or deciphering data | |
CN101553856B (zh) | 密码处理装置和密码处理方法 | |
Hu et al. | Automatic search for a variant of division property using three subsets | |
CN104238995B (zh) | 一种非线性反馈移位寄存器 | |
CN101848081A (zh) | 一种s盒构造方法及s盒 | |
CN102624520B (zh) | 基于aes的192比特位密钥扩展系统及方法 | |
CN107832635A (zh) | 访问权限控制方法、装置、设备及计算机可读存储介质 | |
CN110336661B (zh) | Aes-gcm数据处理方法、装置、电子设备及存储介质 | |
CN111625862A (zh) | 基于多数据节点的数据处理方法、系统及存储介质 | |
Zhang et al. | ROS‐Ethereum: A Convenient Tool to Bridge ROS and Blockchain (Ethereum) | |
KR100390821B1 (ko) | 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 | |
CN114519200B (zh) | 实时生成查找表的加密方法、装置、设备和存储介质 | |
CN105553646B (zh) | 面向分组密码算法并行计算的可重构s盒电路结构 | |
CN108400866B (zh) | 一种粗粒度可重构密码逻辑阵列 | |
WO2024139320A1 (zh) | 一种数据排序方法、装置、设备及可读存储介质 | |
Abujoodeh et al. | Toward lightweight cryptography: A survey | |
Cheng et al. | Lightweight and flexible hardware implementation of authenticated encryption algorithm SIMON‐Galois/Counter Mode | |
CN113726660B (zh) | 一种基于完美哈希算法的路由查找器和方法 | |
CN115134070A (zh) | 一种分组密码算法实现的方法、装置和设备 | |
CN107437990A (zh) | 加密方法、解密方法、加密装置和解密装置 | |
CN109033847A (zh) | Aes加密运算单元、aes加密电路及其加密方法 | |
CN114553398A (zh) | 多重查找的分组加密方法、装置、设备和存储介质 | |
Chen et al. | Research and implementation of reconfigurable architecture of DES and ZUC | |
CN111092716A (zh) | 一种aes算法的加密模式实现方法及装置、设备、介质 | |
Chen et al. | Quantum Algorithm for Finding Impossible Differentials and Zero-Correlation Linear Hulls of Symmetric Ciphers |
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 |