202得票30回答
寻找一个数的最大质因子的算法

什么是计算一个数最大质因数的最佳方法? 我认为最有效的方法如下: 1.找到能整除的最小质数 2.检查除法结果是否为质数 3.如果不是,则查找下一个较小的质数 4.回到第2步 我基于小质数容易计算的假设得出这个结论。这个方法正确吗?还有哪些其他方法值得探究? 编辑:我现在意识到,如果有超...

102得票8回答
快速质因数分解模块

我正在寻找一个能够以Python、伪代码或其他易于阅读的形式实现并清晰呈现出对于N的质因数分解的算法。以下是一些要求和限制条件: N 的位数在1到20之间 没有预先计算好的查找表,但可以使用记忆化 无需经过数学证明(例如,可以依赖于哥德巴赫猜想) 无需精确,如果需要可以是概率性/确定性的 ...

52得票2回答
有多少个质数可以用于RSA加密?

我是否错误地认为,总的来说,RSA加密的安全性受已知素数数量的限制? 要破解(或创建)私钥,必须组合正确的一对素数。 是否不可能发布使用RSA的范围内所有素数的清单?还是该列表足够大,使得这种暴力攻击变得不太可能?会不会存在“常用”的素数?

41得票6回答
埃拉托色尼筛法的分段筛法?

制作一个简单的筛子非常容易: for (int i=2; i<=N; i++){ if (sieve[i]==0){ cout << i << " is prime" << endl; for (int j =...

38得票3回答
彩虹表作为大素数分解的解决方案

在我读到的关于公钥密码学的解释中,说通过将两个极大质数相乘得到一个大数。由于分解大质数的乘积是几乎不可能的耗时操作,因此您具有安全性。 这似乎是一个可以轻松使用彩虹表解决的问题。如果您知道所使用的质数的近似大小并知道有两个质数,则可以快速构建彩虹表。它可能是一个非常庞大的表,但可以完成任务并...

35得票2回答
高斯整数的分解有哪些好方法?

我已经掌握了整数的质因子分解,但现在我想为高斯整数实现它,但应该如何做呢?谢谢!

28得票17回答
质因数分解 - 列表

我正在尝试实现一个名为primeFac()的函数,它以正整数n作为输入并返回包含n的质因子分解中所有数字的列表。 我已经做到了这一点,但我认为在这里使用递归会更好,不确定如何创建递归代码,什么是起始的基本情况? 我的代码:def primes(n): primfac = [] ...

24得票3回答
迷惑于米勒-拉宾算法

作为一项自我锻炼,我正在实现Miller-Rabin测试(通过SICP进行)。我理解费马小定理并成功实现了它。让我困惑的是Miller-Rabin测试中的“1 mod n”。因为不管n是什么随机整数,“1 mod n”不就永远是1吗?所以在我的理解中,“1 mod n”总是1,当处理整数值时,...

24得票4回答
能否分解大数如何决定流行加密算法的安全性?

加密算法的安全性如何依赖于分解大数? 例如,我在一些数学编程论坛上读到,使用二次筛法或广义数域筛法可以相对容易地在商用硬件上分解256位数。 那么这又如何影响能否破解RSA、AES等算法的安全性呢?仅仅能够分解密钥长度的数就足够了吗? 有没有了解密码学和加密算法的人可以为此提供一些解释呢?

19得票3回答
Linux中factor命令背后的算法是什么?

factor命令可打印指定整数数字的质因数。 我尝试使用它时,factor 12345678912345678912 即使对于如此大的数字,结果也在毫秒内得出。它使用的是哪个算法?