api library
This is the API specification library for the Pointy Castle project.
It declares all abstract types used by the Pointy Castle library. In addition, it implements the factories mechanism that allows users to instantiate algorithms by their standard name.
Classes
- AEADBlockCipher
- A block cipher mode that includes authenticated encryption
- AEADCipher
-
AEADParameters<
UnderlyingCipherParameters extends CipherParameters> - Algorithm
- All algorithms defined by Pointy Castle inherit from this class.
- AsymmetricBlockCipher
- Asymmetric block cipher engines are expected to conform to this interface.
- AsymmetricKey
- The interface that asymmetric (public and private) keys conform to.
-
AsymmetricKeyPair<
B extends PublicKey, V extends PrivateKey> - A pair of public and private asymmetric keys.
-
AsymmetricKeyParameter<
T extends AsymmetricKey> - Abstract CipherParameters to hold an asymmetric (public or private) key
- BlockCipher
- Block cipher engines are expected to conform to this interface.
- CipherParameters
- All cipher initialization parameters classes implement this.
- DESedeParameters
- DESParameters
- Digest
- The interface that a message digest conforms to.
- KeyDerivator
- The interface that a symmetric key derivator conforms to.
- KeyGenerator
- The interface that asymmetric key generators conform to.
- KeyGeneratorParameters
- Abstract CipherParameters to init an asymmetric key generator.
- KeyParameter
- CipherParameters consisting of just a key of arbitrary length.
- Mac
- The interface that a MAC (message authentication code) conforms to.
- PaddedBlockCipher
- All padded block ciphers conform to this interface.
-
PaddedBlockCipherParameters<
UnderlyingCipherParameters extends CipherParameters?, PaddingCipherParameters extends CipherParameters?> -
CipherParameters for PaddedBlockCiphers consisting of two underlying CipherParameters, one for the BlockCipher (of
type
UnderlyingCipherParameters
) and the other for the Padding (of typePaddingCipherParameters
). - Padding
- The interface that a padding conforms to.
-
ParametersWithIV<
UnderlyingParameters extends CipherParameters?> -
CipherParameters consisting of an underlying CipherParameters (of type
UnderlyingParameters
) and an initialization vector of arbitrary length. -
ParametersWithRandom<
UnderlyingParameters extends CipherParameters> -
CipherParameters consisting of an underlying CipherParameters (of type
UnderlyingParameters
) and an acompanying SecureRandom. -
ParametersWithSalt<
UnderlyingParameters extends CipherParameters> -
CipherParameters consisting of an underlying CipherParameters (of type
UnderlyingParameters
) and an acompanying salt of type Uint8List. -
ParametersWithSaltConfiguration<
UnderlyingParameters extends CipherParameters> -
CipherParameters consisting of an underlying CipherParameters (of type
UnderlyingParameters
), an acompanying SecureRandom, and salt length. - PBEParametersGenerator
- PrivateKey
- The interface that asymmetric private keys conform to.
-
PrivateKeyParameter<
T extends PrivateKey> - A CipherParameters to hold an asymmetric private key
- PublicKey
- The interface that asymmetric public keys conform to.
-
PublicKeyParameter<
T extends PublicKey> - A CipherParameters to hold an asymmetric public key
- RC2Parameters
- SecureRandom
- A synchronous secure random number generator (RNG).
- Signature
- An interface for signatures created by a Signer
- Signer
- An interface for DSAs (digital signature algorithms)
- SRPClient
- SRPServer
- Implements the server side SRP-6a protocol. Note that this class is stateful, and therefore NOT threadsafe. This implementation of SRP is based on the optimized message sequence put forth by Thomas Wu in the paper "SRP-6: Improvements and Refinements to the Secure Remote Password Protocol, 2002"
- StreamCipher
- The interface stream ciphers conform to.
- Xof
Exceptions / Errors
- InvalidCipherTextException
- RegistryFactoryException
- This kind of exception is thrown when a user tries to create an algorithm or domain parameters that were not correctly registered. This can be because the corresponding class was not imported, or because the algorithm does not exist.