【问题标题】:Calculate b^n from a, b and a^n in modulo p从 a、b 和 a^n 以 p 为模计算 b^n
【发布时间】:2018-06-08 17:40:59
【问题描述】:

有没有任何算法来计算 (bN mod p),给定 a, b, p (这是一个素数) 和 (aN mod p) 但是N个未知数?

一种简单的方法是用离散对数来获得 N,但有没有更有效的方法?还是问题等价于离散对数?

【问题讨论】:

  • 你想破解 diffie hellman 吗?
  • 以防万一与Diffie–Hellman problem 的关系不明显(对我而言),假设a = g、N = x 和b = g^y mod p,然后是b^N mod p = g^(x*y) mod p,这意味着找到@987654326 @ 正在解决 DHP。

标签: algorithm math number-theory


【解决方案1】:

一般来说是没有办法的。这是因为您的条件不足以修复 bN (mod p) 的值。

例如,设 a = 4,b = 2,p = 5,aN (mod p) = 1。那么 N 可以是 2 或 4,因为 4 2 = 1 (mod 5) 和 44 = 1 (mod 5)。但是,22 = 4 (mod 5) 和 24 = 1 (mod 5),所以给出的信息不足以固定 2 的值N.

如果给你更多的信息——也许你被告知 a 和 b 模 p 的阶相等,或者 b 的阶除以 a 的阶,或者 a 是一个原根——那么它是可能的.但我不知道一个有效的算法来做到这一点。

【讨论】:

  • 在印度,我们认为 ^ 是权力(指数)的象征,因此我发表了评论。你一开始就省略了 (mod),这是我想不到的; +1。
  • 很好的例子(+1)。如果 OP 假设a 是一个原始根(或者可能只是b 在a 生成的组中),那么问题就很明确了。如果目标是攻击 Diffie-Hellman,这样的假设是相当自然的。
  • @JohnColeman:我的意思是a 的情况是一个原始根,但没有把它拼出来。感谢您的推动,我已将那个案例和另一个案例包含在可能的新信息中。
  • 如果a 是一个原始根,那么问题是Diffie-Hellman problem,它与离散对数问题的确切关系仍然是开放的。另一方面,如果没有这样的假设,它就不是合适的(如您的示例所示)。该问题可能存在一些有趣的变体,这些变体不会明显简化为 Diffie-Hellman 或离散对数。
猜你喜欢
  • 2012-01-19
  • 1970-01-01
  • 2017-01-21
  • 2016-04-27
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多