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) = 1for a givenx - Proof that
Nis square free - Proof that
Nis product 2 distinct primes - Proof that
Nis a Blum integer - A more efficient proof that
Nis 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