【发布时间】:2010-02-21 18:14:18
【问题描述】:
我是一名大学生,我有一个任务需要找到大素数。教授给了我以下“简单”算法来找到 2 个可能素数。
- 生成随机 a 和 p 其中 1
- 确认 gcd(a,p) 为 = 1 -- 这是假设删除 Carmichael 数字 Edit(意味着等于 1)
- 执行“模幂运算” 如果 x ^ (p-1) % p = 1 其中 x 从零开始并递增到 p-1 对于 p 和 a
第三步的例子。
假设 p = 5
1^4 %5 = 1
2^4 %5 = 1
3^4 %5 = 1
4^4 %5 = 1
这表明 5 是素数。
我通过这个作业意识到计算素数不是开玩笑。我在上述算法中看到的问题是,如果我猜测大数并使用模幂来测试它们,我可能会尝试将大数提升为大数。这让我心中产生了疑问。我也研究了确定性有限自动机和埃拉托色尼筛法。有没有人有任何建议来改进给定的算法或提供任何帮助?谢谢你的时间。
【问题讨论】:
标签: cryptography primes