CN109450614B - 一种适用于高速数据传输通路的加密和解密方法 - Google Patents
一种适用于高速数据传输通路的加密和解密方法 Download PDFInfo
- Publication number
- CN109450614B CN109450614B CN201811103211.2A CN201811103211A CN109450614B CN 109450614 B CN109450614 B CN 109450614B CN 201811103211 A CN201811103211 A CN 201811103211A CN 109450614 B CN109450614 B CN 109450614B
- Authority
- CN
- China
- Prior art keywords
- key
- round
- data
- keys
- encrypted
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005540 biological transmission Effects 0.000 title claims abstract description 23
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 21
- 230000008569 process Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001137350 Fratercula Species 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种适用于高速数据传输通路的加密和解密方法,涉及加密解密技术领域,该加密方法包括:产生一个二进制的随机数作为辅密钥,所述辅密钥的位数为预设置的;获取轮密钥库;基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与所述辅密钥的位数相同;获取数据通路中的待加密数据,依序利用所提取的各轮密钥对所述待加密数据进行加密。
Description
技术领域
本发明涉及加密解密领域,尤其是涉及一种适用于高速数据传输通路的加密和解密方法。
背景技术
硬件木马结构通常包括触发模块以及执行模块两部分。一般将原始功能电路的特定内部信号直接或者间接(例如采用侧信道信息)作为触发模块的输入信号。执行模块则负责在硬件木马被触发后执行某些破坏操作,比如输出重要数据、降低系统性能甚至使元器件加速老化等。这种芯片级的侵入由于难以发现,因此在触发成功后可能会导致极其严重的系统级问题,对于国家政府部门的设备的威胁尤其严重。
硬件木马通常采用高速数据存储路径进行工作,能否通过高速数据存储路径,设计适用于硬件木马的主动防御手段,以切断和破坏硬件木马设计者植入芯片内部的木马触发电路与设计者通过远程发送的硬件木马触发指令之间的协同关系,就成为了急需解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种适用于高速数据传输通路的加密和解密方法,以通过高速数据存储路径切断和破坏木马触发电路与硬件木马触发指令之间的协同关系,保障硬件木马的安全。
本发明第一方面提供了一种适用于高速数据传输通路的加密方法,该加密方法包括:
产生一个二进制的随机数作为辅密钥,所述辅密钥的位数为预设置的;
获取轮密钥库;
基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与所述辅密钥的位数相同;
获取数据通路中的待加密数据,依序利用所提取的各轮密钥对所述待加密数据进行加密。
优选的,在所述获取轮密钥库之前,还包括:
获取用于加密的主密钥,所述主密钥为位数固定的二进制的随机数;
基于所述主密钥,生成多个轮密钥,组成轮密钥库,生成的轮密钥的个数大于辅密钥的位数。
优选的,基于所述主密钥,生成多个轮密钥包括:
步骤1:将所述主密钥通过S盒,S盒的覆盖率是1/2;
步骤2:将通过S盒后的主密钥平移,获得第一预输出;
步骤3:根据预设置的排序规则,将所述主密钥重新排序,得到第二预输出;
步骤4:将所述第一预输出与所述第二预输出进行异或操作,得到一个轮密钥;
步骤5:存储得到的轮密钥;
重复执行步骤1至步骤5,得到多个轮密钥。
优选的,基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥包括:
顺序逐位扫描所述辅密钥;
依照所述轮密钥库中各轮密钥的产生顺序,结合所述辅密钥的当前位,提取多个轮密钥:
当所述辅密钥的当前位为0时,执行+1操作,获取当前对应的轮密钥的后一个轮密钥;
当所述辅密钥的当前位为1时,执行+2操作,获取当前对应的轮密钥的后一个的后一个轮密钥。
优选的,获取待加密数据,依序利用所提取的各轮密钥对所述待加密数据进行加密:
步骤1:将所述待加密数据通过S盒进行置换,S盒的覆盖率是1,获得第一预加密数据;
步骤2:获取与本轮加密对应的轮密钥,将所述第一预加密数据与该轮密钥进行异或操作,获得第二预加密数据;
步骤3:依据预设置的排序规则对第二预加密数据的各位排序,作为已处理的待加密数据;
步骤4:检测是否还存在所提取出的轮密钥,若存在,则将已处理的待加密数据作为步骤1中的待加密数据,执行步骤1;否则,执行步骤5;
步骤5:将已处理的待加密数据作为已加密数据输出。
优选的,所述辅密钥为8位的二进制的随机数。
优选的,所述轮密钥库中轮密钥的个数为所述辅密钥的位数的两倍。
综上,本发明提供的适用于高速数据传输通路的解密方法中,辅密钥的位数决定了所提取的轮密钥的个数,进而可通过辅密钥的位数来控制加密过程的轮次数,从而实现以高效率的加密过程为高速数据通路的数据加密,实现了传输过程的变码。
本发明第二方面提供了一种适用于高速数据传输通路的解密方法,该解密方法包括:
获取存储的轮密钥库和辅密钥;
基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与所述辅密钥的位数相同,所提取的多个轮密钥与加密方法中所提取的多个轮密钥一一对应;
获取已加密数据,依序利用所提取的各轮密钥对所述已加密数据进行解密。
优选的,基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥包括:
确定加密时最后一轮使用的轮密钥,基于该轮密钥,逆序逐位扫描所述辅密钥;
依照所述轮密钥库中各轮密钥的产生顺序,结合所述辅密钥的当前位,逆序提取多个轮密钥:
当所述辅密钥的当前位为0时,执行-1操作,获取当前对应的轮密钥的前一个轮密钥;
当所述辅密钥的当前位为1时,执行-2操作,获取当前对应的轮密钥的前一个的前一个轮密钥。
优选的,所述轮密钥库中轮密钥的个数为所述辅密钥的位数的两倍。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
图1为本发明实施例提供的适用于高速数据传输通路的加密方法的流程示意图;
图2为本发明实施例提供的适用于高速数据传输通路的解密方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在现有的数据存储路径中传输的数据未经过任何处理,即存入硬件芯片的存储区间内。硬件木马的设计者可以通过发送对应的触发信号,成功激活其植入在芯片中对应数据路径上的硬件木马触发模块,从而导致硬件木马启动,继而破坏芯片的正常功能或泄露芯片中的敏感信息。
而在本发明实施例中,当所传送的数据通过数据通路时,数据将在数据通路的输入端口被进行变码梳理,在输出端口进行解码处理,还原原本的传输数据。因而植入的硬件木马触发模块仅能监听到变码后的数据,而经过变码之后的原始数据可视为随机输出,因此可避免触发硬件木马。
为了保护芯片中传输的数据,进而保护芯片不受硬件木马的攻击,在本发明实施例中,如图1所示,提供了一种适用于高速数据传输通路的加密方法,目的为在不影响数据传输效率的前提下主动实现硬件木马防御。具体的,该加密方法包括:
步骤S11、产生一个二进制的随机数作为辅密钥,辅密钥的位数为预设置的。
辅密钥的位数与加密过程中所选用的轮密钥的个数有关,轮密钥的个数又影响了加密的复杂程度。因此,本发明实施例中,辅密钥的位数为工程人员预先确定的。本发明实施例中,辅密钥为8位的二进制的随机数。
步骤S12、获取轮密钥库。
在本发明实施例中,轮密钥库内的轮密钥与主密钥有关,具体的:
步骤S121、获取用于加密的主密钥,主密钥为位数固定的二进制的随机数。
由于轮密钥是由主密钥生成的,主密钥的位数决定了生成的轮密钥的个数。因此,本发明实施例中,主密钥的位数也为工程人员预先确定的。
步骤S122、基于主密钥,生成多个轮密钥,组成轮密钥库,生成的轮密钥的个数应大于辅密钥的位数。
主密钥通过改进后的密钥扩展轮函数进行包含冗余轮函数的多轮操作,从而生成多于正常分组算法加密流程所需的轮函数,共同依次序存储到轮密钥库中,供进行由辅密钥决定的筛选流程所使用。
在本发明实施例中,基于主密钥生成多个轮密钥主要有以下五个步骤:
步骤一、将主密钥通过S盒,S盒的覆盖率是1/2。
在密码学中,S盒(Substitution-box)是对称密钥算法执置换计算的基本结构。S盒用在分组密码算法中,是非线性结构,其密码强度直接决定了密码算法的好坏。
本发明实施例中,此时S盒的覆盖率是1/2,意味着主密钥仅有其中一半的位数通过了S盒,发生了非线性映射。有利于提高主密钥经过S盒加密的速度。
步骤二、将通过S盒后的主密钥平移,获得第一预输出。
平移的位数应当不为S盒大小的整数倍,从而可以保证一个S盒的输出必然会给多个S盒。
步骤三、根据预设置的排序规则,将主密钥重新排序,得到第二预输出。
步骤四、将第一预输出与第二预输出进行异或操作,得到一个轮密钥。
步骤五、存储得到的轮密钥。
每顺序执行完一次步骤一至步骤五,可以得到一个轮密钥。重复执行以上步骤一至步骤五,得到多个轮密钥。
考虑到分组算法需要进行轮密钥生成步骤,因此在高速设计时如果采用传统分组算法的一组明文一组密文模式时,传统流水线无论在时序上还是在面积上均对整体电路增加了较大的负担,同时需要额外增加与原始存储空间等长的密钥存储空间。但如果密钥长期保持不变,攻击者则可以进行明文的暴力搜索或者数据不敏感的重复攻击模式(依靠任意重复输入数据固定次数触发硬件木马)跳过变码环节继续触发硬件木马。
考虑到这一情况,本发明实施例对轮密钥的生成和管理过程进行了改进。通过主密钥不变,随机数产生的辅密钥进行变码,辅密钥随数据一同存入存储空间,但所占资源较少。主密钥切换时间较长(100ms)为单个正常数据包在芯片中存在的时间。通过主密钥与随机辅密钥共同参与变码流程,即每轮变码仍可视为随机密钥的效果。
这种结构设计可以将轮密钥库管理与加密解密部分独立开,在实现一字一密的情况下使得数据流水线能够高速无间断运行,同时能够节省系统存储空间。一字一密的特性使得去协同变码之后的数据与随机序列类似,因此可以将硬件木马的触发问题转变成为了单纯的概率可控问题,同时攻击者无法在不降低木马暴露概率的情况下提高自身的触发搜索期望。
步骤S13、基于辅密钥的各位数,从轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与辅密钥的位数相同。
由步骤S11可知,辅密钥为每周期均产生的随机数序列,与传输数据同时存储在存储器中,负责从轮密钥库选择出该轮使用的轮密钥。
具体的,基于辅密钥的各位数,从轮密钥库中提取多个轮密钥的具体过程包括:
步骤S131、顺序逐位扫描辅密钥。
本发明实施例中,辅密钥为8位的二进制数,例如10101100。则将辅密钥顺序逐位扫描,得到1,0,1,0,1,1,0,0。
步骤S132、依照轮密钥库中各轮密钥的产生顺序,结合辅密钥的当前位,提取多个轮密钥:
当辅密钥的当前位为0时,执行+1操作,获取当前对应的轮密钥的后一个轮密钥。
当辅密钥的当前位为1时,执行+2操作,获取当前对应的轮密钥的后一个的后一个轮密钥。
具体的,本发明实施例中,由于辅密钥的位数为轮密钥库中轮密钥个数的一半,则此时轮密钥库中存储有16个轮密钥。例如为a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p这16个轮密钥。
此时有:对于辅密钥的第一位而言,为1,则此时执行+2操作,获取到的第一个轮密钥为b;对于辅密钥的第二位而言,为0,则此时执行+1操作,获取到的第二个轮密钥为c。依次执行步骤S132,可最终得到筛选出的轮密钥为:b,c,e,f,h,j,k,l。
显然,本发明实施例中,采用根据辅密钥的当前位执行+1或+2的操作来挑选轮密钥的方式。在这样的方式下,为了保证必定能取到足够数量的轮密钥,应当考虑轮密钥库中的轮密钥的个数大于或等于辅密钥的位数的2倍。考虑到数据冗余会给芯片带来更大的存储、运行负担,因此本发明实施例中,轮密钥库中轮密钥的个数为辅密钥的位数的2倍。
在获取到了所需的各轮密钥之后,接下来可对待加密数据加密。
步骤S14、获取数据通路中的待加密数据,依序利用所提取的各轮密钥对待加密数据进行加密。
步骤141:将待加密数据通过S盒进行置换,S盒的覆盖率是1,获得第一预加密数据。
步骤142:获取与本轮加密对应的轮密钥,将第一预加密数据与该轮密钥进行异或操作,获得第二预加密数据。
步骤143:依据预设置的排序规则对第二预加密数据的各位排序,作为已处理的待加密数据。
步骤144:检测是否还存在所提取出的轮密钥,若存在,则将已处理的待加密数据作为步骤1中的待加密数据,执行步骤1;否则,执行步骤5。
步骤145:将已处理的待加密数据作为已加密数据输出。
本发明实施例中,由于辅密钥的位数优选为8位,基于轮密钥的选取方式,可知加密时轮密钥的个数也为8个,也就是本实施例的加密过程采取了减轮至8轮流水实现的PUFFIN算法。由其关键路径较短的性质使得本发明实施例能够在高速数据处理中完成正常功能。
另外,在整个8轮加密过程中,本发明实施例还可设计对于每一轮加密过程分别单独可控,从而提高了加密结果的可预测性和可靠性。
综上,本发明实施例提供的适用于高速数据传输通路的解密方法中,辅密钥的位数决定了所提取的轮密钥的个数,进而可通过辅密钥的位数来控制加密过程的轮次数,从而实现以高效率的加密过程为高速数据通路的数据加密,实现了传输过程的变码。
相应的,本发明实施例提供了一种适用于高速数据传输通路的解密方法,如图2所示,该解密方法包括:
步骤S21、获取存储的轮密钥库和辅密钥。
加密完成后,在加密过程中实用的轮密钥库和辅密钥一并传输给高速数据传输通路的输出端,由输出端对已加密数据进行解密工作。
步骤S22、基于辅密钥的各位数,从轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与辅密钥的位数相同,所提取的多个轮密钥与加密方法中所提取的多个轮密钥一一对应。
解密过程与加密过程大致上是相反的,就是逆序利用加密过程中使用过的轮密钥,一轮一轮地进行解密,最终得到加密前的数据。
因此,首先必须提取轮密钥,而且提取的轮密钥应当与加密过程中的轮密钥完全相同。
具体的,基于辅密钥的各位数,从轮密钥库中提取多个轮密钥包括:
确定加密时最后一轮使用的轮密钥,基于该轮密钥,逆序逐位扫描所述辅密钥。
具体的确定加密时最后一轮使用的轮密钥的方式为:计算辅密钥各位中有多少个1,得到个数后再加上8。
继续利用加密过程中的辅密钥和轮密钥库的例子来举例:当前辅密钥为10101100,其中有4个1,加上8之后得到12。可知,加密过程最后一轮所使用的轮密钥应当为轮密钥库中的第12个轮密钥,即l。
确定了加密时最后一轮使用的轮密钥,也就确定了逆序提取轮密钥的起点:依照轮密钥库中各轮密钥的产生顺序,结合辅密钥的当前位,逆序提取多个轮密钥:当辅密钥的当前位为0时,执行-1操作,获取当前对应的轮密钥的前一个轮密钥;当辅密钥的当前位为1时,执行-2操作,获取当前对应的轮密钥的前一个的前一个轮密钥。
步骤S23、获取已加密数据,依序利用所提取的各轮密钥对已加密数据进行解密。
另外,需要说明的是,本发明实施例中,加密和解密的操作是同时存在的,因此存在两个存储轮密钥的区域,分别对应高速数据通路的输入端和输出端。因此,在正常工作状态下,系统启动后首先利用随机数模块产生主密钥,主密钥产生轮密钥库,之后进行待加密数据的流水线变码处理。在系统发布主密钥更新命令之后,轮密钥库进行移位存储,就是将输入端的轮密钥库存储至输出端,同时变解码所使用轮密钥库切换,但在此过程中不会对数据流水线处理造成插入延迟。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种适用于高速数据传输通路的加密方法,其特征在于,包括:
产生一个二进制的随机数作为辅密钥,所述辅密钥的位数为预设置的;
获取轮密钥库;
基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与所述辅密钥的位数相同;
获取数据通路中的待加密数据,依序利用所提取的各轮密钥对所述待加密数据进行加密。
2.根据权利要求1所述的加密方法,其特征在于,在所述获取轮密钥库之前,还包括:
获取用于加密的主密钥,所述主密钥为位数固定的二进制的随机数;
基于所述主密钥,生成多个轮密钥,组成轮密钥库,生成的轮密钥的个数大于辅密钥的位数。
3.根据权利要求2所述的加密方法,其特征在于,基于所述主密钥,生成多个轮密钥包括:
步骤1:将所述主密钥通过S盒,S盒的覆盖率是1/2;
步骤2:将通过S盒后的主密钥平移,获得第一预输出;
步骤3:根据预设置的排序规则,将所述主密钥重新排序,得到第二预输出;
步骤4:将所述第一预输出与所述第二预输出进行异或操作,得到一个轮密钥;
步骤5:存储得到的轮密钥;
重复执行步骤1至步骤5,得到多个轮密钥。
4.根据权利要求3所述的加密方法,其特征在于,基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥包括:
顺序逐位扫描所述辅密钥;
依照所述轮密钥库中各轮密钥的产生顺序,结合所述辅密钥的当前位,提取多个轮密钥:
当所述辅密钥的当前位为0时,执行+1操作,获取当前对应的轮密钥的后一个轮密钥;
当所述辅密钥的当前位为1时,执行+2操作,获取当前对应的轮密钥的后一个的后一个轮密钥。
5.根据权利要求4所述的加密方法,其特征在于,获取待加密数据,依序利用所提取的各轮密钥对所述待加密数据进行加密:
步骤1:将所述待加密数据通过S盒进行置换,S盒的覆盖率是1,获得第一预加密数据;
步骤2:获取与本轮加密对应的轮密钥,将所述第一预加密数据与该轮密钥进行异或操作,获得第二预加密数据;
步骤3:依据预设置的排序规则对第二预加密数据的各位排序,作为已处理的待加密数据;
步骤4:检测是否还存在所提取出的轮密钥,若存在,则将已处理的待加密数据作为步骤1中的待加密数据,执行步骤1;否则,执行步骤5;
步骤5:将已处理的待加密数据作为已加密数据输出。
6.根据权利要求1所述的加密方法,其特征在于,所述辅密钥为8位的二进制的随机数。
7.根据权利要求1所述的加密方法,其特征在于,所述轮密钥库中轮密钥的个数为所述辅密钥的位数的两倍。
8.一种适用于高速数据传输通路的解密方法,其特征在于,包括:
获取存储的轮密钥库和辅密钥,所述辅密钥是加密时所产生的一个预设置位数的二进制随机数;
基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥,所提取的轮密钥的个数与所述辅密钥的位数相同,所提取的多个轮密钥与加密方法中所提取的多个轮密钥一一对应;
获取已加密数据,依序利用所提取的各轮密钥对所述已加密数据进行解密。
9.根据权利要求8所述的解密方法,其特征在于,基于所述辅密钥的各位数,从所述轮密钥库中提取多个轮密钥包括:
确定加密时最后一轮使用的轮密钥,基于该轮密钥,逆序逐位扫描所述辅密钥;
依照所述轮密钥库中各轮密钥的产生顺序,结合所述辅密钥的当前位,逆序提取多个轮密钥:
当所述辅密钥的当前位为0时,执行-1操作,获取当前对应的轮密钥的前一个轮密钥;
当所述辅密钥的当前位为1时,执行-2操作,获取当前对应的轮密钥的前一个的前一个轮密钥。
10.根据权利要求8所述的解密方法,其特征在于,所述轮密钥库中轮密钥的个数为所述辅密钥的位数的两倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811103211.2A CN109450614B (zh) | 2018-09-20 | 2018-09-20 | 一种适用于高速数据传输通路的加密和解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811103211.2A CN109450614B (zh) | 2018-09-20 | 2018-09-20 | 一种适用于高速数据传输通路的加密和解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109450614A CN109450614A (zh) | 2019-03-08 |
CN109450614B true CN109450614B (zh) | 2020-06-02 |
Family
ID=65530757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811103211.2A Active CN109450614B (zh) | 2018-09-20 | 2018-09-20 | 一种适用于高速数据传输通路的加密和解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450614B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188545B (zh) * | 2019-04-26 | 2020-06-26 | 特斯联(北京)科技有限公司 | 一种基于链式数据库的数据加密方法及装置 |
CN111488575B (zh) * | 2020-04-15 | 2023-09-22 | 清华大学 | 一种存储路径上主动防御硬件木马的系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729241B (zh) * | 2008-10-23 | 2012-01-25 | 国民技术股份有限公司 | 抵御差分能量攻击的aes加密方法 |
SG10201405852QA (en) * | 2014-09-18 | 2016-04-28 | Huawei Internat Pte Ltd | Encryption function and decryption function generating method, encryption and decryption method and related apparatuses |
CN104378196A (zh) * | 2014-11-07 | 2015-02-25 | 昆腾微电子股份有限公司 | 加解密算法的安全执行方法和装置 |
CN105933108B (zh) * | 2016-05-30 | 2019-04-12 | 清华大学 | 一种对sm4算法实现破解的方法 |
CN106656475B (zh) * | 2017-01-09 | 2020-01-21 | 李朋林 | 一种用于高速加密的新型对称型密钥加密方法 |
-
2018
- 2018-09-20 CN CN201811103211.2A patent/CN109450614B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109450614A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8416947B2 (en) | Block cipher using multiplication over a finite field of even characteristic | |
US11546135B2 (en) | Key sequence generation for cryptographic operations | |
US7949807B2 (en) | Data conversion apparatus and data conversion method | |
US9363074B2 (en) | Encryption processing apparatus, encryption processing method, and computer program | |
US10419207B2 (en) | Cryptographic apparatuses and methods for encrypting and decrypting data using automata | |
KR102397579B1 (ko) | 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치 | |
US11258579B2 (en) | Method and circuit for implementing a substitution table | |
CN111310222A (zh) | 文件加密方法 | |
US20230093437A1 (en) | Scrambler Apparatus And Method In Particular For Cryptographic Applications, And Descrambler Apparatus And Method Therefor | |
CN109450614B (zh) | 一种适用于高速数据传输通路的加密和解密方法 | |
CN116488794A (zh) | 基于fpga的高速sm4密码模组实现方法及装置 | |
Mihaljević et al. | An approach for stream ciphers design based on joint computing over random and secret data | |
KR100458339B1 (ko) | 해독화방법및전자기기 | |
JP5992651B2 (ja) | 暗号化方法、プログラム、および、システム | |
Li et al. | Related-tweak statistical saturation cryptanalysis and its application on QARMA | |
WO2005025124A1 (en) | Secret-key-controlled reversible circuit and corresponding method of data processing | |
WO2022096141A1 (en) | Method for processing encrypted data | |
EP3639464B1 (en) | Symmetric key stream cipher cryptographic method and device | |
Khaleel et al. | An overview of cryptosystems based on finite automata | |
TW200418298A (en) | Crypto-system with an inverse key evaluation circuit | |
CN114826558A (zh) | 一种海量数据快速加密方法及系统 | |
Polak et al. | Tabu search against permutation based stream ciphers | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
KR102626974B1 (ko) | 화이트박스 암호의 비밀키 보호를 위한 방법 및 시스템 | |
Khalil et al. | Modify PRESENT Algorithm by New technique and key Generator by External unit |
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 |