protected BigInteger modInverse(BigInteger x) { int bits = getFieldSize(); int len = (bits + 31) >> 5; int[] p = Nat.fromBigInteger(bits, q); int[] n = Nat.fromBigInteger(bits, x); int[] z = Nat.create(len); Mod.invert(p, n, z); return Nat.toBigInteger(len, z); }