Kangaroo算法

    本算法要解决的问题是离散对数问题(discrete logarithm problem,DLP)。问题的描述如下:

       G是一个乘法循环群,其中有一个元素h,且其生成元为g。要求求得一个x,使得h=g x

    对于这样一个问题,有如下的几种情况考虑:

  1. 如果我们对x没有任何的信息,只知道x满足0<x<n=ord(g),可以使用如下的算法来解决:
    • Shanks' baby step-gaint step method:时间和空间的需求是一个const*n1/2
    • Pollard's rho method:需要的时间约等于(PI*n/2)1/2,并且可以使用并行算法来加速解决的过程;
  2. 如果我们知道x满足0<a<=x<=b<n=ord(g):
    • Shanks' baby step-gaint step method同样可以解决:时间和空间的需求是一个const*(b-a)1/2
    • Pollard's rho method不能利用到这个信息;
    • Pollard’s Kangaroo算法:就是我们将要具体讲解的算法,它的预期操作步骤为2*(b-a)1/2个群元素的计算步骤。
      形象的来说,Pollard's Kangaroo算法就是使得两只袋鼠在解空间里面
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值