基于Ⅱ型最优正规基的椭圆曲线密码协处理器的制作方法

文档序号:7700201阅读:157来源:国知局
专利名称:基于Ⅱ型最优正规基的椭圆曲线密码协处理器的制作方法
技术领域
本发明涉及通信技术领域,更进一步涉及信息安全领域中一种基于II型最优正规基的椭圆曲线密码协处理器。本发明的椭圆曲线密码协处理器可用于在嵌入式设备中提供椭圆曲线数字签名生成/验证、椭圆加密方案加/解密、椭圆曲线密钥对生成、椭圆曲线密钥对交换和AES-U8加解密安全服务。
背景技术
目前,椭圆曲线密码协处理器有两类,一类是由协处理器完成椭圆曲线算术运算, 主处理器完成椭圆曲线密码协议的其它运算;另一类是由协处理器完成椭圆曲线密码协议的所有运算,主处理器只负责对协处理器的数据读写操作。上海迪申电子科技有限责任公司提出的专利申请“一种新型椭圆曲线密码协处理器”(专利申请号:200510025913.x ;公开号=CN 1700637A),属于第一类协处理器,即由协处理器只完成椭圆曲线算术运算,主处理器完成椭圆曲线密码协议的其它运算。该协处理器存在的不足是,主处理器和协处理器需要进行多次数据交换,从而使实现的椭圆曲线密码系统的运算速度下降。清华大学研制的高速椭圆曲线密码协处理器THECC/233-100,是采用第二类椭圆曲线密码协处理器,即由协处理器完成椭圆曲线密码协议的所有运算,主处理器只负责对协处理器的数据读写操作。该协处理器只能完成椭圆曲线数字签名与验证功能,而面对嵌入式设备要求协处理器能够提供更为丰富的安全功能时,比如数字签名、公钥加密、密钥对交换、密钥对生成和对称加密,这种协处理器显然不能满足这种需求。椭圆曲线密码协处理器的运算性能不仅与其设计结构有关,还取决于椭圆曲线点乘运算的算法以及椭圆曲线点乘运算所基于的有限域。目前,在点乘算法中,Montgoment点乘算法较其它几种点乘算法的运算速度要快,在有限域中,Π型最优正规基域运算的速度要优于素数域运算的速度和二进制多项式基域运算的速度。北京天一集成科技有限公司提供的一款型号为SSX32-A的高速椭圆曲线密码算法芯片,该芯片虽然能够提供丰富的安全功能服务,但是其点乘运算所依赖的有限域运算采用了素数域,使得其运算速度下降。

发明内容
本发明的目的在于克服上述现有技术的不足,给出一种基于II型最优正规基的椭圆曲线密码协处理器。该椭圆曲线密码协处理器可以完成椭圆曲线密码协议的所有运算, 提供椭圆曲线数字签名/验证、椭圆曲线公钥加/解密、椭圆曲线密钥对生成、椭圆曲线密钥对交换和AES-U8加解密安全服务,满足嵌入式设备各种安全需求。本发明包括七个部分,分别是对外接口电路、存储单元、多路数据选择器组、外部指令译码器、内部指令译码器、控制单元和运算单元。其中所述的对外接口电路用于协处理器和主处理器之间的数据传输;其数据总线、地址总线和读写信号线与多路数据通路选择器组相连接。所述的存储单元由寄存器组和RAM组成,寄存器组用来存储外部指令、内部指令、 椭圆曲线参数和运算单元的运算结果,RAM用来存储AES-U8加/解密数据和椭圆曲线数字签名消息;存储单元与多路数据选择器组、外部指令译码器、内部指令译码器和运算单元相连接。所述的多路数据选择器组在外部指令译码器的输出信号的控制下,选通外部指令对应的密码功能运算所需的数据通路,在接口电路的地址总线的控制下,为接口电路选通读写RAM的数据通路;多路数据选择器组与接口电路、存储单元、外部指令译码器和运算单元相连接。所述的外部指令译码器用来对外部指令进行译码,控制协处理器执行外部指令所对应的密码功能运算,外部指令译码器的输出信号用来控制多路数据选择器组和控制单元;外部指令译码器与控制单元、寄存器组的外部指令寄存器和多路数据通路选择器组相连接。所述的内部指令译码器用于对内部指令进行译码,内部指令译码器的输出信号控制寄存器组输出数据给运算单元、读取运算单元的运算结果、修改外部指令寄存器的值和输出协处理器的中断信号;内部指令译码与寄存器组的内部指令寄存器和寄存器组相连接。所述的控制单元由八个控制状态机组成,包括椭圆曲线数字签名生成控制状态机、椭圆曲线数字签名验证控制状态机、椭圆曲线加密方案加密控制状态机、椭圆曲线解密方案解密控制状态机、椭圆曲线密钥对交换控制状态机、椭圆曲线密钥对生成控制状态机、 AES-128加密控制状态机和AES-U8解密控制状态机;控制单元用于控制存储器单元和运算单元协同实现椭圆曲线密码协处理器的八个密码功能运算;控制单元与多路数据选择器组、外部指令译码器和运算单元相连接。所述的运算单元由八个运算模块组成,包括随机数生成运算模块、椭圆曲线点乘运算模块、椭圆曲线点加运算模块、KDF运算模块、HMAC运算模块、AES-128运算模块、 SHA-256运算模块和集成素数域运算模块;存储单元中的RAM经多路数据通路选择器组给运算模块输入数据,运算单元与存储单元、控制单元和多路数据通路选择器组相连接。与现有技术相比本发明具有以下优点第一,由于本发明可以完成椭圆曲线密码协议的所有运算,主处理器只负责对其进行数据读写操作,因此,使用方便,不占用嵌入式主处理器的运算资源。第二,由于本发明椭圆曲线点乘运算所依赖的有限域采用了 II型最优正规基域, 点乘运算采用了一种改进的Montgoment点乘算法,使得实现的椭圆曲线密码协处理器的运算速度得到较大幅度的提高。第三,由于本发明的椭圆曲线密码协处理器能够提供八种密码功能运算服务,能够满足嵌入式设备的多种安全需求。


图1为本发明的结构方框图;图2为本发明双端口 RAM的接口控制电路电原理图3为本发明内部指令寄存器与译码器的接口控制电路原理图;图4为本发明的运算单元的接口控制电路原理图。
具体实施例方式以下结合附图,对本发明作进一步的说明。附图1中的接口电路的有15位的地址总线、16/32位可配置的数据总线、片选信号nGCS、读使能信号nOE、写使能信号nWE、数据总线配置信号mod、配置16位数据总线时输入数据的高低位输入使能信号nLOW、系统复位信号nRST、系统时钟CLK和中断返回信号 nDONE。当片选信号nGCS低有效时,每读/写一组32位数据或16位数据时,在mod信号给高时,接口被配置为32位宽,在mod信号为低时,接口配置成16位总线形式。在mod为低的16位总线模式下,需要考虑nLOW信号,因为协处理器内部所有存储单元都最低都是32 位,因此在这种模式下对任何一个地址读写数据都需要2个写/读周期,每次16位,规定 先写高16位,此时置nLOW为高,再写低16位,此时置nLOW为低,并且高16位和低16位的读写过程中不允许插入其它读写操作。附图1中的存储单元由寄存器组和RAM组成,寄存器组用来存储外部指令、内部指令、椭圆曲线参数和运算单元的运算结果,RAM用来存储AES-U8加/解密数据和椭圆曲线数字签名的消息,RAM的数据总线、地址总线和写信号线与多路数据选择器组相连接;寄存器组的数据总线、地址总线和读写信号线与接口电路输入的数据总线、地址总线和读写信号线相连接;寄存器组的外部指令寄存器的输出与外部指令译码器相连接;寄存器组的内部指令寄存器的输出与内部指令译码器相连接;寄存器组的内部指令寄存器的输入与数据通路选择器相连接;寄存器组的参数寄存器的输出与运算单元的输入相连接;寄存器组的其它输入数据总线与运算单元的输出相连接。存储器单元的双端口 RAM的地址总线为14 位,数据总线为32位,地址为4H,0000 4H,3FFF,每个地址对应的存储空间为32bit,一次最大为65536个字节,即512K,存储器单元的寄存器组的地址总线为15位,数据总线为 32位,内部多数为191位的寄存器,内存地址为4H,4000 4H,40AB,每个地址对应的存储空间为32bit。其中,外部指令寄存器的地址为4H,4000 ;参数寄存器的存地址为4001 408D ;寄存器组还包括内部指令寄存器,是一个6位宽的寄存器,不可读写。外部指令寄存器位宽为32位,如下给出了外部指令寄存器存储的值和对应的协处理器的密码功能运算及其说明8H,0000,0000空操作,空闲。
8H,χχχχ,ΟΟΟΙ椭圆曲线数字签名生成功能运算
8H,χχχχ,0002椭圆曲线数字签名验证功能运算
8H,0000,0003椭圆曲线加密方案加密功能运算
8H,0000,0004椭圆曲线加密方案解密功能运算
8H,0000,0005椭圆曲线密钥对交换功能运算
8H,χχχχ,0006:AES-128加密功能运算
8H,χχχχ,0007:AES-128解密功能运算
8H,0000,0008 椭圆曲线密钥对生成其中高十六位“XXXX”表示RAM中存储的消息的字节数,低16位中0_3位用于写命令,第4位为返回的椭圆曲线数字签名验证的结果标识(“1”接受,“0”拒绝),第五位为椭圆曲线加密方案解密的结果标识(“1”接受,“0”拒绝)。附图1中的多路数据选择器组是由多个多路数据选择器组成,受接口电路的地址总线的输入、外部指令译码器的译码结果和控制单元控制,根据指令译码结果选择外部指令对应的密码功能运算所需的数据通路,根据接口电路的地址总线的输入来控制接口电路读写RAM的数据通路,多路数据选择器组与接口电路输入的数据总线、地址总线和写信号线相连接;多路数据选择器组与RAM输入的数据总线、地址总线、和写信号线相连接;多路数据选择器组与内部指令寄存器相连接;多路数据选择器组与寄存器组输出给外部主处理器的数据总线和RAM输出给外部主处理器的输出数据总线相连接;多路数据选择器组与外部指令译码器相连接。附图1中的外部指令译码器用来对外部指令进行译码,控制协处理器执行外部指令所对应的密码功能运算,外部指令译码器的结果用来控制多路数据选择器组和控制单元,外部指令译码器的输出与控制单元和多路数据通路选择器组相连接;外部指令译码器的输入与寄存器组的外部指令寄存器的输出相连接。附图1中的内部指令译码器用来对内部指令进行译码,译码结果用来控制寄存器组输出数据给运算单元、读取运算单元的运算结果、修改外部指令寄存器的值和输出协处理器的中断信号,它的输入与寄存器组的内部指令寄存器的输出相连接,输出与寄存器组相连接。附图1中的控制单元由八个控制状态机组成,包括椭圆曲线数字签名生成控制状态机、椭圆曲线数字签名验证控制状态机、椭圆曲线加密方案加密控制状态机、椭圆曲线解密方案加密控制状态机、椭圆曲线密钥对交换控制状态机、椭圆曲线密钥对生成控制状态机、AES-U8加密控制状态机和AES-U8解密控制状态机,这些状态机用来控制存储器单元和运算单元协同实现椭圆曲线密码协处理器的八个密码功能运算,控制单元输出的内部指令与多路数据选择器组相连接;控制状态机的使能信号与外部指令译码器的输出相连接; 控制状态机的其他输入与运算模块的中断输出相连接;控制状态机输出的控制运算单元的控制信号与多路数据通路选择器相连接。附图1中的运算单元由八个运算模块组成,包括随机数生成运算模块、椭圆曲线点乘运算模块、椭圆曲线点加运算模块、KDF运算模块、HMAC运算模块、AES-128运算模块、 SHA-256运算模块和集成素数域运算模块,运算单元的输入数据总线与寄存器组的参数寄存器组和RAM的端口 2输出相连接;运算单元的使能信号与数据通路选择器相连接;运算单元输出的中断信号与控制单元的输入相连接;运算单元的输出与数据通路选择器和寄存器组的输入相连接。附图2中的双端口 RAM的端口 1输入的二选一数据通路选择器用来控制端口 1输入数据总线、地址总线和读写使能信号的的选择,其数据通路选择信号与一个二输入或门的输出相连接,或门的两个输入信号是AES-U8加密功能运算使能信号和AES-U8解密功能运算使能信号,双端口 RAM的端口 1输入的二选一数据通路选择器的四个输入总线分别为接口电路输入的数据总线、地址总线和AES-U8加解密结果写RAM时的数据总线、地址总线,剩余的两个信号线,一个与接口电路写信号经过一个反相器的输出相连接,另一个是 AES-128加解密结果写信号。当数据通路选择信号高电平时,二选一数据通路选择器选通 AES-128加解密结果写入RAM时的数据总线、地址总线和写信号,即二选一数据通路选择器的三个输出为AES-U8加解密结果写入RAM时的数据总线、地址总线和写信号;当数据通路选择信号低电平时,二选一数据通路选择器选通接口电路写MM时的数据总线、地址总线和写信号,即二选一数据通路选择器的三个输出为接口电路写RAM时的数据总线、地址总线和写信号。此外,端口 1的使能信号与一个三输入或门相连接,或门的一个输出与一个非门相连接,这个非门的输入是接口电路输入的地址总线的第15位,三输入或门的另外两个输入分别为外部指令译码器的译码结果用来控制AES-U8加密和解密密码功能运算的使能信号。在端口 1的读写使能信号上方的是端口 1的时钟信号,它与系统时钟相连接。
附图2中的双端口 RAM的端口 2输入的五选一数据通路选择器用来控制端口 2输入的地址总线和读写使能信号的选择,其数据通路选择信号共有4根信号线,它们是端口 2输入的四选一数据通路选择器输入的前四个输入,第一个数据通路选择信号与AES-128 解密功能运算使能信号相连接,第二个数据通路选择信号与AES-U8加密功能运算使能信号,第三个数据通路选择信号与一个而输入或门的输出相连接,或门的两个输入分别是椭圆曲线数字签名生成和椭圆曲线数字签名验证控制状态机输出的控制信号,第四个数据通路选择信号与椭圆曲线数字签名生成功能运算使能信号相连接,双端口 RAM的端口 2输入的五选一数据通路选择器的五个输入总线分别为AES-U8解密控制状态机输出的写RAM的地址总线、AES-U8加密控制状态机输出的读RAM的地址总线、SHA-256运算模块读RAM的地址总线、椭圆曲线数字签名生成控制状态输出的读RAM的地址总线和椭圆曲线数字签名验证控制状态输出的读RAM的地址总线,剩余的五个输入信号线分别为AES-U8解密控制状态机输出的读RAM的读使能信号、AES-U8加密控制状态机输出的读RAM的读使能信号、 SHA-256运算模块写RAM的读使能信号、椭圆曲线数字签名生成控制状态输出的读RAM的读使能信号和椭圆曲线数字签名验证控制状态输出的读RAM的读使能信号。当第一个数据通路选择信号为高电平时,五选一数据通路选择器选通AES-U8解密控制状态机读RAM时的地址总线和读使能信号,即五选一数据通路选择器的两个输出为AES-U8解密控制状态机读RAM时的地址总线和读使能信号;当第一个数据通路选择信号为低电平,第二个数据通路选择信号为高电平时,五选一数据通路选择器选通AES-U8加密控制状态机读RAM时的地址总线和读使能信号,即五选一数据通路选择器的两个输出为AES-U8加密控制状态机读RAM时的地址总线和读使能信号;当前两个数据通路选择信号为低电平,第三个数据通路选择信号为高电平时,五选一数据通路选择器选通SHA-256运算模块写RAM时的地址总线和读使能信号,即五选一数据通路选择器的两个输出为SHA-256运算模块写RAM时的地址总线和读使能信号;当前三个数据通路选择信号为低电平,第四个数据通路选择信号为高电平时,五选一数据通路选择器选通椭圆曲线数字签名生成控制状态输出的读RAM时的地址总线和读使能信号,即五选一数据通路选择器的两个输出为椭圆曲线数字签名生成控制状态输出的读RAM时的地址总线和读使能信号;当四个数据通路选择信号都为低电平时,五选一数据通路选择器选通椭圆曲线数字签名验证控制状态输出的读RAM时的地址总线和读使能信号,即五选一数据通路选择器的两个输出为椭圆曲线数字签名验证控制状态输出的读RAM时的地址总线和读使能信号。此外,端口 2还有三个输入,分别是32位数据总线、时钟信号和端口 2使能信号,其中数据总线与SHA-256运算模块写RAM时的数据总线相连接,时钟信号与系统时钟信号相连接,端口 2是能信号与高电平相连接。附图2中的对外输出的二选一数字通路选择器用来控制接口电路输出的数据总线的选择,其数据通路选择信号与接口电路的地址总线的第15位相连接,外输出的二选一数字通路选择器的另外两个输入数据总线分别为双端口 RAM端口 1的输出数据总线和寄存器组的输出数据总线。当数据通路选择信号高电平时,二选一数字通路选择器选通寄存器组的输出数据总线,即二选一数字通路选择器输出为寄存器组的输出数据总线;当数据通路选择信号低电平时,输出的二选一数字通路选择器选通双端口 RAM端口 1的输出数据总线,即二选一数字通路选择器输出为双端口 RAM端口 1的输出数据总线。内部指令译码器与寄存器组相连接,多路数据通路选择器组在外部指令译码器的控制下,控制单元中的八个控制状态机分别通过多路数据通路选择器组输出内部指令给内部指令寄存器。附图3中内部指令的八选一数据通路选择器用来控制控制单元中的8个控制状态机输出内部指令给寄存器组的内部指令寄存器的数据总线的选择,其数据通路选择信号共有7根信号线,它们是内部指令的八选一数据通路选择器的前7个输入信号线,从上至下,第一个数据通路选择信号与椭圆曲线数字签名生成功能运算使能信号相连接,第二个数据通路选择信号与椭圆曲线数字签名验证功能运算使能信号相连接,第三个数据通路选择信号与椭圆曲线加密方案加密功能运算使能信号相连接,第四个数据通路选择信号与椭圆曲线加密方案解密功能运算使能信号相连接,第五个数据通路选择信号线与椭圆曲线密钥对交换功能运算使能信号相连接,第六个数据通路选择信号线与AES-U8加密功能运算使能信号相连接,第七个数据通路选择信号线与AES-U8解密功能运算使能信号相连接。 内部指令的八选一数据通路选择器剩余8个6位宽输入数据总线分别是椭圆曲线数字签名生成控制状态机输出的内部指令总线、椭圆曲线数字签名验证控制状态机输出的内部指令总线、椭圆曲线加密方案加密控制状态机输出的内部指令总线、椭圆曲线加密方案解密控制状态机输出的内部指令总线、椭圆曲线密钥对交换控制状态机输出的内部指令总线、 AES-128加密控制状态机输出的内部指令总线、AES-128解密控制状态机输出的内部指令总线和椭圆曲线密钥对生成控制状态机输出的内部指令总线。当第一个数据通路选择信号为高电平时,八选一数字通路选择器选通椭圆曲线数字签名生成控制状态机输出的内部指令总线,即八选一数字通路选择器输出为椭圆曲线数字签名生成控制状态机输出的内部指令总线;当第一个数据通路选择信号为低电平,第二个数据通路选择信号为高电平时,八选一数字通路选择器选通椭圆曲线数字签名验证控制状态机输出的内部指令总线,即八选一数字通路选择器输出为椭圆曲线数字签名验证控制状态机输出的内部指令总线;当前两个数据通路选择信号为低电平,第三个数据通路选择信号为高电平时,八选一数字通路选择器选通椭圆曲线加密方案加密控制状态机输出的内部指令总线,即八选一数字通路选择器输出为椭圆曲线加密方案加密控制状态机输出的内部指令总线;当前三个数据通路选择信号为低电平,第四个数据通路选择信号为高电平时,八选一数字通路选择器选通椭圆曲线解密方案加密控制状态机输出的内部指令总线,即八选一数字通路选择器输出为椭圆曲线解密方案加密控制状态机输出的内部指令总线;当前四个数据通路选择信号为低电平, 第五个数据通路选择信号为高电平时,八选一数字通路选择器选通椭圆曲线密钥对交换控制状态机输出的内部指令总线,即八选一数字通路选择器输出为椭圆曲线密钥对交换控制状态机输出的内部指令总线;当前五个数据通路选择信号为低电平,第六个数据通路选择信号为高电平时,八选一数字通路选择器选通AES-U8加密控制状态机输出的内部指令总线,即八选一数字通路选择器输出为AES-U8加密控制状态机输出的内部指令总线;当前六个数据通路选择信号为低电平,第七个数据通路选择信号为高电平时,八选一数字通路选择器选通AES-U8解密控制状态机输出的内部指令总线,即八选一数字通路选择器输出为AES-U8解密控制状态机输出的内部指令总线;当所有数据通路选择信号为低电平时, 八选一数字通路选择器选通椭圆曲线密钥对生成控制状态机输出的内部指令数据总线,即八选一数字通路选择器输出为通椭圆曲线密钥对生成控制状态机输出的内部指令数据总线。附图3中内部指令的八选一数据通路选择器的输出的6位宽数据输入给寄存器组的内部指令寄存器,在指令寄存器存储内部指令的八选一数据通路选择器的输出的新指令并输出给内部指令译码器后,内部指令译码器对新指令进行译码,并将译码结果输出给寄存器组,用来控制寄存器组输出数据给运算单元的运算模块。运算单元中所述的运算模块与多路数据通路选择器组相连接,多路数据通路选择器在外部指令译码器的控制下,运算模块能为不同的密码功能运算提供相同的运算服务。附图4中模块使能信号的η选一数据通路选择器用来控制控制单元输出的运算模块的使能信号的选择,模块使能信号的η选一数据通路选择器的选择信号是外部指令译码输出的密码功能运算使能信号,输入是控制单元输出的运算模块的使能信号,通过密码功能运算使能信号来选择输入运算模块的运算使能信号。AES-U8和SHA-256运算模块在读写RAM时,需要控制状态机协同给出读写总线地址和读写信号。下面介绍主处理器在使用椭圆曲线密码协处理器时,协处理器的七个组成部分之间的相互动态控制关系主处理器给协处理器一个系统复位信号,将协处理器内部所有寄存器置零,此时, 外部指令译码器输出的八个密码功能运算使能信号均为低电平。按照上述接口电路总线写操作规则,先写RAM,再写参数寄存器,最后写外部指令寄存器,在接口电路总线模式为16位宽时,外部指令寄存器先写高16位,后写低16位。写寄存器组时,地址线的第15位为高电平,由附图2知,此时RAM端口 1的使能信号为低电平, 因此,数据无法写入RAM,只能写入寄存器组,相反,在写RAM时,RAM端口 1使能信号有效, 接口电路写信号经过一个反相器,为高电平,此时RAM端口 1的写使能信号有效,接口电路可以将数据写入RAM。外部指令译码器对写入外部指令寄存器的新指令进行译码,译码结果将新指令对应的密码功能运算的使能信号置为高电平,其余的密码功能运算的使能信号置为低电平。 这样译新指令对应的密码功能运算的使能信号选通参与此次密码功能运算所需的数据通路,并触发控制单元中对应此次密码功能运算的控制状态机。控制状态机通过数据通路选择器控制存储单元和运算单元完成密码功能运算。在做椭圆曲线数字签名生成和椭圆曲线数字签名验证功能运算时,控制状态机还控制附图2 中双端口 RAM端口 2输入的五选一数字通路选择器,运算时打开第三路数据通路,运算结束后关闭数据通路。如附图4所示,控制单元输出内部指令给数据通路选择器,将新指令存储至内部指令寄存器,内部指令译码器对新指令进行译码,并用译码结果控制寄存器组输出数据给运算单元,之后控制单元输出运算模块的使能信号,通过模块使能信号的η选一数据通路选择器传输给运算模块,运算模块进入运算状态,此时,控制单元的控制状态机进入等待状态,等运算模块运算结束后,输出中断信号给控制单元的控制状态机,这时,控制单元的控制状态机输出内部指令给数据通路选择器,将新指令存储至内部指令寄存器,内部指令译码器对新指令进行译码,并用译码结果控制寄存器组存储运算单元的运算结果。
当控制状态机判定功能运算结束后,给内部状态寄存器写入指令,内部指令译码译码结束后,控制外部指令寄存器自动改写其值,并输出协处理器的中断信号,等待嵌入式微处理器读取协处理器的功能运算结果。
权利要求
1.一种基于II型最优正规基域的椭圆曲线密码协处理器,包括对外接口电路、存储单元、多路数据选择器组、外部指令译码器、内部指令译码器、控制单元和运算单元;其中所述的对外接口电路用于协处理器和主处理器之间的数据传输;其数据总线、地址总线和读写信号线与多路数据通路选择器组相连接;所述的存储单元由寄存器组和RAM组成,寄存器组用来存储外部指令、内部指令、椭圆曲线参数和运算单元的运算结果,RAM用来存储AES-U8加/解密数据和椭圆曲线数字签名消息;存储单元与多路数据选择器组、外部指令译码器、内部指令译码器和运算单元相连接;所述的多路数据选择器组在外部指令译码器的输出信号的控制下,选通外部指令对应的密码功能运算所需的数据通路,在接口电路的地址总线的控制下,为接口电路选通读写 RAM的数据通路;多路数据选择器组与接口电路、存储单元、外部指令译码器和运算单元相连接;所述的外部指令译码器用来对外部指令进行译码,控制协处理器执行外部指令所对应的密码功能运算,外部指令译码器的输出信号用来控制多路数据选择器组和控制单元;外部指令译码器与控制单元、寄存器组的外部指令寄存器和多路数据通路选择器组相连接;所述的内部指令译码器用于对内部指令进行译码,内部指令译码器的输出信号控制寄存器组输出数据给运算单元、读取运算单元的运算结果、修改外部指令寄存器的值和输出协处理器的中断信号;内部指令译码与寄存器组的内部指令寄存器和寄存器组相连接;所述的控制单元由八个控制状态机组成,包括椭圆曲线数字签名生成控制状态机、 椭圆曲线数字签名验证控制状态机、椭圆曲线加密方案加密控制状态机、椭圆曲线解密方案解密控制状态机、椭圆曲线密钥对交换控制状态机、椭圆曲线密钥对生成控制状态机、 AES-128加密控制状态机和AES-U8解密控制状态机;控制单元用于控制存储器单元和运算单元协同实现椭圆曲线密码协处理器的八个密码功能运算;控制单元与多路数据选择器组、外部指令译码器和运算单元相连接;所述的运算单元由八个运算模块组成,包括随机数生成运算模块、椭圆曲线点乘运算模块、椭圆曲线点加运算模块、KDF运算模块、HMAC运算模块、AES-128运算模块、SHA-256 运算模块和集成素数域运算模块;存储单元中的RAM经多路数据通路选择器组给运算模块输入数据,运算单元与存储单元、控制单元和多路数据通路选择器组相连接。
2.根据权利要求1所述的基于II型最优正规基域的椭圆曲线密码协处理器,其特征在于所述的内部指令译码器与寄存器组相连接,多路数据通路选择器组在外部指令译码器的控制下,控制单元中的八个控制状态机分别通过多路数据通路选择器组输出内部指令给内部指令寄存器。
3.据权利要求1所述的基于II型最优正规基域的椭圆曲线密码协处理器,其特征在于运算单元中所述的运算模块与多路数据通路选择器组相连接,多路数据通路选择器在外部指令译码器的控制下,运算模块能为不同的密码功能运算提供相同的运算服务。
全文摘要
本发明公开一种基于Ⅱ型最优正规基域的椭圆曲线密码协处理器,包括对外接口电路、存储单元、多路数据选择器组、外部指令译码器、内部指令译码器、控制单元以及运算单元,其中接口电路通过多路数据选择器组用来完成主处理器对协处理器的存储单元的读写操作,外部指令译码器对存储单元中的外部指令寄存器的值进行译码,其输出用来触发外部指令对应的控制单元中的控制状态机和选通运算所需的数据通路,控制状态机通过数据通路选择器组控制运算单元、内部指令译码器和存储单元完成指令对应的密码功能运算,本发明可以提供八种密码功能运算服务,使用方便,不占用主处理器的运算资源,协处理器的运算速度较快。
文档编号H04L9/32GK102307090SQ201110167820
公开日2012年1月4日 申请日期2011年6月21日 优先权日2011年6月21日
发明者刘彦明, 张志强, 李小平, 董庆宽, 谢楷, 赵蕾, 黎剑兵 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1