gpt4 book ai didi

rsa - 如何找到一个小于另一个随机 BigInteger 的随机 BigInteger?

转载 作者:行者123 更新时间:2023-12-01 12:07:21 27 4
gpt4 key购买 nike

如何选择随机元素 α ∈ Z*p? P 是一个随机的 1024 位素数 BigInteger。

这是我找到 BigInteger p 的方法:

Random rand = new Random(new Date().getTime());

BigInteger p= new BigInteger(1024, rand);

while(!p.isProbablePrime(3))
{
BigInteger p= new BigInteger(1024, rand);
}

提前致谢。

最佳答案

我认为这是Java。在这种情况下,您实际上并没有选择 1024 位素数。您选择的是 0 到 $2^{1024}$ 之间的质数。不过还是看一下 API。有一个静态方法,称为 probableprime 之类的东西,它会给你一个给定位长度的可能素数。

现在要对 Z_p$ 中的数字 $a\in 进行采样,您可以使用之前使用的方法对 0 到 $2^{1024}$ 之间的随机数 $r$ 进行采样。然后检查是否$r < p$。如果不重新编码$r$,直到得到$r < p$。这称为拒绝采样,在这种情况下应该相当有效。

但是,您应该确保 Java 使用的随机性足以满足您的目的。

关于rsa - 如何找到一个小于另一个随机 BigInteger 的随机 BigInteger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484254/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com