export library

This library exports all implementation classes from the entire PointyCastle project.

Classes

AEADBlockCipher
A block cipher mode that includes authenticated encryption
AEADCipher
AEADParameters<UnderlyingCipherParameters extends CipherParameters>
AESEngine
AESFastEngine
An implementation of the AES (Rijndael), from FIPS-197.
Algorithm
All algorithms defined by Pointy Castle inherit from this class.
Argon2BytesGenerator
Argon2 PBKDF, the winner of the 2015 Password Hashing Competition. Read more:
Argon2Parameters
The Argon2 parameters.
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
AutoSeedBlockCtrRandom
An implementation of SecureRandom that uses a BlockCipher with CTR mode to generate random values and automatically self reseeds itself after each request for data, in order to achieve forward security. See section 4.1 of the paper: Practical Random Number Generation in Software (by John Viega).
Blake2bDigest
BlockCipher
Block cipher engines are expected to conform to this interface.
BlockCtrRandom
An implementation of SecureRandom that uses a BlockCipher with CTR mode to generate random values.
CBCBlockCipher
Implementation of Cipher-Block-Chaining (CBC) mode on top of a BlockCipher.
CBCBlockCipherMac
standard CBC Block Cipher MAC - if no padding is specified the default of pad of zeroes is used.
CCMBlockCipher
Implementation of the CCM block cipher mode. CCM is authenticated, meaning that you can pass AEAD data (and that appending a MAC of the ciphertext is unnecessary).
CFBBlockCipher
Implementation of Cipher Feedback Mode (CFB) on top of a BlockCipher.
ChaCha20Engine
Implementation of Daniel J. Bernstein's ChaCha20 stream cipher, Snuffle 2005.
ChaCha20Poly1305
ChaCha7539Engine
RFC version of Daniel J. Bernstein's ChaCha20. This uses a 12 byte IV, among other changes.
CipherParameters
All cipher initialization parameters classes implement this.
CMac
CMAC - as specified at www.nuee.nagoya-u.ac.jp/labs/tiwata/omac/omac.html
CSHAKEDigest
implementation of SHAKE based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
CTRBlockCipher
CTRStreamCipher
Just an alias to be able to create SIC as CTR
DESedeEngine
DESedeParameters
DESParameters
Digest
The interface that a message digest conforms to.
EAX
EAX mode based on CTR and CMAC/OMAC1.
ECAsymmetricKey
Base class for asymmetric keys in ECC
ECBBlockCipher
Implementation of Electronic Code Book (ECB) mode on top of a BlockCipher.
ECCurve
An elliptic curve
ECCurve_brainpoolp160r1
ECCurve_brainpoolp160t1
ECCurve_brainpoolp192r1
ECCurve_brainpoolp192t1
ECCurve_brainpoolp224r1
ECCurve_brainpoolp224t1
ECCurve_brainpoolp256r1
ECCurve_brainpoolp256t1
ECCurve_brainpoolp320r1
ECCurve_brainpoolp320t1
ECCurve_brainpoolp384r1
ECCurve_brainpoolp384t1
ECCurve_brainpoolp512r1
ECCurve_brainpoolp512t1
ECCurve_gostr3410_2001_cryptopro_a
ECCurve_gostr3410_2001_cryptopro_b
ECCurve_gostr3410_2001_cryptopro_c
ECCurve_gostr3410_2001_cryptopro_xcha
ECCurve_gostr3410_2001_cryptopro_xchb
ECCurve_prime192v1
ECCurve_prime192v2
ECCurve_prime192v3
ECCurve_prime239v1
ECCurve_prime239v2
ECCurve_prime239v3
ECCurve_prime256v1
ECCurve_secp112r1
ECCurve_secp112r2
ECCurve_secp128r1
ECCurve_secp128r2
ECCurve_secp160k1
ECCurve_secp160r1
ECCurve_secp160r2
ECCurve_secp192k1
ECCurve_secp192r1
ECCurve_secp224k1
ECCurve_secp224r1
ECCurve_secp256k1
ECCurve_secp256r1
ECCurve_secp384r1
ECCurve_secp521r1
ECCurveBase
Base implementation for ECCurve
ECDecryptor
The decryptor using Elliptic Curve
ECDHAgreement
ECDHBasicAgreement
P1363 7.2.1 ECSVDP-DH
ECDHKDFParameters
ECDomainParameters
Standard ECC curve description
ECDomainParametersImpl
Implementation of ECDomainParameters
ECDSASigner
ECEncryptor
The encryptor using Elliptic Curve
ECFieldElement
Type for coordinates of an ECPoint
ECFieldElementBase
Base implementation for ECFieldElement
ECKeyGenerator
Abstract CipherParameters to init an ECC key generator.
ECKeyGeneratorParameters
Abstract CipherParameters to init an ECC key generator.
ECPair
A pair of ECPoints.
ECPoint
An elliptic curve point
ECPointBase
Base implementation for ECPoint
ECPrivateKey
Private keys in ECC
ECPublicKey
Public keys in ECC
ECSignature
A Signature created with ECC.
FortunaRandom
An implementation of SecureRandom as specified in the Fortuna algorithm.
GCMBlockCipher
GCTRBlockCipher
Implementation of GOST 28147 OFB counter mode (GCTR) on top of a BlockCipher.
HKDFKeyDerivator
HMAC-based Extract-and-Expand Key Derivation Function (HKDF) implemented according to IETF RFC 5869.
HkdfParameters
Generates CipherParameters for HKDF key derivation function.
HMac
HMAC implementation based on RFC2104
IGEBlockCipher
Implementation of IGE mode on top of a BlockCipher.
ISO7816d4Padding
A padder that adds the padding according to the scheme referenced in ISO 7814-4 - scheme 2 from ISO 9797-1. The first byte is 0x80, rest is 0x00
KeccakDigest
Implementation of Keccak digest.
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.
MD2Digest
Implementation of MD2 as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992
MD4Digest
Implementation of MD4 digest
MD5Digest
Implementation of MD5 digest
NormalizedECDSASigner
OAEPEncoding
RSAES-OAEP v2.0
OFBBlockCipher
Implementation of Output FeedBack mode (OFB) on top of a BlockCipher.
PaddedBlockCipher
All padded block ciphers conform to this interface.
PaddedBlockCipherImpl
The standard implementation of PaddedBlockCipher.
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 type PaddingCipherParameters).
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
PBKDF2KeyDerivator
Generator for PBE derived keys and ivs as defined by PKCS 5 V2.0 Scheme 2. This generator uses a SHA-1 HMac as the calculation function. The document this implementation is based on can be found at:
Pbkdf2Parameters
CipherParameters used by PBKDF2.
PKCS12ParametersGenerator
PKCS1Encoding
PKCS5S1ParameterGenerator
PKCS7Padding
A Padding that adds PKCS7/PKCS5 padding to a block.
Poly1305
PreCompInfo
Interface for classes storing precomputation data for multiplication algorithms.
PrivateKey
The interface that asymmetric private keys conform to.
PrivateKeyParameter<T extends PrivateKey>
A CipherParameters to hold an asymmetric private key
PSSSignature
A Signature created with PSS.
PSSSigner
PublicKey
The interface that asymmetric public keys conform to.
PublicKeyParameter<T extends PublicKey>
A CipherParameters to hold an asymmetric public key
RC2Engine
RC2Parameters
RC4Engine
RIPEMD128Digest
Implementation of RIPEMD-128 digest
RIPEMD160Digest
Implementation of RIPEMD-160 digest.
RIPEMD256Digest
Implementation of RIPEMD-256 digest.
RIPEMD320Digest
Implementation of RIPEMD-320 digest.
RSAAsymmetricKey
Base class for asymmetric keys in RSA
RSAEngine
RSAKeyGenerator
RSAKeyGeneratorParameters
Abstract CipherParameters to init an RSA key generator.
RSAPrivateKey
Private keys in RSA
RSAPublicKey
Public keys in RSA
RSASignature
A Signature created with RSA.
RSASigner
Salsa20Engine
Implementation of Daniel J. Bernstein's Salsa20 stream cipher, Snuffle 2005.
Scrypt
Implementation of SCrypt password based key derivation function. See the next link for info on how to choose N, r, and p:
ScryptParameters
CipherParameters for the scrypt password based key derivation function.
SecureRandom
A synchronous secure random number generator (RNG).
SHA1Digest
Implementation of SHA-1 digest
SHA224Digest
Implementation of SHA-224 digest.
SHA256Digest
Implementation of SHA-256 digest.
SHA384Digest
Implementation of SHA-384 digest.
SHA3Digest
Implementation of SHA3 digest. https://csrc.nist.gov/publications/detail/fips/202/final
SHA512Digest
Implementation of SHA-512 digest.
SHA512tDigest
Implementation of SHA-512/t digest (see FIPS 180-4).
SHAKEDigest
implementation of SHAKE based on following KeccakNISTInterface.c from http://keccak.noekeon.org/
SICBlockCipher
See SICStreamCipher.
SICStreamCipher
Implementation of SIC mode of operation as a StreamCipher. This implementation uses the IV as the initial nonce value and keeps incrementing it by 1 for every block. The counter may overflow and rotate, and that would cause a two-time-pad error, but this is so unlikely to happen for usual block sizes that we don't check for that event. It is the responsibility of the caller to make sure the counter does not overflow.
Signature
An interface for signatures created by a Signer
Signer
An interface for DSAs (digital signature algorithms)
SM3Digest
Implementation of Chinese SM3 Hash Function (GM/T 0004-2012) as described at Reference 1 and at Reference 2.
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"
State
StreamCipher
The interface stream ciphers conform to.
StreamCipherAsBlockCipher
An adapter to convert an StreamCipher to a BlockCipher
TigerDigest
Implementation of Tiger digest.
WhirlpoolDigest
Implementation of Whirlpool digest.
Xof

Extensions

WriteLen on BytesBuilder

Functions

cleanPoint(ECCurve c, ECPoint p) ECPoint?
generateProbablePrime(int bitLength, int certainty, SecureRandom rnd) BigInt
uRS(int x, int n) int

Typedefs

DigestFactory = Digest Function()
ECMultiplier = ECPointBase? Function(ECPointBase p, BigInt? k, PreCompInfo? preCompInfo)
Interface for functions encapsulating a point multiplication algorithm for ECPointBase. Multiplies p by k, i.e. p is added k times to itself.

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.