CN107222304A - 一种多体并行s盒的电路结构 - Google Patents

一种多体并行s盒的电路结构 Download PDF

Info

Publication number
CN107222304A
CN107222304A CN201710416133.0A CN201710416133A CN107222304A CN 107222304 A CN107222304 A CN 107222304A CN 201710416133 A CN201710416133 A CN 201710416133A CN 107222304 A CN107222304 A CN 107222304A
Authority
CN
China
Prior art keywords
data
input
boxes
bit
mux
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
CN201710416133.0A
Other languages
English (en)
Other versions
CN107222304B (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.)
Henan University
Original Assignee
Henan University
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 Henan University filed Critical Henan University
Priority to CN201710416133.0A priority Critical patent/CN107222304B/zh
Publication of CN107222304A publication Critical patent/CN107222304A/zh
Application granted granted Critical
Publication of CN107222304B publication Critical patent/CN107222304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种多体并行S盒的电路结构,用以解决现有并行S盒电路结构成本高、初始化时间长的问题;包括存储模块和多路选择器模块,存储模块包括数据输入端Data、地址输入端Addr和写使能输入端Wr和k个数据位宽为m比特的数据输出端;多路选择器模块包括有k个数据位宽为m比特的数据输入通道、t个数据位宽为n比特的通道选择输入端、t个数据位宽为m比特的S盒数据输出端,数据输入通道分别与存储模块的数据输出端相连接。本发明实现了多个S盒随机并行访问,能够一次进行多个S盒替换操作,节省大量的存储器资源,仅需要对存储器进行一次S盒内容加载,就实现对多个相同S盒的初始化,节省存储器的加载时间。

Description

一种多体并行S盒的电路结构
技术领域
本发明涉及密码芯片集成电路设计的技术领域,具体涉及一种多体并行S盒的电路结构,实现多个S盒并行工作。
背景技术
S盒是对称密码算法中一个重要的组件,它是有限域上一个有n比特输入、m比特输出的非线性函数。由于S盒是一个复杂的非线性函数,所以在实用分组密码中S盒的尺寸一般不能太大,不超过8比特输入、8比特输出的形式最为常见。在分组密码中,通常将多个S盒并联起来使用。例如,高级加密标准算法AES中使用了16个8-8大小的S盒,中国加密标准算法SM4中使用了4个8-8大小的S盒。通常一个分组密码算法中使用的S盒是相同的。
在安全性要求高的应用领域中,通常需要使用多种密码算法。另外,为了满足快速加解密的性能要求,常采用可重构的密码处理器或者面向密码应用的专用处理器等硬件平台来实现对多种密码算法的快速处理。由于同一个密码算法中需要使用多个S盒并行工作,而不同密码算法中使用的S盒可能并不相同。因此,需要这些硬件平台能够支持多种S盒的高效并行工作。
在S盒的硬件电路结构实现方式上,目前主要有两种方式:一种是根据S盒的数学表达式采用门级逻辑电路来实现,这种方式只适合固定内容的S盒,当有多种S盒时,需要提前将这些S盒都以硬件电路形式实现,因此,无法用于需要支持S盒内容可变情形。另一种是基于查找表的实现方式,这种方式是将S盒的所有输出值直接存放在存储器中,如果S盒是一个n比特输入、m比特输出的S盒,则存储器有2 n 个存储单元构成,这些存储单元依次编号为0、1、2、……、2 n -1,第i号存储单元中存放当S盒的输入值为i时S盒对应的输出值,且0≤i≤2 n -1。
目前面向分组密码的硬件电路中,为了满足分组密码中会使用多个S盒的需求,主要有两种方法来实现多个S盒替换操作。第一种方法采用多次访问一个查找表,在这种方式中,使用单块存储器构造的一个S盒的查找表。如果一个分组密码的轮函数中采样N个S盒并行工作,则一般需要进行N次存储器访问才能完成一轮中N个S盒的置换操作。第二种方法是采用多块存储器构成的多体并行的查找表,在这种方式中,如果一个分组密码的轮函数中采用N个S盒并行工作,则需要设置N块存储器,每块存储器对应着一个S盒的查找表,在每轮运算中并行地访问这些存储器。这样通过一次访问操作即可以完成N个S盒的替换操作。例如,对于一个输入为n比特、输出为m比特的S盒,利用查找表方式实现时,一个S盒需要一个存储器,而每个存储器至少需要2 n 个数据位宽为m比特的存储单位。
在单查找表方法中存在着处理速度较慢的问题,在由多块存储器构造的多体并行查找表方法中存在的问题是:一方面需要使用多个存储器,成本较高;另一方面在将S盒内容加载到这些存储器时,每个存储器都需要加载一次,初始化时间较长。
发明内容
针对现有支持多个S盒并行工作的电路结构中成本高、初始化时间长的问题,本发明提出一种多体并行S盒的电路结构,低成本、高效率的支持多个S盒并行工作,仅使用一块存储器既可实现多个S盒的并发访问,不仅能降低硬件成本,还能节省S盒的加载时间。
为了解决上述技术问题,本发明的技术方案是:一种多体并行S盒的电路结构,包括串联连接的存储模块和多路选择器模块,所述的存储模块包括数据输入端Data、地址输入端Addr、写使能输入端Wr和k个数据位宽为m比特的数据输出端,数据输出端与多路选择器模块相连接;所述的多路选择器模块包括有k个数据位宽为m比特的数据输入通道、t个数据位宽为n比特的通道选择输入端、t个数据位宽为m比特的S盒数据输出端,数据输入通道分别与存储模块的数据输出端相连接,通道选择输入端用于接收t个S盒的输入值,S盒数据输出端用于输出t个S盒的输出值, mntk均为正整数,且k≥2 n ;还包括时钟信号输入端口Clk,时钟信号输入端口Clk用于接收外部提供的时钟信号,为整个电路结构提供时钟脉冲信号。
所述存储模块内设有k个数据位宽为m比特的寄存器和内部控制电路,寄存器的编号依次为:R_0、R_1、……、R_k-1,且R_l号寄存器存放的是当S盒输入值为l时S盒的输出值,其中,l为[0,k-1]之间的整数;R_0、R_1、……R_k-1号寄存器的输出端分别与存储模块的k个数据位宽为m比特的数据输出端相连接。
所述存储模块的数据输入端Data的数据位宽为d比特,用于接收外部输入到存储模块的数据;存储模块的地址输入端Addr的位宽为a比特,用于接收外部提供的地址信号;存储模块的写使能输入端Wr,用于接收外部提供的写使能输入信号,ad为正整数,alog 2 k*m/d ,且dm的整数倍。
所述存储模块的写使能端Wr有效时,存储模块的内部控制电路把数据输入端Data上的数据写入到地址输入端Addr指定编号的R_l号寄存器中,l为[0,k-1]之间的整数。
所述的多路选择器模块用于根据多个S盒的输入值从存储模块中并行地选择出多个S盒的相应输出值;多路选择器模块的k个数据位宽为m比特的数据输入通道的编号依次为:D0、D1、……、Dk-1,第Dl号数据输入通道分别与R_l号寄存器的输出端相连接;多路选择器模块的t个数据位宽为n比特的通道选择输入端的编号依次为:X0、X1、……、Xt-1;多路选择器模块的t个数据位宽为m比特的S盒数据输出端的编号依次为:Y0、Y1、……、Yt-1;多路选择器模块包括tk选1多路选择器,k选1多路选择器的编号依次为:M_0、M_1、……、M_t-1;k选1多路选择器的k个多路选择器数据输入端的编号依次为:i0、i1、……、ik-1;
第M_j号k选1多路选择器有数据位宽为m比特的S盒数据输出端Yj、数据位宽为n比特的通道选择输入端Xj和k个数据位宽为m比特的多路选择器数据输入端i0、i1、……、ik-1,其中,0≤ jt-1的整数;每个k选1多路选择器的第il号的多路选择器数据输入端分别与多路选择器模块的第Dl号数据输入通道相连接,l为[0,k-1]之间的整数。
本发明可以灵活地开发出支持多个S盒并行工作的电路结构,在实现对t个输入为n比特、输出为m比特的S盒并行工作的电路结构时,通过共享2 n 个数据位宽为m比特的寄存器,实现了多个S盒随机并行访问的能力,与采用单个查找表实现的S盒相比能够一次进行多个S盒替换操作,与采用多个存储器并行工作的S盒电路结构相比能节省大量的存储器资源,而且仅需要对存储器进行一次S盒内容加载即可实现对多个相同S盒查找表的初始化,与采用多个存储器并行工作的电路结构相比能够节省存储器的加载时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的结构示意图。
图2为本发明实施例二的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,一种多体并行S盒的电路结构,包括串联连接的存储模块和多路选择器模块,所述的存储模块包括有k个数据位宽为m比特的数据输出端、数据输入端Data、地址输入端Addr和写使能输入端Wr,数据输出端与多路选择器模块相连接。所述的多路选择器模块包括有k个数据位宽为m比特的数据输入通道、t个数据位宽为n比特的通道选择输入端、t个数据位宽为m比特的S盒数据输出端,k个数据输入通道分别与存储模块的k个数据输出端相连接。通道选择输入端用于接收t个S盒的输入值,S盒数据输出端用于输出t个S盒的输出值, mntk均为正整数,且k≥2 n 。还包括时钟信号输入端口Clk,时钟信号输入端口Clk用于接收外部提供的时钟信号,为整个电路结构提供时钟脉冲信号。
存储模块用于存放S盒的所有输出值,存储模块内设有k个数据位宽为m比特的寄存器和内部控制电路,寄存器从上到下的编号依次为:R_0、R_1、……、R_k-1,且R_l号寄存器存放的是当S盒输入值为l时S盒的输出值,其中,l为[0,k-1]之间的整数。即第R_0号寄存器存放的是当S盒输入值为0时S盒对应的输出值,第R_1号寄存器存放的是当S盒输入值为1时S盒的输出值,第R_2、R_3、……、R_k-1号寄存器中存放的内容以此类推。R_0、R_1、……R_k-1号寄存器的输出端分别与存储模块的k个数据位宽为m比特的数据输出端相连接。存储模块的k个数据位宽为m比特的数据输出端分别与多路选择器模块的数据输入通道相连接。
存储模块的数据输入端Data的数据位宽为d比特,用于接收外部输入到存储模块的数据;存储模块的地址输入端Addr的位宽为a比特,用于接收外部往存储模块写入数据时提供的地址信号;存储模块的写使能输入端Wr,用于接收外部提供的写使能输入信号,ad为正整数,且dm的整数倍,alog 2 k*m/d
存储模块的写使能端Wr有效时,存储模块的内部控制电路把数据输入端Data上的数据写入到地址输入端Addr指定编号的R_l号寄存器中,l为[0,k-1]之间的整数。
多路选择器模块用于根据多个S盒的输入值从存储模块中并行地选择出多个S盒的相应输出值。多路选择器模块的k个数据位宽为m比特的数据输入通道的编号依次为:D0、D1、……、Dk-1,第Dl号数据输入通道分别与R_l号寄存器的输出端相连接。即第R_0号寄存器的数据输出端连接到多路选择器模块的第D0号数据输入通道;第R_1号寄存器的数据输出端接到多路选择器模块的第D1号数据输入通道;第R_2、R_3、……、R_k-1号寄存器数据输出端的连接方式以此类推。
多路选择器模块的t个数据位宽为n比特的通道选择输入端的编号依次为:X0、X1、……、Xt。多路选择器模块的t个数据位宽为m比特的S盒数据输出端的编号依次为:Y0、Y1、……、Yt。多路选择器模块包括tk选1多路选择器,k选1多路选择器的编号依次为:M_0、M_1、……、M_t-1;k选1多路选择器的k个多路选择器数据输入端的编号依次为:i0、i1、……、ik-1。第M_j号k选1多路选择器有数据位宽为m比特的S盒数据输出端Yj、数据位宽为n比特的通道选择输入端Xj和k个数据位宽为m比特的多路选择器数据输入端i0、i1、……、ik-1,其中,0≤ j t-1的整数。第M_j号k选1多路选择器的通道选择输入端作为多路选择器模块的第Xj号通道选择输入端,用于接收第j号S盒的输入值,第M_j号k选1多路选择器的数据输出端作为多路选择器的第Y_j号S盒数据输出端,用于输出S盒的输出值。
每个k选1多路选择器的第il号的多路选择器数据输入端分别与多路选择器模块的第Dl号数据输入通道相连接,l为[0,k-1]之间的整数。即,每个k选1多路选择器的第i0号数据输入端分别连接到多路选择器模块的第D0号数据输入通道,每个k选1多路选择器的第i1号数据输入端分别连接到多路选择器模块的第D0号数据输入通道,每个k选1多路选择器的第i2、i3、……、ik-1号数据输入端的连接方式依此类推。
若有t个输入为n比特、输出为m比特的S盒并行工作时,所述的存储模块至少包含k个数据位宽为m比特的寄存器,并且多路选择器模块中至少包含t个数据位宽为m比特的k选1多路选择器,其中,k≥2 n 。由于存储模块中的k个寄存器能够同时向外提供数据并且多路选择器模块中tk选1多路选择器可以并行工作,所以当有t个S盒的输入值同时到达此多体并行S盒电路结构时,该电路能够同时输出t个对应的S盒输出值。因此,所述的多体并行S盒可以支持t个S盒并发访问。
实施例二
一种多体并行S盒的电路结构,实现了一种支持4个8比特输入、8比特输出的多体并行S盒电路,其电路结构图如图2所示。包括存储模块和多路选择器模块,其中,所述的存储模块有256个数据位宽为8比特的数据输出端,这些数据输出端与多路选择器模块相连接。所述的存储模块有一个数据位宽为8比特的数据输入端Data,用于接收外部输入到存储模块的数据;所述的存储模块有一个位宽为8比特的地址输入端Addr,用于接收外部提供的地址信号以选中要写入的寄存器;所述的存储模块有一个写使能输入端,用于接收外部提供的写使能输入信号。所述的多路选择器模块有256个数据位宽为8比特的数据输入通道,这些数据输入通道分别与存储模块的256个数据输出端相连。多路选择器模块有4个数据位宽为8比特的通道选择输入端X0-X3,这些通道选择输入端用于接收4个S盒的输入值.所述的多路选择器模块有4个数据位宽为8比特的S盒数据输出端Y0 - Y3,这些S盒数据输出端用于输出4个S盒的输出值。本发明还包括有一个时钟信号输入端口Clk,时钟信号输入端口Clk用于接收外部提供的时钟信号,并为整个置换电路提供时钟脉冲信号。
存储模块用于存放一个S盒的所有输出值,由256个数据位宽为8比特的寄存器和内部控制电路构成。寄存器从上到下的编号依次为R_0、R_1、……R_255;第R_0号寄存器存放的是S盒输入值为0时S盒的输出值,第R_1号寄存器存放的是S盒输入值为1时S盒的输出值,第R_2、R_3、……、R_255号寄存器中存放的内容以此类推。存储模块中的256个寄存器的数据输出端分别作为存储模块的256个数据输出端,第R_0号寄存器的数据输出端连接到多路选择器模块的第D0号数据输入通道;第R_1号寄存器的数据输出端连接到多路选择器模块的第D1号数据输入通道;第R_2、R_3、……、R_255号寄存器的数据输出端的连接方式以此类推。
存储模块有三类输入端,存储模块的第一类输入端为数据位宽为8比特的数据输入端Data,用于接收外部输入的数据;存储模块的第二类输入端为位宽为8比特的地址输入端Addr,用于接收外部写数据时的地址信号;存储模块的第三类输入端为写使能输入端Wr,用于接收外部输入的写使能信号;当写使能端Wr有效时,低电平有效,存储模块的内部控制电路将把数据输入端Data上的8比特数据写入地址输入端Addr指定编号的寄存器中。
所述的多路选择器模块中包含4个数据位宽为8比特的256选1多路选择器,这些多路选择器从上到下的编号依次为M_0、M_1、M2、M_3。多路选择器模块有256个数据位宽为8比特的数据输入通道,这些数据输入通道从上到下的编号依次为:D0、D1、……、D255。当0≤l≤255时,多路选择器模块的第D l号数据输入通道与存储模块中的第R_ l号寄存器的数据输出端相连接。多路选择器模块有4个数据位宽为8比特的通道选择输入端,这些通道选择输入端的编号从上到下依次为X0、X1、X2、X3,当0≤j≤3时,第Xj号通道选择输入端用于接收第j号S盒的输入值;所述的多路选择器模块有4个数据位宽为8比特的S盒数据输出端,这些S盒数据输出端从上到下的编号依次为:Y0、Y1、Y2、Y3,当0≤j≤3时,第Yj号数据输出端用于输出第j号S盒的输出值;当0≤j≤3时,第Xj号通道选择输入端和第Yj号S盒数据输出端分别连接到第M_j号256选1多路选择器的通道选择端和数据输出端。
在实际应用中,本发明由外部功能单元控制和使用,以完成相应的S盒内容初始化和S盒替换功能。本发明完成S盒替换功能时会涉及到如下两种操作:
第一种操作为S盒的内容加载:当首次使用或需要更换S盒的内容时,需要进行S盒内容加载操作。由外部功能单元根据S盒的查找表内容对存储模块中的各个寄存器进行初始化。在本实施例中,初始化过程共需要256个周期完成。当0≤l≤255时,外部功能单元在时钟信号clk的第l个周期内,在地址输入端Addr上给出地址值l,并在数据输入端Data上给出当S盒的输入值为l时对应的输出值S(l),同时在写使能输入端Wr上给出有效信号(低电平),存储模块的内部控制电路则会将输出值S(l)的值写入到第R_l号寄存器中。当256个寄存器全部加载完成后,即完成S盒内容加载过程。完成S盒内容加载后,外部功能单元应将写使能输入端Wr的输入信号置为无效状态。
第二种操作为S盒的替换操作。本实施例支持4个8比特输入、8比特输出S盒的并发操作,当需要进行4个S盒的并行替换操作时,只需将4个S盒的8比特输入数据分别送入到第X0、X1、X2、X3号通道选择输入端,就会分别在第Y0、Y1、Y2、Y3号S盒数据输出端得到对应的4个S盒输出值。因此,本发明能够支持多个S盒的并行替换操作。
本实施例中仅使用一个S盒查找表所需的存储容量就可以支持四个S盒的并行替换操作,与采样多块存储器实现的多个S盒的并发替换操作的电路结构相比,本发明能够有效地减少所需的存储容量,节省硬件成本,同时能够节省存储器的初始化时间;与采用传统的单个S盒查找表方式相比,能够提高数据处理速度。因此,本发明能达到了降低成本、降低加载时间的目的,为后期的实际生产带来有利的经济效益。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种多体并行S盒的电路结构,其特征在于:包括串联连接的存储模块和多路选择器模块,所述的存储模块包括数据输入端Data、地址输入端Addr、写使能输入端Wr和k个数据位宽为m比特的数据输出端,数据输出端与多路选择器模块相连接;所述的多路选择器模块包括有k个数据位宽为m比特的数据输入通道、t个数据位宽为n比特的通道选择输入端、t个数据位宽为m比特的S盒数据输出端,数据输入通道分别与存储模块的数据输出端相连接,通道选择输入端用于接收t个S盒的输入值,S盒数据输出端用于输出t个S盒的输出值, mntk均为正整数,且k≥2 n ;还包括时钟信号输入端口Clk,时钟信号输入端口Clk用于接收外部提供的时钟信号,为整个电路结构提供时钟脉冲信号。
2.根据权利要求1所述的多体并行S盒的电路结构,其特征在于,所述存储模块内设有k个数据位宽为m比特的寄存器和内部控制电路,寄存器的编号依次为:R_0、R_1、……、R_k-1,且R_l号寄存器存放的是当S盒输入值为l时S盒的输出值,其中,l为[0,k-1]之间的整数;R_0、R_1、……R_k-1号寄存器的输出端分别与存储模块的k个数据位宽为m比特的数据输出端相连接。
3.根据权利要求1或2所述的多体并行S盒的电路结构,其特征在于,所述存储模块的数据输入端Data的数据位宽为d比特,用于接收外部输入到存储模块的数据;存储模块的地址输入端Addr的位宽为a比特,用于接收外部提供的地址信号;存储模块的写使能输入端Wr,用于接收外部提供的写使能输入信号,ad为正整数,alog 2 k*m/d ,且dm的整数倍。
4.根据权利要求3所述的多体并行S盒的电路结构,其特征在于,所述存储模块的写使能端Wr有效时,存储模块的内部控制电路把数据输入端Data上的数据写入到地址输入端Addr指定编号的R_l号寄存器中,l为[0,k-1]之间的整数。
5.根据权利要求1所述的多体并行S盒的电路结构,其特征在于,所述的多路选择器模块用于根据多个S盒的输入值从存储模块中并行地选择出多个S盒的相应输出值;多路选择器模块的k个数据位宽为m比特的数据输入通道的编号依次为:D0、D1、……、Dk-1,第Dl号数据输入通道分别与R_l号寄存器的输出端相连接;多路选择器模块的t个数据位宽为n比特的通道选择输入端的编号依次为:X0、X1、……、Xt-1;多路选择器模块的t个数据位宽为m比特的S盒数据输出端的编号依次为:Y0、Y1、……、Yt-1;多路选择器模块包括tk选1多路选择器,k选1多路选择器的编号依次为:M_0、M_1、……、M_t-1;k选1多路选择器的k个多路选择器数据输入端的编号依次为:i0、i1、……、ik-1;
第M_j号k选1多路选择器有数据位宽为m比特的S盒数据输出端Yj、数据位宽为n比特的通道选择输入端Xj和k个数据位宽为m比特的多路选择器数据输入端i0、i1、……、ik-1,其中,0≤ jt-1的整数;每个k选1多路选择器的第il号的多路选择器数据输入端分别与多路选择器模块的第Dl号数据输入通道相连接,l为[0,k-1]之间的整数。
CN201710416133.0A 2017-06-06 2017-06-06 一种多体并行s盒的电路结构 Active CN107222304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710416133.0A CN107222304B (zh) 2017-06-06 2017-06-06 一种多体并行s盒的电路结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710416133.0A CN107222304B (zh) 2017-06-06 2017-06-06 一种多体并行s盒的电路结构

Publications (2)

Publication Number Publication Date
CN107222304A true CN107222304A (zh) 2017-09-29
CN107222304B CN107222304B (zh) 2020-06-26

Family

ID=59947200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710416133.0A Active CN107222304B (zh) 2017-06-06 2017-06-06 一种多体并行s盒的电路结构

Country Status (1)

Country Link
CN (1) CN107222304B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114519200A (zh) * 2022-04-19 2022-05-20 广州万协通信息技术有限公司 实时生成查找表的加密方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080062803A1 (en) * 2006-09-08 2008-03-13 Daniele Fronte System and method for encrypting data
CN102347833A (zh) * 2011-09-22 2012-02-08 东南大学 一种基于ram共享技术的可重构s盒电路结构
CN103490877A (zh) * 2013-09-05 2014-01-01 北京航空航天大学 基于cuda的aria对称分组密码算法并行化方法
CN107204841A (zh) * 2017-03-14 2017-09-26 中国人民武装警察部队工程大学 一种抵御差分功耗攻击的分组密码多s盒实现的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080062803A1 (en) * 2006-09-08 2008-03-13 Daniele Fronte System and method for encrypting data
CN102347833A (zh) * 2011-09-22 2012-02-08 东南大学 一种基于ram共享技术的可重构s盒电路结构
CN103490877A (zh) * 2013-09-05 2014-01-01 北京航空航天大学 基于cuda的aria对称分组密码算法并行化方法
CN107204841A (zh) * 2017-03-14 2017-09-26 中国人民武装警察部队工程大学 一种抵御差分功耗攻击的分组密码多s盒实现的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114519200A (zh) * 2022-04-19 2022-05-20 广州万协通信息技术有限公司 实时生成查找表的加密方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN107222304B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
US6522167B1 (en) User configurable on-chip memory system
US7327597B1 (en) Static random access memory architecture
CN103918032B (zh) 一种在网络设备中进行查表的方法和装置
CN101751980B (zh) 基于存储器知识产权核的嵌入式可编程存储器
MX2010011625A (es) Sistemas y metodos para ahorros de energia dinamica en operacion de memoria electronica.
CN107220187A (zh) 一种缓存管理方法、装置及现场可编程门阵列
CN105814560A (zh) 用于实现高吞吐量键-值存储的存储器设置
US20230238947A1 (en) A dynamic d flip-flop with an inverted output
CN104536913B (zh) 一种基于多块ram的大数运算电路的数据转移方法
CN102866980B (zh) 用于多核微处理器片上互连网络的网络通信胞元
CN109785882A (zh) 具有虚拟体化架构的sram及包括其的系统和方法
CN102508803A (zh) 一种矩阵转置存储控制器
CN106250321B (zh) 2r1w存储器的数据处理方法及数据处理系统
CN108352176A (zh) 使用差分相位混频器提供信号的设备及方法
CN110322008A (zh) 一种基于残差卷积神经网络的量化处理方法及装置
CN102541769B (zh) 一种存储器接口访问控制方法及装置
CN106502580B (zh) 一种深存储器以及测量仪器
CN111045954A (zh) 基于nand-spin的存内计算加速方法
WO2018148918A1 (zh) 存储设备、芯片及存储设备的控制方法
CN110347621A (zh) 与psram存储器连接的fpga及存储系统
CN108139989A (zh) 配备有存储器中的处理和窄访问端口的计算机设备
CN107222304A (zh) 一种多体并行s盒的电路结构
CN103746796A (zh) 一种实现智能卡sm4密码算法的协处理器
CN105553646B (zh) 面向分组密码算法并行计算的可重构s盒电路结构
WO2013097228A1 (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