rusqsieve
rusqsieve is a portable Rust factorization crate built around a fixed-capacity unsigned
integer, deterministic work packets, and quadratic-sieve relation/matrix primitives. The default
Natural<16> has a 1024-bit capacity; that is a storage limit, not a promise that hard 1024-bit
semiprimes are practical (use NFS for such inputs).
The crate is not constant-time and must not be used where operand-dependent timing is secret.
use ;
let factors = factor.unwrap;
assert!;
Custom schedulers, including Web Workers, can use engine::prepare,
EngineSession::take_jobs, engine::execute, and EngineSession::submit.
The portable job kernel never creates threads; the native blocking API schedules
the same deterministic polynomial-family work across persistent workers.
Browser demo
make docs builds a self-contained WebAssembly demo into docs/ for GitHub Pages
(enable Pages on the docs/ folder). It factors a number you type using the same
crate compiled to wasm32-unknown-unknown, sieving in parallel across a pool of Web
Workers sized to navigator.hardwareConcurrency, and renders the result in power
notation. make serve previews it locally at http://localhost:8000/.
Licensed under Apache-2.0 OR MPL-2.0; see LICENSE-APACHE and LICENSE-MPL.