[发明专利]基于二次Booth编码的大数乘法器无效
申请号: | 200710122086.5 | 申请日: | 2007-09-21 |
公开(公告)号: | CN101122850A | 公开(公告)日: | 2008-02-13 |
发明(设计)人: | 李树国;颜晓东 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F7/533 | 分类号: | G06F7/533 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100084北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 二次 booth 编码 大数 乘法器 | ||
技术领域
本发明涉及公开密钥密码体制算法的集成电路设计领域,特别是涉及一种适合公开密钥加密算法的大数乘法的硬件实现。
背景技术
迅速发展的电子商务、保密通讯等应用对开放网路上的信息安全提出了更高的要求。RSA、ECC等公开密钥密码体制被广泛用于密钥传递和数字签名。RSA和素数域ECC的核心操作都是模乘运算,而且为了保证一定程度的安全性,RSA模数的位长需要达到1024位以上,ECC模数的位长也需要达到233位以上。应用最广泛的模乘法算法是蒙哥马利算法,它的核心思想是将模乘运算转化为基本的乘法运算。综上RSA、ECC算法实现的关键运算是大数乘法。但是这种规模的大数乘法运算用软件实现效率是很低的,会占用大量的系统资源,因此各种大数乘法器的硬件设计应运而生。
在乘法中,如果乘数是两位或两位以上的数,乘的时候,就要用乘数的每一位去乘被乘数,每次乘得的积,叫做部分积。大数高速乘法器通常采用并行结构,一般分为3个部分:一是产生部分积;二是将产生的部分积进行压缩,得到两个部分积:和(Sum)、进位(Carry);三是通过加法器将两个部分积相加得到结果。
产生部分积简单的方法是由被乘数X和乘数Y中的一位二进制数Yi相与。则N位二进制乘数将产生N个部分积。其具体算法表示为:
Function Mult(X,Y)=X×Y:
For i from 0 to n-1 step by 1
if Yi equal 1 then
temp←temp+X
X←X×2
Return temp
其中n为二进制数X,Y的位数。
改进的Booth 4算法是一种常见的产生部分积方法。其原理是将乘数Y中相邻三位的二进制数Yi-1YiYi+1进行编码,从而使得部分积个数减少近一半。
改进的Booth 4算法数学表达式如下所示
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710122086.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种对网络流量进行识别限流的方法及其设备
- 下一篇:玻纤毡镁质板