发明名称 |
一种支持双域的快速RSA密码协处理器 |
摘要 |
一种支持双域的快速RSA密码协处理器,包括:域控制寄存器,用于接收外部输入的控制信号;控制寄存器,用于接收外部输入的控制信号;RAM存储单元,用于存储外部输入的操作数以及运算结果;二元扩域,连接域控制寄存器的输出端,接收域控制寄存器的控制信号;素数域,连接域控制寄存器的输出端,接收域控制寄存器的控制信号;双域模乘单元,分别连接控制寄存器、RAM存储单元、二元扩域和素数域,用于根据域控制寄存器的控制信号对RAM存储单元存储的外部操作数进行计算,并将计算结果存回到RAM存储单元内。本发明有效地避免了大量的冗余数据写回过程,提高了RSA的加解密性能,实现了不同有限域之间切换的功能,面积增加不到20%,效果非常明显。 |
申请公布号 |
CN103793199B |
申请公布日期 |
2016.09.07 |
申请号 |
CN201410035727.3 |
申请日期 |
2014.01.24 |
申请人 |
天津大学 |
发明人 |
郭炜;刘绪隆;魏继增 |
分类号 |
G06F7/72(2006.01)I;H04L9/06(2006.01)I |
主分类号 |
G06F7/72(2006.01)I |
代理机构 |
天津市北洋有限责任专利代理事务所 12201 |
代理人 |
杜文茹 |
主权项 |
一种支持双域的快速RSA密码协处理器,其特征在于,包括:域控制寄存器(1),用于接收外部输入的控制信号;控制寄存器(2),用于接收外部输入的控制信号;RAM存储单元(3),用于存储外部输入的操作数以及运算结果;二元扩域(5),连接域控制寄存器(1)的输出端,接收域控制寄存器(1)的控制信号;素数域(6),连接域控制寄存器(1)的输出端,接收域控制寄存器(1)的控制信号;双域模乘单元(4),分别连接控制寄存器(2)、RAM存储单元(3)、二元扩域(5)和素数域(6),用于根据域控制寄存器(1)的控制信号对RAM存储单元(3)存储的外部操作数进行计算,并将计算结果存回到RAM存储单元(3)内;所述的双域模乘单元(4)包括有用于模拟算法执行的状态机单元(41)和用于通过融合两种不同有限域的算法结构,将模乘运算统一为a+x*y+b的乘累加器单元(42);所述的状态机单元(41)包括有分别对应接收从RAM存储单元(3)输出的操作数Xi的第四多路选择器(415)、操作数Yi的第七多路选择器(418)、操作数Xi,Tj的第一多路选择器(412)、操作数Ti,Nj的异或门(413)、操作数Zi的第三多路选择器(414),以及设置有分别连接所述乘累加器单元(42)的二元扩域输出端并存储不同时间的进位累加数的Ca存储器(419)和Cb存储器(4120)、分别对应连接所述的第一多路选择器(412)、第二多路选择器(413)和第三多路选择器(414)的输出端的用于存储操作数的X存储器(421)、Y存储器(4122)和Z存储器(4123),其中,所述或门(413)的另一输入端接收外部的Inv信号输出端连接第二多路选择器(413)的输入端,所述的第一多路选择器(412)、第二多路选择器(413)和第三多路选择器(414)的输入端还分别连接所述乘累加器单元(42)的素数域输出端,所述的第三多路选择器(414)和第四多路选择器(415)的输入端还连接Ca存储器(419)的输出端,所述Cb存储器(4120)的输出端分别连接第四多路选择器(415)和第五多路选择器(416)的输入端,所述X存储器(421)、Y存储器(4122)和Z存储器(4123)的输出端分别对应连接第五多路选择器(416)、第六多路选择器(417)和第七多路选择器(418)的输入端,所述第五多路选择器(416)的另一个输入端接收数字1,所述的第四多路选择器(415)、第五多路选择器(416)、第六多路选择器(417)和第七多路选择器(418)的输出端分别构成状态机单元(41)的输出端连接所述的乘累加器单元(42)。 |
地址 |
300072 天津市南开区卫津路92号 |