Class BigIntegers


  • public final class BigIntegers
    extends Object
    BigInteger utilities.
    • Constructor Detail

      • BigIntegers

        public BigIntegers()
    • Method Detail

      • asUnsignedByteArray

        public static byte[] asUnsignedByteArray​(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,
                                                 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 result
        value - the value to be converted.
        Returns:
        a byte array padded to a fixed length with leading zeros.
      • asUnsignedByteArray

        public static void asUnsignedByteArray​(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 array buf at which the data is written.
        len - the fixed length of data written (possibly padded with leading zeros).
      • createRandomInRange

        public static BigInteger createRandomInRange​(BigInteger min,
                                                     BigInteger max,
                                                     SecureRandom random)
        Return a random BigInteger not less than 'min' and not greater than 'max'
        Parameters:
        min - the least value that may be generated
        max - the greatest value that may be generated
        random - the source of randomness
        Returns:
        a random BigInteger value in the range [min,max]
      • fromUnsignedByteArray

        public static BigInteger fromUnsignedByteArray​(byte[] buf)
      • fromUnsignedByteArray

        public static BigInteger fromUnsignedByteArray​(byte[] buf,
                                                       int off,
                                                       int length)
      • intValueExact

        public static int intValueExact​(BigInteger x)
      • longValueExact

        public static long longValueExact​(BigInteger x)
      • getUnsignedByteLength

        public static int getUnsignedByteLength​(BigInteger n)
      • createRandomBigInteger

        public static BigInteger createRandomBigInteger​(int bitLength,
                                                        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 BigInteger createRandomPrime​(int bitLength,
                                                   int certainty,
                                                   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