[发明专利]一种支持双域的快速RSA密码协处理器有效
申请号: | 201410035727.3 | 申请日: | 2014-01-24 |
公开(公告)号: | CN103793199A | 公开(公告)日: | 2014-05-14 |
发明(设计)人: | 郭炜;刘绪隆;魏继增 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;H04L9/06 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 杜文茹 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 快速 rsa 密码 处理器 | ||
技术领域
本发明涉及一种RSA密码协处理器。特别是涉及一种支持双域的快速RSA密码协处理器。
背景技术
随着计算机网络和信息技术的发展,信息安全在各领域发挥着越来越重要的作用,其中密码学已经成为信息安全技术的核心。RSA是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,它是基于大整数因子分解的困难性来确保算法的安全性。目前大多数使用公钥密码进行加密和数字签名都是使用RSA算法。
大数模幂运算是RSA算法的核心运算,它是由一系列大数模乘运算构成,大数的位数需要在数百bit到上千bit,因此运算量非常大,模乘运算是制约其计算速度的瓶颈,解决模乘的速度问题是提高其运算效率的最根本方法。公钥密码是基于有限域的算法,素数域和二元扩域是RSA最常使用的有限域,为了实现快速可配置的RSA算法,设计了系统的运算、存储和控制三大模块以及三个模块间的互联方式。
发明内容
本发明所要解决的技术问题是,提供一种利用各功能单元之间的级联,有效的提高了RSA的加解密性能,并实现了不同有限域之间切换的功能,充分复用了硬件资源的支持双域的快速RSA密码协处理器。
本发明所采用的技术方案是:一种支持双域的快速RSA密码协处理器,包括:
域控制寄存器,用于接收外部输入的控制信号;
控制寄存器,用于接收外部输入的控制信号;
RAM存储单元,用于存储外部输入的操作数以及运算结果;
二元扩域,连接域控制寄存器的输出端,接收域控制寄存器的控制信号;
素数域,连接域控制寄存器的输出端,接收域控制寄存器的控制信号;
双域模乘单元,分别连接控制寄存器、RAM存储单元、二元扩域和素数域,用于根据域控制寄存器的控制信号对RAM存储单元存储的外部操作数进行计算,并将计算结果存回到RAM存储单元内。
所述的RAM存储单元包括有第一单口RAM存储单元、第二单口RAM存储单元和第三单口RAM存储单元。
所述的双域模乘单元包括有用于模拟算法执行的状态机单元和用于通过融合两种不同有限域的算法结构,将模乘运算统一为a+x*y+b的乘累加器单元。
所述的状态机单元包括有分别对应接收从RAM存储单元输出的操作数Xi的第四多路选择器、操作数Yi的第七多路选择器、操作数Xi,Tj的第一多路选择器、操作数Ti,Nj的异或门、操作数Zi的第三多路选择器,以及设置有分别连接所述乘累加器单元的二元扩域输出端并存储不同时间的进位累加数的Ca存储器和Cb存储器、分别对应连接所述的第一多路选择器、第二多路选择器和第三多路选择器的输出端的用于存储操作数的X存储器、Y存储器和Z存储器,其中,所述或门的另一输入端接收外部的Inv信号输出端连接第二多路选择器的输入端,所述的第一多路选择器、第二多路选择器和第三多路选择器的输入端还分别连接所述乘累加器单元的素数域输出端,所述的第三多路选择器和第四多路选择器的输入端还连接Ca存储器的输出端,所述Cb存储器的输出端分别连接第四多路选择器和第五多路选择器的输入端,所述X存储器、Y存储器和Z存储器的输出端分别对应连接第五多路选择器、第六多路选择器和第七多路选择器的输入端,所述第五多路选择器的另一个输入端接收数字1,所述的第四多路选择器、第五多路选择器、第六多路选择器和第七多路选择器)的输出端分别构成状态机单元的输出端连接所述的乘累加器单元。
所述的乘累加器单元由输入端分别接收RAM存储器单元输入的64bit的二进制的加数a、加数b、乘数X和乘数Y,输出端分别输出素数域结果c和二元扩域结果d的乘累加器构成,所述的乘累加器包括有第一加法器、第二加法器、第三加法器和对接收的乘数X和乘数Y相乘后分别输出给第二加法器的双域乘法器,所述的第一加法器的输入端分别接收二进制的加数a、加数b,输出端分别连接第二加法器和第三加法器的输入端,所述第二加法器的输出端输出素数域结果c,所述第三加法器的输出端输出二元扩域结果d。
所述的双域乘法器包括有依次串接的64个半加/全加阵列,连接所述64个半加/全加阵列的进位输出端的华莱士树,分别连接所述wzllace树的进位输出端和求和输出端的进位传播加法器,其中,所述的64个半加/全加阵列的第一个半加/全加阵列的输入端接收RAM存储器单元输入的乘数X和乘数Y,最后一个半加/全加阵列的输出端分别连接所述的进位传播加法器的输入端和所述的第二加法器,所述的进位传播加法器的输出端连接所述的第三加法器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410035727.3/2.html,转载请声明来源钻瓜专利网。