假设您想选择一个质数$ p $来查找例如$ \ mathbb {Z} _p $中的$ \ log_2(3)$预期至少与$ \ mathbb {Z} _p $中的一般离散对数问题一样困难,或者至少两个不可行的问题,例如因为您要使用$ g = 2,h = 3,p $作为某些方案的域参数。 $ p $必须有多大?指数$ {(k_i)} _ {i = 0} ^ n $,这样,对于所有$ i = 0..n $,整数$ FE2I(g ^ {k_i} \ pmod p)$是$ B $-平滑(并且具有幂次幂,并且指数形成向量$ v_i $的指数不能表示为任何其他$ v_j $的线性组合等)。 {Z} _p $ hard,需要选择一个素数$ p $,这样,对于任何较小的素数$ B $,光滑的整数$ B $或整数$ \ pi(B)$小于$ B $的素数必须太大。给定一个近似值,一个小于$ p $的数字是$ B $-平滑的概率约为$ u ^ {-u} $,其中$ u = \ frac {\ ln(p)} {\ ln(B)} $,以及$ \ pi(B)\ approx \ frac {B} {\ ln(B)} $得到最高$ 2 ^ {-128} $的概率$ \ mathbb {Z} _p $中的随机元素是$ B $平滑的,或者您必须选择大于$ 2 ^的$ B $ {128} $:th素数,如果$ p \ approx 2 ^ {3645} $。

因此,假定3072位素数通常(超过)足以满足需要128位强DLP方案,对于依赖于为确定性地选择的小型发生器$ g $和$ h $计算$ \ log_g(h)$的难度的方案而言,4096位素数是否足够? />
编辑:考虑到例如$ p = 2 ^ {4096}-3 ^ {2225} $是素数(表示$ \ log_2(3)= 4096(2225)^ {-1} \ bmod(p-1)$),并且是我的问题仅适用于可验证地随机生成的素数,$ \ log_2(3)$易于求解的素数有共同点吗?是否所有这类素数都以$ p = 2 ^ n-3 ^ m $的形式或其他易于检测的形式存在,或者是否有可能以保留$ \ log_2(3)$的知识的方式篡改这种素数


编辑2:考虑方程$ kp = 2 ^ n-3 ^ m $具有至少一个解$ k \ in \ mathbb {Z},n,m \ in \ mathbb {Z} _ {p-1} $对于所有素数$ p> 3 $,关于篡改这些素数的问题是否可以表示为:是否可以计算$(2 ^ n-3 ^ m) / k $在$ \ mathbb {Z} $中的效率最高,因为$ 2 ^ n-3 ^ m $可能在$ \ mathbb {Z} _p $中计算,对于在适当范围内的任意$ k,n,m $? 。

例如,将检查$ 2 ^ i3 ^ {-j} \ bmod p \ neq 1 $为$ 0 \ lt i,j \ le 2 ^ {48} $就足够了,还是可以为巨大的$ n,m $计算$(2 ^ n-3 ^ m)/ k $如果$ k $是另一个小素数的巨大力量?还有其他捷径吗?


编辑3:因为$ kp = 2 ^ n-3 ^ m $等于$ 1 + kp3 ^ {-m} = 2 ^ n3 ^ { -m} $,我们有$ n \ ln(2)-m \ ln(3)= \ ln(1 + kp3 ^ {-m})$。如果$ kp $明显小于$ 3 ^ m $,我们将得到$ | n \ ln(2)-m \ ln(3)| \ lt \ epsilon $。但是,这将要求$ \ frac {\ ln(3)} {\ ln(2)} = \ frac {n} m + \ delta $和$ | \ delta | \ lt \ epsilon $,情况并非如此(因为$ \ epsilon $可以由$ -m $中的指数函数和$ \ frac {\ ln(3)} {\ ln(2)的分数展开来近似} $不是周期性的,其周期用$ \ phi(m)$划分为$ \大约m $个最高有效位)。

因此,如果$ 2 ^ {255} \ lt n \ lt 2 ^ {256} $,自然数没有解到$ kp = 2 ^ n-3 ^ m $,其中$ k $足够小,使得$ kp $小于$ 2 ^ {2 ^ {255 }} $。

接下来,假设$ C $是您可以在算术运算中表示的最大数字。如果$ k = \ prod_ {i = 0} ^ {l} p_i ^ {e_i} $每个$ p_i ^ {e_i} \ le \ frac {C} {p_i} $,则$的概率不可忽略通过从$ \ frac {(2 ^ n-3 ^ m)\ prod_ {j = 0,j \ neq i} ^ {l} p_j ^ {-e_j} \ pmod {p_i ^ {e_i + 1}} $ {p_i ^ {e_i}} $。但是,这仍然需要约束$ k \ lt C ^ {\ pi(C)} $,这仍然太小,不足以保证在给定$ p $的情况下可能不会计算$ n $和$ m $。 >

评论

评论不作进一步讨论;此对话已移至聊天。

#1 楼

您正在寻找两个确定地选择的小型生成器$ g $和$ h $作为域参数。

如果放弃$ h $小的要求
,您可以选择$ h = next \ _group \ _element(H(g))$,其中H是完整的域哈希函数到$ \ mathbb {Z} _p $中。

在随机Oracle模型中,计算
$ dlog_g(next \ _group \ _element(H(g)))$很难作为该组中的一般离散日志问题。

您可以在域参数的说明中省略$ h $。
您甚至可以通过将$ g $定义为组中最小的\生成器> 1 $来忽略$ g $。然后,该说明仅包含可验证生成的素数$ p $。所有其他参数都是确定性派生的。

如果考虑将$ g $具有某些特殊属性,则可以选择
$ g = next \ _group \ _element(H(p)) $。

评论


$ \ begingroup $
这个问题要求选择$ g $和$ h $并根据它们生成$ p $。如果您使用某些函数$ f $定义$ h = f(g)$,则不会单独选择$ h $,并且答案无法解决该问题。
$ \ endgroup $
– tylo
17年5月9日在15:07



$ \ begingroup $
该问题要求素数$ p $的大小合适,因此对于特定生成器$ g $和$ h $(仅是一般情况),离散对数问题很难解决。问题的任何部分都不要求$ h $独立于$ g $。因此,如果您拒绝我的回答,我希望您重新考虑问题/答案。
$ \ endgroup $
– raisyn
17年5月9日在16:24



$ \ begingroup $
使用2和3(或任何其他较小的相对质数)是问题的重点。使用固定的$ g $和较大的生成的$ h $是一种已被广泛研究的替代方法。
$ \ endgroup $
–亨里克·赫尔斯特伦
17年5月9日19:12

#2 楼

我最近考虑过类似的问题,并使用Sagemath进行了一些测试。我最终选择了一个安全的素数$ p $。这些也用于Diffie Hellman(请参阅http://www.rfc-base.org/txt/rfc-3526.txt)。

为组使用安全的素数$ p $得到一个大阶$ q =(p-1)/ 2 $的子组$ G $,其中离散的徽标问题很难解决。组。
您可以按照以下方式检查元素$ g $(例如$ 2 $和$ 3 $)是否在组中:

$ g \ in G \ iff g> 1 \ \土地\ g ^ q \ equiv 1 \ pmod {p} $

据我所知,所描述的构造导致一个组,其中很难计算离散对数$ dlog_2(3)$,给定$ p $的合适大小(例如问题中所述的3072位)

与其为组使用安全的素数,不如考虑使用Schnorr组(https://en.wikipedia.org / wiki / Schnorr_group)以获得更好的性能。

免责声明:我不是密码学家或数学家。也许答案还是有用的。 :)

评论


$ \ begingroup $
我认为这不能回答问题。
$ \ endgroup $
– kodlu
17年4月27日在23:13

$ \ begingroup $
我添加了一个额外的段落来进一步解释我的推理。您是否仍然认为这不能解决问题?你能解释为什么吗?
$ \ endgroup $
– raisyn
17年4月27日在23:50

$ \ begingroup $
这种构造不能保证计算$ \ text {dlog} _2(3)$很难;您可以使用2和4进行类似的构造;但是,即使通常很难解决dlog问题,我们也知道$ \ text {dlog} _2(4)$很容易。此外,您不能使用Schnorr组; 2和3不太可能成为该子组的成员。
$ \ endgroup $
–雨披
17年4月28日在19:39

$ \ begingroup $
感谢@poncho的澄清,我没有去写书,我在超过24小时的时间内都没有进行crypto stackexchange,这是一种罕见的情况。
$ \ endgroup $
– kodlu
17年4月29日在1:09