网站大量收购独家精品文档,联系QQ:2885784924

蒙哥马利模乘简介.PDF

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
蒙哥马利模乘简介

智慧安全2.0 蒙哥马利模乘简介 高级安全研究部陈庆 关键词:大数模乘、蒙哥马利优化、模逆元 摘要:RSA、DH 密钥交换等算法都涉及大数模幂,一般通过大数模乘完成。1985 年数学家蒙哥马利(Peter L. Montgomery) 提出一种与CPU 强相关的优化算法用于计算 REDC(T)=T*R mod N (N1),该算法避免了除以N 的操作,称之为蒙哥马利约分。技巧 性地组合使用蒙哥马利约分来实现大数模乘,可以规避大开销的除法、求模运算,一般称 此时的大数模乘为 蒙哥马利模乘。本文未做严格数学推导,只是从程序员以及逆向分析 人员的实用角度简介之。 一、求模运算 假设都是整数,如果a=k*n+b 对某些k 成立,那么a ≡ b(mod n), 在初等代数里有一种很重要的运算,求模。用一般人能理解的 a mod n = b。 表述方式,就是求余数。比如,9 除以7 余2,也可以说9 模7 等于2, ( a + b ) mod n = ( ( a mod n ) + ( b mod n ) ) mod n 写作: ( a - b ) mod n = ( ( a mod n ) - ( b mod n ) ) mod n 9 mod 7 = 2 ( a * b ) mod n = ( ( a mod n ) * ( b mod n ) ) mod n 还可以写作: ( a * ( b + c ) ) mod n = ( ( ( a * b ) mod n ) + ( ( a * c ) mod n ) 9 ≡ 2(mod 7) ) mod n 54 智慧安全2.0 这里不做严格的数学定义及推导,只是 a*(b+k*n) ≡ 1(mod n) 幂运算转换成若干模乘运算。 大概介绍一下模运算。 但是,模逆元并不总是存在,比如: 模幂可以转换成模乘,模乘中开销最大 逆元(inverse),也叫倒数,比如4 的 2^(-1) ≡ x(mod 14) 的操作是求模,求模实际就是除法,一次除 逆元是1/4,因为4*(1/4)=1。在模运算领域 无解。 法实际包含了多次加法、减法和乘法。如果 也有类似的概念。对于两个正整数a、n,若 算法中能尽量减少、避免除法,则效率大大 若两个正整数a、n 互素,则a 的模n 存在正整数b,满足: 提高。 逆元必然存在,可以用欧拉定理证明: ( a * b ) mod n = 1 求模运算在计算机领域中相当普遍,除

您可能关注的文档

文档评论(0)

ldj215323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档