[发明专利]一种在嵌入式系统中实现大数预计算的方法有效
申请号: | 201310132081.6 | 申请日: | 2013-04-16 |
公开(公告)号: | CN103207770A | 公开(公告)日: | 2013-07-17 |
发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
主分类号: | G06F7/50 | 分类号: | G06F7/50;G06F7/523 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 实现 大数 预计 方法 | ||
技术领域
本发明涉及信息安全领域,特别是涉及一种在嵌入式系统中实现大数预计算的方法。
背景技术
随着网络应用的普及,网络安全变得越来越重要,各种网络安全产品应运而生。网络安全产品涉及到信息保密、漏洞防护等方面,通常使用大数运算来保证数据的机密性。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
现有技术中,在基于蒙哥马利模乘实现的大数运算过程中,通过减法和移位操作得到预计算值,处理速度较慢。
发明内容
本发明提供了一种在嵌入式系统中实现大数预计算的方法,用于解决大数运算过程中处理速度过慢的缺陷。
本发明提供了一种在嵌入式系统中实现大数预计算的方法,包括以下步骤:
S1、读取第一寄存器中的数据,将读取到的数据写入到第一随机存储器;读取第二寄存器中的数据,将读取到的数据写入到第二随机存储器;所述第一寄存器用于存储第一数据,所述第二寄存器用于存储第二数据,所述第二数据的取值为以2为底数,以第三数据的取值为指数的幂,所述第三数据为整数;
S2、调用取模模块,对所述第一随机存储器和所述第二随机存储器中的数据进行运算,将运算结果分别写入到第三寄存器和第四寄存器;所述取模模块用于将所述第一随机存储器中的数据作为模数,将所述第二随机存储器中的数据作为被模数,进行取模运算;
S3、读取所述第三寄存器中的数据,将读取到的数据分别写入到第三随机存储器和第四随机存储器;读取所述第一寄存器中的数据,将读取到的数据写入到第五随机存储器;
S4、调用模加模块,对所述第三随机存储器、所述第四随机存储器和所述第五随机存储器中的数据进行运算,使用运算结果更新所述第三寄存器中的数据;所述模加模块用于将所述第三随机存储器中的数据和所述第四随机存储器中的数据作为加数,将所述第五随机存储器中的数据作为模数,进行模加运算;
S5、根据第五寄存器中的数据,从第六寄存器中读取位于最低位的数据,将读取到的数据作为当前位数据,所述第五寄存器中的数据的初始值为预设值,所述第六寄存器用于存储所述第三数据;
S6、对所述当前位数据的取值进行判断,如果所述当前位数据的取值为零,则执行步骤S7;如果所述当前位数据的取值为1,则执行步骤S10;
S7、读取所述第三寄存器中的数据,将读取到的数据分别写入到第六随机存储器和第七随机存储器;读取所述第一寄存器中的数据,将读取到的数据写入到第八随机存储器;
S8、调用蒙哥马利模乘器,对所述第六随机存储器、所述第七随机存储器和所述第八随机存储器中的数据进行模乘运算,使用运算结果更新所述第三寄存器中的数据;所述蒙哥马利模乘器用于将所述第六随机存储器中的数据、所述第七随机存储器中的数据和所述第八随机存储器中的数据分别作为第一输入参数、第二输入参数和第三输入参数,进行模乘运算;
S9、对所述第五寄存器中的数据进行更新,根据更新后的所述第五寄存器中的数据,从所述第六寄存器中读取比所述当前位数据高一位的数据,将读取到数据作为更新后的当前位数据,并返回步骤S6;
S10、读取所述第四寄存器中的数据,使用读取到的数据更新所述第六随机存储器中的数据;读取所述第三寄存器中的数据,使用读取到的数据更新所述第七随机存储器中的数据;读取所述第一寄存器中的数据,使用读取到的数据更新所述第八随机存储器中的数据;
S11、调用所述蒙哥马利模乘器,对所述第六随机存储器、所述第七随机存储器和所述第八随机存储器中的数据进行模乘运算,使用运算结果更新所述第四寄存器中的数据;
S12、判断所述当前位数据是否为所述第六寄存器中位于最高位的数据,如果是,则执行步骤S13;否则,返回步骤S7;
S13、将所述第四寄存器中的数据输出。
本发明还提供了一种在嵌入式系统中实现大数预计算的方法,包括以下步骤:
S1、读取第一寄存器中的数据,将读取到的数据写入到第一随机存储器;读取第二寄存器中的数据,将读取到的数据写入到第二随机存储器;所述第一寄存器用于存储第一数据,所述第二寄存器用于存储第二数据,所述第二数据的取值为以2为底数,以第三数据的取值为指数的幂,所述第三数据为整数;
S2、调用取模模块,对所述第一随机存储器和所述第二随机存储器中的数据进行运算,将运算结果分别写入到第三寄存器和第四寄存器;所述取模模块用于将所述第一随机存储器中的数据作为模数,将所述第二随机存储器中的数据作为被模数,进行取模运算;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310132081.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:支架放大镜
- 下一篇:摊铺机的模具固定装置