CN1635731A - 可重构密码协处理器电路 - Google Patents
可重构密码协处理器电路 Download PDFInfo
- Publication number
- CN1635731A CN1635731A CN 200310114562 CN200310114562A CN1635731A CN 1635731 A CN1635731 A CN 1635731A CN 200310114562 CN200310114562 CN 200310114562 CN 200310114562 A CN200310114562 A CN 200310114562A CN 1635731 A CN1635731 A CN 1635731A
- Authority
- CN
- China
- Prior art keywords
- reconfigurable
- module
- data
- circuit
- password
- 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.)
- Pending
Links
- 230000006870 function Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000000034 method Methods 0.000 abstract description 15
- 230000008569 process Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 239000000306 component Substances 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000002904 solvent Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010835 comparative analysis Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明所述的可重构密码协处理器电路,可以实现根据用户需要随机重构密码的协处理器,从而实现多种密码算法间的切换,提高整体系统的适应性和安全性。所述的可重构密码协处理器电路,主要包括有存储模块、控制模块和可重构密码处理单元。所述的可重构密码协处理器电路,具有较大的灵活性,可重构密码协处理器能够实现多种不同的密码算法;具有相当强的适应性,可重构密码协处理器能够实现多种不同的密码算法、不同的密码用户或者同一密码用户在不同的时间段内,选择使用不同的密码算法;具有良好的扩展性,一旦密码算法被攻破或由于其它原因造成密码算法不能继续使用,可以基于可重构密码协处理器设计新的密码算法,以取代原来的密码算法;具有较高的安全性。
Description
技术领域
本发明涉及一种电路方案,具体地是实现可重构密码协处理器的电路设计。
背景技术
目前随着网络信息技术的发展和应用,日常办公和生活越来越依赖于网络环境进行通信和信息共享,因而网络通讯过程中的信息准确传递和进行有效保密成为安全使用网络的重要课题。
密码芯片是构建信息安全产品的关键核心部件,国内外现在广泛使用的密码芯片都是针对特定密码算法设计的专用器件。芯片的体系结构是固定的和不易改变的,所应用的密码算法也是固定不变的。因而存在以下缺点和不足:
1、专用密码芯片在使用过程中仅能实现其特定算法,用户只能使用这种预先确定的密码算法进行加密/解密数据而不能随意更换;
2、专用密码芯片自身适应性差,无法满足不同用户或同一用户对不同密码算法的要求。若需更换算法,则必须更换芯片,这就造成设计成本的提高和延长设计周期;
3、任何密码算法都有被攻破的可能,一旦密码算法被攻破或由于其它原因造成密码算法不能继续使用,则需要升级原有的密码算法,而专用密码芯片则不可能实现升级,因而没有扩展性、安全性较差。
如上所述,密码芯片实现可重构密码算法是解决上述问题的关键因素。但是现有技术中未中在先公开披露,实现可重构密码芯片的电路设计也属空白。
发明内容
本发明所述的可重构密码协处理器电路,其目的即克服上述问题和不足而提供可重构密码协处理器的电路设计,以实现一种可根据用户需要随机重构密码的协处理器,从而实现多种密码算法间的切换,提高整体系统的适应性和安全性。
现有专用密码芯片的电路的逻辑结构和功能是固定不变的,本发明所述的电路的逻辑结构和功能可以改变,通过改变电路配置而可提供不同的密码部件和数据通路,从而支持多种不同密码算法。
所述的可重构密码协处理器电路,主要包括有存储模块、控制模块和可重构密码处理单元。其中,
存储模块,用于存储密码算法程序、种子密钥和待加/解密数据等;
控制模块,用于控制程序的存储和执行;
可重构密码处理单元,用于对数据进行加/解密处理。
所述的可重构密码协处理器电路与外部设备接口主要包括有:
时钟信号端,用于为可重构密码协处理器提供工作时钟;
复位信号端,用于对可重构密码协处理器的内部寄存器赋初值;
程序装载使能信号端,用于将密码程序中的指令逐条、按顺序写入指令存储器中;
程序执行使能信号端,用于启动程序的自动执行过程。当该信号有效时,可重构密码协处理器将自动地从指令存储器中逐条取出指令、加以译码并执行,直至密码程序运行完毕;
数据或密钥装载使能信号端,用于将待加/解密数据或密钥写入数据/密钥缓冲存储器中;
结果传输使能信号端,用于将加/解密结果传输到外部设备中;
处理器状态标志信号端,有效时表明可重构密码协处理器已经完成加/解密处理,可以向外输出处理结果了;
数据输入总线,用于输入指令、数据和密钥;
数据输出总线,用于输出加/解密结果;
其它信号端,用于其它必要的控制功能或数据传输功能。
所述可重构密码协处理器电路的存储模块,主要包括有指令存储器、数据/密钥缓冲存储器、以及专用或通用寄存器。其中,
指令存储器,用来保存加密或解密程序,它具有一个写端口和一个读端口。
写端口,用于将密码程序由外部写入到可重构密码协处理器内部的指令存储器中。为了减少可重构密码协处理器的外部引脚数,指令存储器写端口的数据宽度可以比指令长度低。这样可重构密码协处理器的一条指令可能需要分多次才能写入到指令存储器中。由于密码程序装载操作只发生在密码算法初建或更新的时刻,而通常一个密码算法能够保持一个较长的时间不变,在这段时间内只需进行一次密码程序装载操作,因此它所花费的时间长一点无关紧要。
读端口,用于读出保存在指令存储器内的指令,经过译码后控制加/解密过程的执行。通常将指令存储器读端口的数据宽度定义为指令长度,这样能够保证每个时钟周期读取一条指令执行,有效地加快了加/解密的处理速度。
数据/密钥缓冲存储器,用来保存种子密钥和待加/解密的数据,通常可以设计成先进先出的队列形式(FIFO)。其写入端口接外部数据输入总线,输出端口接可重构密码处理单元。输入端口和输出端口的数据宽度可以不同。
为了进一步节省可重构密码协处理器的外部引脚数,数据/密钥缓冲存储器和指令存储器可以共享同一条数据输入总线。由于密码程序装载操作只发生在密码算法初建或更新的时刻,而在其余时间内只进行数据装载操作,因此共享数据输入总线不会影响数据传输速率。
专用或通用寄存器,用于保存一些专门数据或中间计算结果。
所述可重构密码协处理器电路的控制模块,主要包括指令/数据装载控制逻辑模块、程序执行控制逻辑模块和指令译码逻辑模块。
指令/数据装载控制逻辑模块,用于将密码程序中的指令或数据按顺序装载到指令存储器中或数据/密钥缓冲寄存器中。
程序执行控制逻辑模块,用于控制可重构密码协处理器自动地、不断地从指令存储器中取出指令、进行译码并加以执行,直至所有指令执行完毕。主处理器只需对可重构密码协处理器发出一个控制信号,就可以启动指令自动执行过程,然后在整个过程中不再需要主处理器的干预,这大大减少了主处理器的控制开销和可重构密码协处理器访问外部设备的开销,提高了加/解密的处理速度。指令自动执行过程结束以后,可重构密码协处理器将给出标志信号,主处理器在收到标志信号后,就可以驱动可重构密码协处理器进行新的操作了。
指令译码逻辑模块,用于对指令进行分析,确定指令中所包含的操作,并给出相应的控制信号,驱动相应的模块完成所需的操作。
所述可重构密码协处理器电路的可重构密码处理单元,主要包括有若干个基本功能模块、以及内部互联网络模块。其中,
基本功能模块,用于实现密码算法所需要的基本操作。主要具有以下3种类型,即密码运算模块、通用算术逻辑模块、通用寄存器模块。
内部互联网络模块,用于实现不同密码运算模块之间的数据传送。
为了提高可重构密码处理单元的灵活性,许多基本功能模块的功能和模块之间的数据传输路径都是可配置的,即可以通过指令来灵活设置基本模块的功能和模块之间的数据传输路径,从而可以通过编程来灵活地实现不同的密码算法。
针对所述可重构密码处理单元,其内含的密码运算模块主要是能够被不同的密码算法频繁使用的密码运算模块。这主要是为了提高系统性能和处理速度。
通过对DES、IDEA、AES等50余种典型密码算法的对比分析,下述密码运算在不同密码算法中出现的频率很高,如:异或、移位、置换、S盒代替、模乘/加运算、反馈移位运算等。
所述的密码运算模块,主要是指实现这些使用频率高的密码运算的基本功能模块。
所述可重构密码处理单元还设置有通用计算模块,如算术逻辑运算模块等,以便处理那些特殊的、使用频率不高的密码运算。
所述可重构密码处理单元还设置有通用寄存器,比如寄存器堆等,以实现保存工作子密钥和中间计算结果。
所述可重构密码处理单元的同一类型的基本功能模块可以设置有多个,以实现在密码算法中多个相同类型基本操作可以同时进行,以提高加/解密的处理速度。
所述可重构密码处理单元的基本功能模块,每一个基本功能模块所实现的具体操作功能的个数应尽可能的多,这样可使每一个基本功能模块能够尽可能多的被不同的密码算法重复使用。如下表所述是部分常用基本功能模块的功能定义:
序号 | 名称 | 功能定义 |
1 | n位异或运算模块 | 实现n位数据的逐位异或运算。 |
2 | n位移位模块 | 实现n位数据的循环左移、循环右移、逻辑左移、逻辑右移4种移位操作,而且移位的位数在1~n之间任意可变。 |
3 | n×m置换模块 | 实现其n位输入变量到m位输出变量的所有的选择变换,即任何一个输出可以选择任何一个输入。 |
4 | n×mS盒模块 | 能够实现F2 n→F2 m的所有的代替函数,即任何一个输出变量是所有输入变量的任意的布尔逻辑函数。 |
5 | n位线性反馈移位寄存器 | 级数在2~n之间可变,反馈抽头数在2~n之间可变,每个反馈抽头可以选择n个寄存器的任意一个,能够实现任意的线性反馈函数。 |
6 | n位逻辑运算模块 | 实现n位数据的与、或、非逻辑运算。 |
7 | n位比较模块 | 实现n位数据的比较运算,给出大于、等于、小于、大于等于、小于等于比较结果标识。 |
8 | n位加法器 | 实现n位数据的加法和减法。 |
9 | n位乘法器 | 实现n位数据的乘法。 |
10 | n位除法器 | 实现n位数据的除法,结果给出商和余数。 |
11 | n位模多项式乘法器 | 实现GF(2n)上的多项式的模乘运算,其中模多项式的系数是任意的。 |
12 | 寄存器堆 | 任何模块的结果都可以保存在寄存器堆中的任何一个寄存器中,有多个写入端口和多个读出端口,可以同时进行多个写操作和读操作。 |
为实现上述某一个基本功能模块实现具体操作功能尽可能多,在所述的基本功能模块中设置若干个可控节点,通过指令界面对可控节点赋以不同的控制编码,可实现不同的操作功能。
所述可控节点的控制编码通常被保存在寄存器中,通过指令改写寄存器的值,就可以改变电路所实现的具体功能。控制编码通常被称为配置文件,而保存配置文件的寄存器通常被称为配置文件寄存器。
如上所述,基本功能模块所实现的具体操作功能越多,则可重构密码协处理器的灵活性就越大、所支持的密码算法就越多。但是,电路的灵活性和规模是密切相关的,灵活性越大则规模越大。在设计所述电路时,还需在电路的灵活性和规模之间做一个折衷选择。
所述可重构电路模块的规模,通过所需控制编码的位数来衡量。因为所需控制编码的位数越多,则意味电路中需要设置的可控节点数量越多,电路规模就越大。
下面对几种典型的基本功能模块的灵活性和所需控制编码的规模进行定量分析。
定理1,设一个n位的移位模块能够实现循环左移、循环右移、逻辑左移、逻辑右移4种移位操作,而且移位的位数在1~n之间任意可变,则该移位模块需要2+[log2n]位二进制控制编码,而且其能够实现的移位变换的个数为4n。推理过程如下,
该移位模块要实现的移位操作类型有4种不同的情况,移位位数有n种不同的情况,因此该移位模块能够实现4n种不同的移位变换,就需要[log24n]=2+[log2n]位二进制控制编码。
如一个128位的移位模块需要9位控制编码,能够实现512个不同的移位变换。
定理2,设一个n×m置换模块能够实现其输入变量到输出变量的所有的选择变换,则该置换模块需要m[log2n]位控制编码,能够实现nm个不同的选择变换。推理过程如下,
当且仅当,n×m置换模块的每个输出的选择状态都确定以后,其所实现的选择变换才能确定。因为每个输出可选择n个输入中的任何一个,因此,每个输出有n种不同的选择状态,又因为共有m个输出,根据乘法法则,该置换模块能够实现n×n×...×n=nm个不同的选择变换。为表示这nm个不同的选择变换,就需要[log2nm]=m[log2n]位二进制控制编码。
如一个64×64的置换模块需要384位控制编码,能够实现6464≈3.94×10115个不同的选择变换。显然,循环移位变换是一种特殊的选择变换,因此,一个n×n置换模块能够实现字长小于或等于n的任意的循环移位变换。
定理3,设一个n×mS盒能够实现F2 n→F2 m的所有的代替函数,则该S盒需要m2n位可控编码,而且其能够实现的代替函数的个数为2的m*2n次方。推理过程如下:
当且仅当,F2 n中的所有向量元素所对应的F2 m中的向量元素确定以后,才能确定F2 n→F2 m的一个特定的代替函数。F2 n中的每个向量元素可以选择F2 m中的任何一个向量元素作为它的映像,而F2 m中有2m个向量元素,因此F2 n中的每个向量元素有2m个不同的选择方式确定其映像,又因为F2 n中有2n个向量元素,所以,根据组合数学中的乘法法则,共有2m×2m×...×2m(2n个2m相乘)=2的m*2n次方个F2 n→F2 m的代替函数,为了表示这些不同的代替函数,需要[log2(2的m*2n次方)]=m2n位二进制控制编码。
如一个8×8的S盒需要8×28=2048位控制编码,能够实现2的8*28次方22048≈3.23*10616个不同的代替函数。由定理3可见,n×mS盒所需的控制编码宽度m2n随输入个数n的增加而按指数级增长,其增长速度是惊人的,例如6×4的S盒需要256位控制编码,8×8的S盒需要2048位控制编码,而9×9的S盒则需要4608位控制编码,所以S盒的输入和输出数不能太大,否则,会造成规模和控制编码的宽度太大而难以实现。
所述可重构密码处理单元的内部互联网络模块,是实现可重构密码处理单元的基本功能模块之间的数据传输。保证互联网络模块的连通性、数据传输效率、规模等特性,对可重构密码处理单元的灵活性和扩展性、性能、规模具有至关重要的意义。
互联网络的连通性,在很大程度上决定了对于利用基本密码运算模块构建密码算法所能够提供的支持程度。这是因为,可重构密码处理单元所实现的任何一个密码算法都是由基本功能模块以某种组合方式和连接关系构成的。如果一个互联网络是连通的,则可以以任意的组合方式、任意的连接关系使用基本功能模块,从而使可重构密码处理单元实现最多的密码算法。反之,如果一个互联网络模块不是连通的,则基本功能模块的某些组合方式和连接关系不能实现,就无法使用这些组合方式和连接关系构造算法,从而使得可重构密码处理单元所能够适应的算法减少。
所以,可重构密码处理单元的互联网络模块的首要设计原则是满足连通性。
所述网络模块具有3个特征参数,即:引脚数(pins)、线网数(nets)、以及多路开关数量。其中,
引脚数(pins)和线网数(nets)越多,则连线所占的硅片的面积越大、线延迟越大、布局布线的难度也越大;开关数量越多,则连接网络所占的规模越大、数据传输路径的延时就越大、需控制的可控节点就越多。
数据传输效率和网络规模是相互矛盾的,一般来说数据传输效率越高,则网络规模越大,而网络规模越小,则数据传输效率越低。
因此,在设计可重构密码处理单元的内部互联网络时应综合考虑上述各个因素。首先满足连通性,然后在满足一定规模约束的条件下,尽可能达到最大的数据传输效率。
所述可重构密码处理单元的内部互联网络模块,具有4种结构类型:全互联结构、单总线结构、多总线结构,局部总线与全局总线相结合的结构。
所谓全互联结构,是指互联网络中的任意两个基本功能模块都直接相连,即任一基本功能模块的输出直接连接到所有基本功能模块的所有输入端口,或者说任一基本功能模块的任一输入端口直接与所有的基本功能模块的输出相连。全互联结构的互联网络,具有连通性和很高的数据传输效率,但其网络规模随基本功能模块个数增长的速度很快。因此在基本功能模块个数较多的情况下不宜采用。
所谓单总线结构,是指互联网络中的任意基本功能模块的输出都连接到一条数据总线,而所有的基本功能模块的输入也都来自于这条数据总线。单总线结构的互联网络具有连通性和很小的规模,但其数据传输效率也很低。
所谓多总线结构,是指互联网络中的所有基本功能模块的输出连接到多条独立的数据总线上,而所有的基本功能模块的输入也来自于这些数据总线。多总线结构的互联网络具有连通性、较高的数据传输效率和可以接受的网络规模,因此是可重构密码处理单元互联网络的比较理想的结构模式。
所谓局部总线与全局总线相结合的结构,是指在局部范围内设置局部总线,负责该局部范围内的所有的基本功能模块之间的数据传输,而在全局范围内设置全局总线,负责不属于同一局部范围的基本功能模块之间的数据传输。局部总线与全局总线相结合的结构的互联网络具有连通性、较高的数据传输效率和较小的网络规模,也是可重构密码处理单元互联网络的常用的结构模式。
以上即是本发明所述的可重构密码协处理器电路的主要设计内容。
如上所述,应用本发明所述电路设计方案具有以下优点和有益效果:
1、具有较大的灵活性,可重构密码协处理器能够实现多种不同的密码算法,用户可以很方便地随时更换算法而不必更换芯片;
2、具有相当强的适应性,可重构密码协处理器能够实现多种不同的密码算法、不同的密码用户或者同一密码用户在不同的时间段内,可选择使用不同的密码算法;
3、具有良好的扩展性,一旦密码算法被攻破或由于其它原因造成密码算法不能继续使用,可以基于可重构密码协处理器设计新的密码算法,以取代原来的密码算法;
4、具有较高的安全性,可重构密码协处理器在芯片设计和生产过程中不含有特定的密码算法,所实现的密码算法是由密码用户在使用之前通过编程确定的,因此在设计和生产过程中不存在算法泄漏的隐患。另外,用户也可以随时更换算法,使密码攻击的难度增加,提高了密码系统的安全性。
附图说明
图1是本发明所述的可重构密码协处理器电路的总体结构示意图。
图2是所述的存储模块结构示意图。
图3是所述的控制模块结构示意图。
图4是所述的可重构密码处理单元结构示意图。
图5是所述的实现不同逻辑函数的可重构逻辑电路实例示意图。
图6是所述的实现不同连接关系的可重构逻辑电路实例示意图。
图7是所述的全互联结构的互联网络模块示意图。
图8是所述的单总线结构的互联网络模块示意图。
图9是所述的多总线结构的互联网络模块示意图。
图10是所述的局部总线与全局总线相结合的互联网络模块示意图。
具体实施方式
如图1-图4所示,本发明所述的可重构密码协处理器电路,主要包括有存储模块、控制模块和可重构密码处理单元。其中,
所述的存储模块,包括指令存储器、数据/密钥缓冲寄存器和指令条数寄存器。具体地,
指令存储器的存储容量为256个208位的指令字,即6.5K字节。指令存储器写端口的数据宽度为8位,读端口的数据宽度定为208位。
数据/密钥缓冲寄存器是一个128位的寄存器,其输入端口的数据宽度为8位,输出端口的数据宽度为64位。
指令条数寄存器是一个12位的寄存器,用来保存密码程序中所含的指令的条数,该数据参与控制程序装载操作的结束,其输入端口的数据宽度为8位,输出端口的数据宽度为12位。
指令存储器、数据/密钥缓冲寄存器和指令条数寄存器共享同一条数据输入总线,数据输入总线宽度为8位。
所述的控制模块,包括指令装载控制逻辑模块、程序执行控制逻辑模块和指令译码逻辑模块。具体地,
指令装载控制逻辑模块,用于产生指令存储地址,以便将指令按顺序装载到指令存储器中。
程序执行控制逻辑模块,用于产生指令的读使能信号和地址,以控制可重构密码协处理器自动地、不断地从指令存储器中取出指令。
指令译码逻辑模块,用于对指令进行分析,确定指令中所包含的操作,并给出相应的控制信号,驱动相应的模块完成所需的操作,指令长度为208位。
所述可重构密码处理单元的基本功能模块,其名称、功能和数量如下表所示:
序号 | 名 称 | 功 能 | 数量 |
1 | 16位异或运算器 | 实现16位数据的逐位异或运算。 | 4 |
2 | 28位循环左移模块 | 能对28位数据进行循环左移1位或2位的操作。 | 2 |
3 | 32位移位模块 | 能对32位数据进行逻辑左移、逻辑右移、循环左移、循环右移任意n(n≤32)位的操作。 | 1 |
4 | 128位移位模块 | 能对128位数据进行逻辑左移、逻辑右移、循环左移、循环右移任意n(n≤128)位的操作。 | 1 |
5 | 32*32置换模块 | 能够实现32位输入到32位输出的任意的置换。 | 2 |
6 | 64*32置换模块 | 能够实现64位输入到32位输出的任意的置换。 | 1 |
7 | 64*64置换模块 | 能够实现64位输入到64位输出的任意的置换。 | 2 |
8 | 8*8S盒模块 | 能够实现8位输入到8位输出的任意的变换。 | 8 |
9 | 32位线性反馈移位寄存器 | 级数在2~32之间可变,反馈抽头数在2~6之间可变,每个反馈抽头可以选择32个寄存器的任意一个,能够实现2~6个反馈抽头的任意的线性反馈函数。 | 3 |
10 | 16位逻辑运算模块 | 实现16位数据的与、或、非逻辑运算。 | 1 |
11 | 16位比较模块 | 实现16位数据的比较运算。 | 1 |
12 | 模216加法器 | 实现16位模216加法和减法。 | 2 |
13 | 模216+1乘法器 | 实现16位模216+1乘法。 | 2 |
14 | 模216+1乘法逆模块 | 求16位整数的模216+1乘法逆。 | 1 |
15 | 模232乘法器 | 实现32位模232乘法。 | 1 |
16 | 8位模多项式乘法器 | 能够实现GF(28)上的多项式的模乘运算,其中模多项式是可变的。 | 8 |
17 | 16*16寄存器堆 | 保存工作子密钥和中间结果,由16个16位的寄存器组成。 | 8 |
18 | 16位内部数据总线 | 用于各个模块之间的数据传输。 | 8 |
19 | 64位输入寄存器 | 暂存待加/解密数据或者种子密钥。 | 1 |
20 | 128位结果寄存器 | 保存加/解密结果数据。 | 1 |
如图5所示,所述的可重构逻辑电路中,AND2表示2输入与门,AND3表示3输入与门,OR2表示2输入或门,NOT表示非门,A、B、C、D是4个输入变量,F是输出变量。
在上述电路中设置了2个可控节点,其控制信号分别记为CTRL1和CTRL2。通过对CTRL1和CTRL2赋以不同的值,就可以改变上述电路的逻辑功能,实现不同的逻辑函数。
下表即给出当CTRL1和CTRL2取不同的值的时候,上述电路所实现的函数关系。
CTRL1 | CTRL2 | 函数关系 |
0 | 0 | F=0 |
0 | 1 | F=-D(“-”表示取反) |
1 | 0 | F=ABC |
1 | 1 | F=ABC+-D |
如上表和图5所述的该可重构逻辑电路实现的功能表示达如下:
RELOG_FUNC=CTRL1·ABC+CTRL2·-D。
如图6所示,实现不同连接关系的可重构逻辑电路中,部件A和B的输出经过MUX选通后进入C部件,作为C部件的输入,其中MUX就是一个可控节点,通过对这个可控节点的控制就可以实现A=>C和B=>C两种不同的连接关系。
其功能表达式是:RELOG_FUNC=-M·(A*C)+M·(B*C)。其中,A*C表示A的输出连接到C的输入。
如图9所示,所述的可重构密码处理单元的内部互连网络模块,采用多总线结构,共有8条相互独立的内部数据总线,宽度为16位。可重构密码处理单元中的任何两个模块都通过内部数据总线连接,因此,任何两个模块之间都可以进行数据传输,而且在同一时刻,可重构密码处理单元内部的数据传输宽度可以达到128位数据,即可以同时对128位数据进行处理。
该可重构密码协处理器的结果输出总线的数据宽度为8位。
Claims (9)
1、一种可重构密码协处理器电路,其特征在于:所述电路主要包括有存储模块、控制模块和可重构密码处理单元,所述电路与外部设备接口主要包括有时钟信号端、复位信号端、程序装载使能信号端、程序执行使能信号端、数据或密钥装载使能信号端、结果传输使能信号端、处理器状态标志信号端、数据输入总线和数据输出总线。
2、根据权利要求1所述的可重构密码协处理器电路,其特征在于:所述的存储模块主要包括有指令存储器、数据/密钥缓冲存储器、以及专用或通用寄存器。
3、根据权利要求2所述的可重构密码协处理器电路,其特征在于:所述的指令存储器具有一个写端口和一个读端口。
4、根据权利要求2所述的可重构密码协处理器电路,其特征在于:所述的数据/密钥缓冲存储器,其结构是先进先出的队列形式(FIFO);而且所述的数据/密钥缓冲存储器和指令存储器共享同一条数据输入总线。
5、根据权利要求1或4所述的可重构密码协处理器电路,其特征在于:所述的控制模块,主要包括指令/数据装载控制逻辑模块、程序执行控制逻辑模块和指令译码逻辑模块。
6、根据权利要求1或4所述的可重构密码协处理器电路,其特征在于:所述的可重构密码处理单元,主要包括有若干个基本功能模块、以及内部互联网络模块。
7、根据权利要求6所述的可重构密码协处理器电路,其特征在于:所述的基本功能模块类型有密码运算模块、通用算术逻辑模块和通用寄存器模块。
8、根据权利要求7所述的可重构密码协处理器电路,其特征在于:基本功能模块中设置若干个可控节点,所述可控节点的控制编码(即配置文件)被保存在配置文件寄存器中,可用指令改写配置文件寄存器的值。
9、根据权利要求6所述的可重构密码协处理器电路,其特征在于:所述的内部互联网络模块的结构类型包括全互联结构、单总线结构、多总线结构、局部总线与全局总线相结合的结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310114562 CN1635731A (zh) | 2003-12-27 | 2003-12-27 | 可重构密码协处理器电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310114562 CN1635731A (zh) | 2003-12-27 | 2003-12-27 | 可重构密码协处理器电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1635731A true CN1635731A (zh) | 2005-07-06 |
Family
ID=34843451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200310114562 Pending CN1635731A (zh) | 2003-12-27 | 2003-12-27 | 可重构密码协处理器电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1635731A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
CN102043916A (zh) * | 2010-12-01 | 2011-05-04 | 戴葵 | 一种高性能可扩展公钥密码协处理器结构 |
CN101291228B (zh) * | 2008-06-18 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种超级密码的生成、认证方法和系统、设备 |
CN102750127A (zh) * | 2012-06-12 | 2012-10-24 | 清华大学 | 一种协处理器 |
CN103297223A (zh) * | 2013-05-07 | 2013-09-11 | 北京航空航天大学 | 基于动态可重构的自恢复容错aes结构及其加密方法 |
CN101996155B (zh) * | 2009-08-10 | 2014-01-29 | 北京多思科技发展有限公司 | 支持多种指令体系的处理器 |
CN105117370A (zh) * | 2015-09-18 | 2015-12-02 | 芯佰微电子(北京)有限公司 | 一种多协议密码算法处理器及片上系统 |
CN106021171A (zh) * | 2016-05-06 | 2016-10-12 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统 |
CN110611565A (zh) * | 2019-08-07 | 2019-12-24 | 浙江省北大信息技术高等研究院 | 数据处理系统、方法及电子设备 |
CN113055165A (zh) * | 2021-03-11 | 2021-06-29 | 湖南国科微电子股份有限公司 | 一种非对称密码算法装置、方法、设备及存储介质 |
-
2003
- 2003-12-27 CN CN 200310114562 patent/CN1635731A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291228B (zh) * | 2008-06-18 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种超级密码的生成、认证方法和系统、设备 |
CN101996155B (zh) * | 2009-08-10 | 2014-01-29 | 北京多思科技发展有限公司 | 支持多种指令体系的处理器 |
CN101826142B (zh) * | 2010-04-19 | 2011-11-09 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
CN101826142A (zh) * | 2010-04-19 | 2010-09-08 | 中国人民解放军信息工程大学 | 一种可重构椭圆曲线密码处理器 |
CN102043916A (zh) * | 2010-12-01 | 2011-05-04 | 戴葵 | 一种高性能可扩展公钥密码协处理器结构 |
CN102043916B (zh) * | 2010-12-01 | 2012-10-03 | 戴葵 | 一种高性能可扩展公钥密码协处理器结构 |
CN102750127B (zh) * | 2012-06-12 | 2015-06-24 | 清华大学 | 一种协处理器 |
CN102750127A (zh) * | 2012-06-12 | 2012-10-24 | 清华大学 | 一种协处理器 |
CN103297223A (zh) * | 2013-05-07 | 2013-09-11 | 北京航空航天大学 | 基于动态可重构的自恢复容错aes结构及其加密方法 |
CN103297223B (zh) * | 2013-05-07 | 2017-06-06 | 北京航空航天大学 | 基于动态可重构的自恢复容错aes装置及其加密方法 |
CN105117370A (zh) * | 2015-09-18 | 2015-12-02 | 芯佰微电子(北京)有限公司 | 一种多协议密码算法处理器及片上系统 |
CN105117370B (zh) * | 2015-09-18 | 2018-07-03 | 芯佰微电子(北京)有限公司 | 一种多协议密码算法处理器及片上系统 |
CN106021171A (zh) * | 2016-05-06 | 2016-10-12 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统 |
CN110611565A (zh) * | 2019-08-07 | 2019-12-24 | 浙江省北大信息技术高等研究院 | 数据处理系统、方法及电子设备 |
CN113055165A (zh) * | 2021-03-11 | 2021-06-29 | 湖南国科微电子股份有限公司 | 一种非对称密码算法装置、方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105703765B (zh) | 基于dram的可重构装置 | |
JP5112325B2 (ja) | 参照テーブルアドレス指定システム及び方法 | |
US9396161B2 (en) | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture | |
US8666064B2 (en) | Endecryptor capable of performing parallel processing and encryption/decryption method thereof | |
US7221763B2 (en) | High throughput AES architecture | |
US8356161B2 (en) | Adaptive processor for performing an operation with simple and complex units each comprising configurably interconnected heterogeneous elements | |
ES2300633T3 (es) | Coprocesador canalizado. | |
US8533431B2 (en) | Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements | |
EP2661834B1 (en) | A design of a good general-purpose hash function with limited resources | |
US20070294511A1 (en) | Programmable Processor Architecture | |
JP2019207393A (ja) | 高性能認証付き暗号に関するハードウェアアクセラレータ及び方法 | |
CN1635731A (zh) | 可重构密码协处理器电路 | |
CN1290069C (zh) | 分组加密/解密的方法及设备 | |
US20050240764A1 (en) | Apparatus and method for performing RC4 ciphering | |
WO2003077119A1 (en) | Hardware implementation of the secure hash standard | |
US20070198901A1 (en) | Configurable interface for connecting various chipsets for wireless communication to a programmable (multi-)processor | |
US7693928B2 (en) | Galois field linear transformer trellis system | |
CN101304312B (zh) | 一种适用于精简指令集处理器的加密单元 | |
JP4654731B2 (ja) | 集積回路装置および信号処理装置 | |
CN117792730A (zh) | 一种嵌入式系统中基于指令集的对称加密方法 | |
CN110336658B (zh) | 基于aes算法的加密方法、用户设备、存储介质及装置 | |
CN100350378C (zh) | 用于并行访问多个存储器模块的方法和设备 | |
JP2003108435A (ja) | ユーザによりプログラム可能なアドレス指定モードを有するシステム及びその方法 | |
US20030054774A1 (en) | Method and system for managing hardware resources to implement system acquisition using an adaptive computing architecture | |
US8122190B1 (en) | Method and system for reconfigurable memory-based permutation implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |