Package org.bouncycastle.util
Class BigIntegers
- java.lang.Object
-
- org.bouncycastle.util.BigIntegers
-
public final class BigIntegers extends java.lang.Object
BigInteger utilities.
-
-
Constructor Summary
Constructors Constructor Description BigIntegers()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
asUnsignedByteArray(int length, java.math.BigInteger value)
Return the passed in value as an unsigned byte array of the specified length, padded with leading zeros as necessary..static byte[]
asUnsignedByteArray(java.math.BigInteger value)
Return the passed in value as an unsigned byte array.static void
asUnsignedByteArray(java.math.BigInteger value, byte[] buf, int off, int len)
Write the passed in value as unsigned bytes to the specified buffer range, padded with leading zeros as necessary.static java.math.BigInteger
createRandomBigInteger(int bitLength, java.security.SecureRandom random)
Return a positive BigInteger in the range of 0 to 2**bitLength - 1.static java.math.BigInteger
createRandomInRange(java.math.BigInteger min, java.math.BigInteger max, java.security.SecureRandom random)
Return a random BigInteger not less than 'min' and not greater than 'max'static java.math.BigInteger
createRandomPrime(int bitLength, int certainty, java.security.SecureRandom random)
Return a prime number candidate of the specified bit length.static java.math.BigInteger
fromUnsignedByteArray(byte[] buf)
static java.math.BigInteger
fromUnsignedByteArray(byte[] buf, int off, int length)
static int
getUnsignedByteLength(java.math.BigInteger n)
static int
intValueExact(java.math.BigInteger x)
static long
longValueExact(java.math.BigInteger x)
static java.math.BigInteger
modOddInverse(java.math.BigInteger M, java.math.BigInteger X)
static java.math.BigInteger
modOddInverseVar(java.math.BigInteger M, java.math.BigInteger X)
-
-
-
Method Detail
-
asUnsignedByteArray
public static byte[] asUnsignedByteArray(java.math.BigInteger value)
Return the passed in value as an unsigned byte array.- Parameters:
value
- the value to be converted.- Returns:
- a byte array without a leading zero byte if present in the signed encoding.
-
asUnsignedByteArray
public static byte[] asUnsignedByteArray(int length, java.math.BigInteger value)
Return the passed in value as an unsigned byte array of the specified length, padded with leading zeros as necessary..- Parameters:
length
- the fixed length of the resultvalue
- the value to be converted.- Returns:
- a byte array padded to a fixed length with leading zeros.
-
asUnsignedByteArray
public static void asUnsignedByteArray(java.math.BigInteger value, byte[] buf, int off, int len)
Write the passed in value as unsigned bytes to the specified buffer range, padded with leading zeros as necessary.- Parameters:
value
- the value to be converted.buf
- the buffer to which the value is written.off
- the start offset in arraybuf
at which the data is written.len
- the fixed length of data written (possibly padded with leading zeros).
-
createRandomInRange
public static java.math.BigInteger createRandomInRange(java.math.BigInteger min, java.math.BigInteger max, java.security.SecureRandom random)
Return a random BigInteger not less than 'min' and not greater than 'max'- Parameters:
min
- the least value that may be generatedmax
- the greatest value that may be generatedrandom
- the source of randomness- Returns:
- a random BigInteger value in the range [min,max]
-
fromUnsignedByteArray
public static java.math.BigInteger fromUnsignedByteArray(byte[] buf)
-
fromUnsignedByteArray
public static java.math.BigInteger fromUnsignedByteArray(byte[] buf, int off, int length)
-
intValueExact
public static int intValueExact(java.math.BigInteger x)
-
longValueExact
public static long longValueExact(java.math.BigInteger x)
-
modOddInverse
public static java.math.BigInteger modOddInverse(java.math.BigInteger M, java.math.BigInteger X)
-
modOddInverseVar
public static java.math.BigInteger modOddInverseVar(java.math.BigInteger M, java.math.BigInteger X)
-
getUnsignedByteLength
public static int getUnsignedByteLength(java.math.BigInteger n)
-
createRandomBigInteger
public static java.math.BigInteger createRandomBigInteger(int bitLength, java.security.SecureRandom random)
Return a positive BigInteger in the range of 0 to 2**bitLength - 1.- Parameters:
bitLength
- maximum bit length for the generated BigInteger.random
- a source of randomness.- Returns:
- a positive BigInteger
-
createRandomPrime
public static java.math.BigInteger createRandomPrime(int bitLength, int certainty, java.security.SecureRandom random)
Return a prime number candidate of the specified bit length.- Parameters:
bitLength
- bit length for the generated BigInteger.random
- a source of randomness.- Returns:
- a positive BigInteger of numBits length
-
-