org.bouncycastle.crypto Class Hierarchy (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

# Hierarchy For Package org.bouncycastle.crypto

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.bouncycastle.crypto.AsymmetricCipherKeyPair
  - org.bouncycastle.crypto.BufferedAsymmetricBlockCipher
  - org.bouncycastle.crypto.BufferedBlockCipher
    - org.bouncycastle.crypto.DefaultBufferedBlockCipher
  - org.bouncycastle.crypto.CipherKeyGenerator
  - org.bouncycastle.crypto.Commitment
  - org.bouncycastle.crypto.CryptoServicesRegistrar
  - org.bouncycastle.crypto.CryptoServicesRegistrar.Property
  - org.bouncycastle.crypto.DefaultMultiBlockCipher (implements org.bouncycastle.crypto.MultiBlockCipher)
    - org.bouncycastle.crypto.StreamBlockCipher (implements org.bouncycastle.crypto.StreamCipher)
  - org.bouncycastle.crypto.EphemeralKeyPair
  - org.bouncycastle.crypto.KeyGenerationParameters
  - org.bouncycastle.crypto.PBEParametersGenerator
  - java.security.Permission (implements java.security.Guard, java.io.Serializable)
    - org.bouncycastle.crypto.CryptoServicesPermission
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.bouncycastle.crypto.CryptoException
        - org.bouncycastle.crypto.InvalidCipherTextException
      - java.lang.RuntimeException
        - org.bouncycastle.crypto.CryptoServiceConstraintsException
        - org.bouncycastle.crypto.RuntimeCryptoException
          - org.bouncycastle.crypto.DataLengthException
            - org.bouncycastle.crypto.OutputLengthException
          - org.bouncycastle.crypto.MaxBytesExceededException

## Interface Hierarchy

- org.bouncycastle.crypto.AlphabetMapper
- org.bouncycastle.crypto.AsymmetricBlockCipher
- org.bouncycastle.crypto.AsymmetricCipherKeyPairGenerator
- org.bouncycastle.crypto.BasicAgreement
  - org.bouncycastle.crypto.StagedAgreement
- org.bouncycastle.crypto.BlockCipher
  - org.bouncycastle.crypto.MultiBlockCipher
- org.bouncycastle.crypto.CharToByteConverter
- org.bouncycastle.crypto.CipherParameters
  - org.bouncycastle.crypto.KEMParameters
- org.bouncycastle.crypto.Committer
- org.bouncycastle.crypto.CryptoServiceProperties
- org.bouncycastle.crypto.CryptoServicesConstraints
- org.bouncycastle.crypto.DerivationFunction
  - org.bouncycastle.crypto.DigestDerivationFunction
  - org.bouncycastle.crypto.MacDerivationFunction
- org.bouncycastle.crypto.DerivationParameters
- javax.security.auth.Destroyable
  - org.bouncycastle.crypto.SecretWithEncapsulation
- org.bouncycastle.crypto.Digest
  - org.bouncycastle.crypto.ExtendedDigest
    - org.bouncycastle.crypto.SavableDigest (also extends org.bouncycastle.crypto.digests.EncodableDigest, org.bouncycastle.util.Memoable)
    - org.bouncycastle.crypto.Xof
- org.bouncycastle.crypto.DSA
  - org.bouncycastle.crypto.DSAExt
- org.bouncycastle.crypto.EncapsulatedSecretExtractor
- org.bouncycastle.crypto.EncapsulatedSecretGenerator
- org.bouncycastle.crypto.EncodableService
  - org.bouncycastle.crypto.digests.EncodableDigest
    - org.bouncycastle.crypto.SavableDigest (also extends org.bouncycastle.crypto.ExtendedDigest, org.bouncycastle.util.Memoable)
- org.bouncycastle.crypto.KeyEncapsulation
- org.bouncycastle.crypto.KeyEncoder
- org.bouncycastle.crypto.KeyParser
- org.bouncycastle.crypto.Mac
- org.bouncycastle.util.Memoable
  - org.bouncycastle.crypto.SavableDigest (also extends org.bouncycastle.crypto.digests.EncodableDigest, org.bouncycastle.crypto.ExtendedDigest)
- org.bouncycastle.crypto.RawAgreement
- org.bouncycastle.crypto.SecureRandomProvider
- org.bouncycastle.crypto.Signer
  - org.bouncycastle.crypto.SignerWithRecovery
- org.bouncycastle.crypto.SkippingCipher
  - org.bouncycastle.crypto.SkippingStreamCipher (also extends org.bouncycastle.crypto.StreamCipher)
- org.bouncycastle.crypto.StreamCipher
  - org.bouncycastle.crypto.SkippingStreamCipher (also extends org.bouncycastle.crypto.SkippingCipher)
- org.bouncycastle.crypto.Wrapper

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.bouncycastle.crypto.CryptoServicePurpose
    - org.bouncycastle.crypto.PasswordConverter (implements org.bouncycastle.crypto.CharToByteConverter)