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 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
- 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
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
byk
, i.e.p
is addedk
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.