Factor integers 为 primes
Integer factorization decomposes 数字为 其素数 factors. Learn trial division, Pollard's rho, 和为什么 factoring 是困难.
- 1
Integer factorization finds 素数 factors: 60 = 2^2 × 3 × 5. 方法: trial division (尝试所有 primes 上到 sqrt(n)), Pollard's rho (random walk, finds 小 factors 快), Pollard's p-1 (当 p-1 是 smooth), 二次 sieve 和 GNFS (为大 numbers). Factoring 是 believed 到是 困难 (否多项式-时间 classical algorithm) — 此是 basis 的 RSA 安全.
- 2 因数分解计算器 →
因子整数为 其素数 factors. tool handles 小到 medium numbers 高效. 为大 numbers (> 10^20), factoring becomes very 慢 — 此是 expected 和是 为什么 RSA 具有大 关键是 安全.
- 3 最大公约数计算器 →
Use GCD as factoring aid. 如果 gcd(n, m) > 1, 你 found 因子的 n. 此是 used 在 Pollard's p-1 和其他 factoring algorithms. GCD 是快 (Euclidean algorithm, O(记录 n)) even 为大 numbers.
常见问题
- 为什么是 factoring 困难?
- 否多项式-时间 classical algorithm 是 known 为整数 factorization. best algorithm (GNFS) 有 sub-exponential complexity. 为 2048-位 RSA 键 (product 的 two 1024-位 primes), factoring 是 infeasible 具有当前 technology. Quantum computers (Shor's algorithm) 能够因子在 多项式时间 — 威胁到 RSA, 但大 quantum computers 不然而存在.
- 什么是 Pollard's rho?
- probabilistic factoring algorithm 该我们 random walk 取模 n. 它 finds 因子在 O(sqrt(p)) where p 是 smallest 素数因子 — much faster than trial division 为 numbers 具有小 factors. 它工作通过 finding collision 在 random walk (birthday paradox) 和 using GCD 到提取因子.