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

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

7得票3回答
算法优化(质因数分解)

在开始之前,我想说:这不是作业,只是单纯的、有趣的事情。 现在,我正在尝试设计一个算法来回答这个问题1/x + 1/y = 1/n!。 正如您可以从上面的链接看到的那样,作者只要求提示,而不是实际答案,所以我也想请求同样的待遇。 我简化了表达式,直到(x - n!) (y - n!) =...

11得票3回答
C或C ++:用于分解整数的库?

似乎有几个非常快的质因数分解算法(一个看起来很理想的是二次筛法)。然而,我不想自己编写(可能很差)的实现,而是希望使用现成的库来简化操作。 我需要能够高效地分解多达15位数字的整数。因此,我不是在寻找渐进最优的算法,因为我们可以假设要分解的数字小于10的15次方。 我已经查看了维基百科的二...

8得票6回答
使用特制的CPU寻找大数的质因数

我理解的是,现在许多公钥加密算法都依赖于大质数来构成密钥,而且正是这些大质数的乘积难以分解才使得加密变得难以破解。我还知道,之所以分解这样大的质数如此困难,是因为使用的数字太大,以至于没有CPU可以有效地对这些数字进行操作,因为我们微小的32位和64位CPU无法与1024、2048甚至4096...

17得票7回答
暴力破解、单线程素数分解

以下是一个可以(相对快速地)将64位无符号整数分解为其质因数的函数。请注意,该因数分解不是概率性的(即,它是准确的)。在现代硬件上,该算法已经足够快,可以在几秒钟内发现一个数字是质数或具有很少的非常大的因子。 问题: 在保持单线程的情况下,是否可以改进所提出的算法,使得它可以更快地分解(任意...

11得票2回答
高效地找出一个数的所有因子

我想找到给定数的所有因数(除了这个数本身)。目前我有以下代码:public static List<int> proper_divisors(int x) { List<int> toreturn = new List<int>(); tor...

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

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

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

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

10得票3回答
快速质因数分解算法

我正在编写一段C代码,用于返回正整数可表示为两个正整数的平方和的次数。 R(n) is the number of couples (x,y) such that x² + y² = n where x, y, n are all non negative integers. 计算 R...

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

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