#numbers #factor #factoring #pollard #cryptography #rho #semiprime

app factor-semiprime

半素数分解的Pollard的rho算法实现

1个不稳定版本

0.1.0 2023年1月6日

#1041 in 数学

MIT许可证

4KB

factor-semiprime

半素数分解的Pollard的rho算法实现

为什么?

半素数(两个素数的乘积)在密码学中应用广泛,因为乘以巨大的素数比分解结果快得多。此存储库包含一个尝试完成困难部分的算法:分解巨大的半素数。

如何使用?

$ cargo install factor-semiprime
$ echo 18851959175571007 | factor-semiprime
18851959175571007 = 160097647 * 117752881

如何生成半素数?

您可以使用SymjaMathics生成随机素数并将它们相乘。以下是一个适用于两个项目的代码示例

(* Replace the range bellow with the desired range *)
r := RandomPrime[{10^8, 10^9}];
(* p is a pair of two random primes *)
p = {r, r};
(* Print the primes *)
Print[p];
(* Print the product of the two random primes *)
Print[Times @@ p];

它有多快?

$ time echo 437 | ./target/release/factor-semiprime
437 = 23 * 19

real    0m0.008s
user    0m0.003s
sys     0m0.007s

$ time echo 64786756484626223 | ./target/release/factor-semiprime
64786756484626223 = 222522227 * 291147349

real    0m0.026s
user    0m0.026s
sys     0m0.002s
$

依赖关系

~305KB