《密码技术与物联网安全:mbedtls开发实战》 —3.3.5 模重复平方

举报
华章计算机 发表于 2019/12/16 18:38:57 2019/12/16
【摘要】 本节书摘来自华章计算机《密码技术与物联网安全:mbedtls开发实战》 一书中第3章,第3.3.5节,作者是徐 凯 崔红鹏 。

3.3.5 模重复平方

模算术运算中经常会计算大整数的幂运算,例如对于大整数m和大整数n,计算

bn mod m,通常可对b递归进行n-1次幂运算:

bn≡(bn-1(mod m))·b(mod m)

这样递归计算的效率通常较低,在实际应用中可通过模重复平方算法提高计算效率。下面通过一个具体示例说明模重复平方算法。

例3-4

通过计算137  mod 15来验证模算术运算中的幂运算。若按照一般的计算顺序,先计算137=62748517,然后再计算62748517 mod 15=7,在这种情况下需要7次乘法运算和一次模运算。本示例先把137分解为137=134×132×131,然后依次计算131、132和134。

第一步:计算131 mod 15

131 ≡ 13 mod 15

第二步:计算132 mod 15

132 ≡ 169 ≡ 4 mod 15

第三步:计算134 mod 15

134 mod 15的结果可由132 ≡ 4 mod 15间接获取,通过这种方法可大大减少计算量。

134 ≡ (132)2≡(4)2≡16≡1 mod 15

第四步:计算137=134×132×131 mod 15

137 ≡ 134×132×131≡1×4×13≡52≡7 mod 15

这种不直接计算137而通过中间结果计算137 mod 15的方法称为模重复平方算法,通过这种方法可以降低计算复杂度,缩短计算时间。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。