Class FipsDRBG

java.lang.Object
org.bouncycastle.crypto.fips.FipsDRBG

public final class FipsDRBG extends Object
Source class for FIPS approved implementations of Deterministic Random Bit Generators (DRBGs) from SP 800-90A.
  • Field Details

    • SHA1

      public static final FipsDRBG.Base SHA1
      HASH DRBG - SHA-1
    • SHA224

      public static final FipsDRBG.Base SHA224
      HASH DRBG - SHA-224
    • SHA256

      public static final FipsDRBG.Base SHA256
      HASH DRBG - SHA-256
    • SHA384

      public static final FipsDRBG.Base SHA384
      HASH DRBG - SHA-384
    • SHA512

      public static final FipsDRBG.Base SHA512
      HASH DRBG - SHA-512
    • SHA512_224

      public static final FipsDRBG.Base SHA512_224
      HASH DRBG - SHA-512/224
    • SHA512_256

      public static final FipsDRBG.Base SHA512_256
      HASH DRBG - SHA-512/256
    • SHA1_HMAC

      public static final FipsDRBG.Base SHA1_HMAC
      HMAC DRBG - SHA-1
    • SHA224_HMAC

      public static final FipsDRBG.Base SHA224_HMAC
      HMAC DRBG - SHA-224
    • SHA256_HMAC

      public static final FipsDRBG.Base SHA256_HMAC
      HMAC DRBG - SHA-256
    • SHA384_HMAC

      public static final FipsDRBG.Base SHA384_HMAC
      HMAC DRBG - SHA-384
    • SHA512_HMAC

      public static final FipsDRBG.Base SHA512_HMAC
      HMAC DRBG - SHA-512
    • SHA512_224_HMAC

      public static final FipsDRBG.Base SHA512_224_HMAC
      HMAC DRBG - SHA-512/224
    • SHA512_256_HMAC

      public static final FipsDRBG.Base SHA512_256_HMAC
      HMAC DRBG - SHA-512/256
    • CTR_Triple_DES_168

      public static final FipsDRBG.Base CTR_Triple_DES_168
      CTR DRBG - 3-Key TripleDES
    • CTR_AES_128

      public static final FipsDRBG.Base CTR_AES_128
      CTR DRBG - 128 bit AES
    • CTR_AES_192

      public static final FipsDRBG.Base CTR_AES_192
      CTR DRBG - 192 bit AES
    • CTR_AES_256

      public static final FipsDRBG.Base CTR_AES_256
      CTR DRBG - 256 bit AES
  • Method Details

    • getDefaultEntropySourceProvider

      public static EntropySourceProvider getDefaultEntropySourceProvider()
    • fetchBasicDRBG

      public static FipsSecureRandom fetchBasicDRBG(Algorithm usage, FipsDRBG.Base drbgBase, byte[] personalizationString)
      Return a basic DRBG created using the passed in Base and personalizationString with a system defined nonce and configured with prediction resistance set to false.
      Parameters:
      usage - an algorithm object signifying the use of the DRBG.
      drbgBase - the base to construct the DRBG from.
      personalizationString - the personalizationString to use.
      Returns:
      an appropriate FipsSecureRandom