View Javadoc
1   package civitas.util;
2   
3   import java.math.BigInteger;
4   
5   import civitas.crypto.Constants;
6   
7   public interface CivitasBigIntegerInterface extends Constants {
8   
9   	BigInteger asBigint();
10  
11  	default boolean isProbablePrime(final int certainty) {
12  		return asBigint().isProbablePrime(certainty);
13  	}
14  
15  	default CivitasBigInteger nextProbablePrime() {
16  		return new CivitasBigInteger(asBigint().nextProbablePrime());
17  	}
18  
19  	default CivitasBigInteger divide(final CivitasBigInteger q) {
20  		return new CivitasBigInteger(asBigint().divide(q.i));
21  	}
22  
23  	default CivitasBigInteger modInverse(final CivitasBigInteger p) {
24  		return new CivitasBigInteger(asBigint().modInverse(p.i));
25  	}
26  
27  	default CivitasBigInteger modNegate(final CivitasBigInteger p) {
28  		return new CivitasBigInteger(asBigint().negate().mod(p.i));
29  	}
30  
31  	default CivitasBigInteger pow(final int j) {
32  		return new CivitasBigInteger(asBigint().pow(j));
33  	}
34  }