发明名称 一种在嵌入式系统中实现乘法运算的方法和装置
摘要 本发明公开了一种在嵌入式系统中实现乘法运算的方法和装置,涉及密码学领域。解决了现有技术执行乘法运算的运算速度比较低的问题。所述方法包括:(1)获取第一待处理数据和第二待处理数据;(2)判断比特位位数之和是否大于运算装置支持的比特位位数;(3)生成第三待处理数据,生成第四待处理数据;(4)生成第一参数;(5)将最低位对齐;(6)将第三待处理数据进行划分;(7)生成第二参数,并生成第三参数;(8)得到第一数据;(9)得到第二数据;(10)得到第三数据;(11)替换当前迭代数据;(12)判断当前偏移单元是否为最后一个单元;(13)将偏移单元指向下一个单元,返回(8);(14)判断当前迭代数据是否小于第一参数;(15)将当前迭代数据自减第一参数;(16)存储或输出当前迭代数据。
申请公布号 CN102508632B 申请公布日期 2014.10.29
申请号 CN201110302024.9 申请日期 2011.09.30
申请人 飞天诚信科技股份有限公司 发明人 陆舟;于华章
分类号 G06F7/53(2006.01)I 主分类号 G06F7/53(2006.01)I
代理机构 北京中博世达专利商标代理有限公司 11274 代理人 申健
主权项 一种在嵌入式系统中实现乘法运算的方法,其特征在于,包括:⑴.接收到乘法运算指令时,获取所述乘法运算指令中第一待处理数据和第二待处理数据;⑵.判断所述第一待处理数据的比特位位数与所述第二待处理数据的比特位位数之和是否大于运算装置支持的比特位位数;如果是,返回错误信息;如果否,执行⑶;⑶.对所述第一待处理数据进行补位,生成比特位位数与所述运算装置支持的比特位位数相同的第三待处理数据,对所述第二待处理数据的进行补位,生成比特位位数与所述运算装置支持的比特位位数相同的第四待处理数据;⑷.生成各个比特位均置1的第一参数,所述第一参数的比特位位数与所述运算装置支持的比特位位数相同;⑸.将所述第三待处理数据的最低位、所述第四待处理数据的最低位分别与所述第一参数的最低位对齐;⑹.将所述第三待处理数据按预设位长由最低位到最高位进行划分;⑺.以2为底数,以所述预设位长对应的比特位位数为幂数生成第二参数,生成所述第二参数的值减去所述第一参数关于所述第二参数的乘法逆元的差值,生成值与所述差值相同的第三参数;⑻.将当前偏移单元中的数据和所述第四待处理数据的乘积与当前迭代数据相加,得到第一数据;偏移单元的初始单元为对所述第三待处理数据进行划分得到的第一个单元,迭代数据的初始值为0;⑼.将所述第二参数作为模数,对所述第一数据与所述第三参数进行模乘运算,得到第二数据;⑽.将所述第一参数和所述第二数据的乘积与所述第一数据进行加法运算,得到第三数据;⑾.将所述第三数据右移所述预设位长,并将移位后得到的数据替换当前迭代数据;⑿.判断当前偏移单元是否为最后一个单元;如果是,执行⒁;如果否,执行⒀;⒀.将偏移单元指向当前偏移单元的下一个单元,返回⑻;⒁.判断当前迭代数据是否小于所述第一参数;如果是,执行⒃;如果否,执行⒂;⒂.将当前迭代数据自减所述第一参数;⒃.存储或输出指示所述第一待处理数据与所述第二待处理数据乘积的当前迭代数据。
地址 100085 北京市海淀区学清路9号汇智大厦B座17层