ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

现代密码学(六)因子分解和离散对数算法

2021-07-19 10:01:55  阅读:258  来源: 互联网

标签:方法 复杂度 因子 离散 Pollard 算法 对数 pi 密码学


本章的意义在于对因子分解和离散对数这些问题的有效算法 。这些算法本身是有趣 的 ,并可作为 己学过的数论知识的良好应用 。此外 ,理解这些算法的效率对于在实际应用中选择密码学参数是至关重要的

文章目录

因式分解算法

  • 亚指数:如果f(n)= 2^o(n) , 则f是关于n的亚指数
  • Pollard的p - 1方法 ,当p-1有 “ 小 ” 素数因子时它是种有效的方法 。
  • Pollard的rho方法, 这种方法适用于任意的N因此, 这种方法还被称为 “通用 ” 因子分解算法。对于本节开始部分讨论的那种类型的 整数N来 说 , 它的时间复 杂度是O(N^1/4*polylog(N))
  • 二次筛算法 ,这是一种通用因子分解算法,运行时间的复杂度为(关于N的长度)亚指数

Pollard的p - 1方法

整数N = pq且p - 1只有 “ 小 ” 因子时,能找到一个元素y属于Z*N且y<——>(1,y< q>),且y< q>!=1
所以gcd(y, N) = p,于是就得到了一个因子,求y的方法如下:假设能找到一个B使得 (p − 1)| B and (q − 1)!| B,令B=r(p-1)于是算法如下:
在这里插入图片描述下面证明算法生成的y是不是满足上述条件

  1. 证明 y=0modp
    在这里插入图片描述

  2. 证明 y!=0modq
    在这里插入图片描述
    但如果xq是生成元的话上述结论结不成立(生成元的B次方有可能正好为1),但因为生成元的个数为φ(q - 1 ),modq的域大小为q-1,所以概率由下面定理得到Ω(1/ log q) = Ω( 1/n),即可忽略

    • 一个定理:在这里插入图片描述通常认为
      在这里插入图片描述

选择B的方法:
在这里插入图片描述

  • pi表示第i个素数
  • k代表一个范 围 ,它影响时间复杂度和算法成功的概率
  • n是p的长度
  • pi^ [n/log pi]表示能整除p-1的最大的pi的幂
  • 只要q-1一个素数因子比Pk大,那么(q - 1) )!|B
  • 所以当增加k的值,会增加运算复杂度,但会提高找到B的成功率

Pollard的rho方法

二次筛算法

标签:方法,复杂度,因子,离散,Pollard,算法,对数,pi,密码学
来源: https://blog.csdn.net/c630843901/article/details/118862597

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有