发明名称 一种支持双域的快速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号