1 unstable release
0.1.0 | Jan 23, 2025 |
---|
#845 in Cryptography
240KB
4.5K
SLoC
Proofs of properties of RSA or Paillier modulus
Implements the protocols described in the papers Efficient Noninteractive Certification of RSA Moduli and Beyond and UC Non-Interactive, Proactive, Distributed ECDSA with Identifiable Aborts. Also refer this.
For a given composite RSA or Paillier modulus N
- Proof that
gcd(x, N) = 1
for a givenx
- Proof that
N
is square free - Proof that
N
is product 2 distinct primes - Proof that
N
is a Blum integer - A more efficient proof that
N
is a Blum integer
Uses following math
- Legendre and Jacobi symbols,
- square roots modulo prime and composite numbers,
- checking if a composite number is formed of prime powers.
By default, it uses standard library and rayon for parallelization.
For no_std
support, build as
cargo build --no-default-features
and for wasm-32, build as
cargo build --no-default-features --target wasm32-unknown-unknown
Dependencies
~3.5–5MB
~96K SLoC