[发明专利]一种蒙哥马利模乘方法及其电路有效
申请号: | 201310100944.1 | 申请日: | 2013-03-26 |
公开(公告)号: | CN103226461A | 公开(公告)日: | 2013-07-31 |
发明(设计)人: | 王德明;丁颜玉;丁一;路崇;段志奎;谭洪舟 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F7/72 | 分类号: | G06F7/72 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 禹小明 |
地址: | 510275 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种蒙哥马利模乘方法及其电路。方法中,模长度k=sw,w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n,r为存储器,其高k位为存放输入参数a和输出结果的r2,低k位为存放输入参数b的r1;t为多项式临时计算结果,其余为中间变量,运算步骤为:计算r2=MonPro(a,b,n)=a*b*2-k mod n;将t和i赋零值;r32=r[i];令i为0开始外循环;计算(c,z1)=t[i]+r[i]*r32;(c,z1)=z1*n0';x2=z1;x1=r[i];令j为0开始内循环;计算(c,t[i+j])=t[i+j]+x1*r[i]+x2*n[i]+c;t[i+s]=c;变量j加1,当j小于s时重复内循环,否则退出内循环;变量i加1,当i小于s时重复外循环,否则退出外循环;判断t的高k位是否大于n,若是则将r2=r2-n,否则将t的低k位赋给r2;根据r2输出模乘结果。本发明能提高算法的运算速度和降低功耗。 | ||
搜索关键词: | 一种 马利 方法 及其 电路 | ||
【主权项】:
一种蒙哥马利模乘方法,其特征在于,模长度为k,k=sw,其中w为算法每次处理的字长大小,s为算法for循环所需的次数;输入参数包括a、b和模数n,r为一存储器,r的高k位为存放输入参数a和输出结果的r2,r的低k位为存放输入参数b的r1,t为多项式临时计算结果,r32、z1、c、x1、x2、n0'为中间变量,i和j为循环变量,其运算步骤为:计算r2=MonPro(a,b,n)=a*b*2‑k mod n;将t和i赋零值;将中间变量r32赋值为r的第s个字,其中,r32表示存储器r的第32为地址的数据;令i为0开始外循环;将t的第i个字与r32相乘,乘积结果与t的第i个字相加,结果的低k位赋给z1,高k位赋给c;接着将z1与n0'相乘,乘积结果的低k位赋给z1,高k位赋给c,其中,n0`通过预先计算获取,n0'=‑n0‑1mod(232),n0是指模数n的低32位值,n从外部输入;令x2=z1;令x1等于r的第i个字;令j为0开始内循环;将x1与r的第i个字相乘后的结果和x2与n的第i个字相乘后的结果相加,相加结果再加上c和t的第i+j个字,最终结果的低k位赋给t的第i+j个字,高k位赋给c;并令t的第i+s个字等于c,然后循环变量j加1,当j小于s时重复内循环,当j大于或者等于s时退出内循环;循环变量i加1,当i小于s时重复外循环,当i大于或者等于s时退出外循环;判断t的高k位是否大于n,若是则将r2=r2‑n,否则将t的低k位赋给r2;根据r2输出模乘结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310100944.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种业务管理软件开发实现方法
- 下一篇:一种智能终端的人机交互方法及系统