首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >乘法群模p中的求取方法

乘法群模p中的求取方法
EN

Cryptography用户
提问于 2019-08-24 19:34:10
回答 1查看 237关注 0票数 1

我在离散对数问题上有一个变体,涉及到在一个整数的乘法循环组中寻找tetration,它是一个大素数p

a = x^x \mod p

其中ap是已知的,而p不一定是安全的素数。能否有效地找到x,还是至少与DLP一样难?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-08-27 01:20:54

正如评论中指出的那样,问题是什么还不太清楚,但这里有一个简单的算法,用于(可以说)最自然的解释。

给定任何素数p和整数a,下面的过程找到一个整数x\in\mathbb Z_{\geq0},以便

x^x\equiv a\pmod p \,\text.
  1. 选择一些正整数的e副本到p-1。(例如,e=1总是工作的。)
  2. x=e+k(p{-}1)k\in\mathbb Z_{\geq0}编写预期的解决方案。
  3. 由于x的阶数必须是p-1的除数,所以方程变为(e+k(p{-}1))^{e}\bmod p=a \,\text. ,将一切都提高到f:=e^{-1}\bmod(p{-}1)的幂,从而得到e+k(p{-}1) \equiv a^f \pmod p \,\text.
  4. 只需为k求解此同余,即计算k := (e-a^f)\bmod p \,\text.
  5. 输出x:=e+k(p{-}1)

请注意,x的预期大小约为p^2

票数 3
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/72803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档