crypto/crypto/crypto library

The 'crypto' library provides a collection of cryptographic algorithms and utilities for various cryptographic operations and security functions.

Classes

AEAD
An abstract class representing an Authenticated Encryption with Associated Data (AEAD) cipher.
AES
Represents an Advanced Encryption Standard (AES) block cipher.
AffinePointt
Represents a point in affine coordinates on an elliptic curve.
BLAKE2b
Implementation of the BLAKE2b hash function that implements the SerializableHash interface.
Blake2bConfig
Configuration class for the Blake2b hash function.
Blake2bState
Represents the state of a BLAKE2b hash function.
Blake2bTree
Configuration for the tree structure in Blake2b.
BlockCipher
An abstract class representing a block cipher for symmetric encryption and decryption.
ChaCha20
ChaCha20Poly1305
Crc16
Crc32
A class for calculating cyclic redundancy check (CRC32) values.
CryptoOps
CryptoOpsConst
CTR
Counter (CTR) mode for block ciphers.
Curves
This class provides a collection of predefined elliptic curves for various cryptographic applications.
ECB
Electronic Codebook (ECB) mode for AES encryption and decryption.
ECDSAPrivateKey
Represents an ECDSA (Elliptic Curve Digital Signature Algorithm) private key.
ECDSAPublicKey
Represents an ECDSA (Elliptic Curve Digital Signature Algorithm) public key.
ECDSASignature
Represents an ECDSA (Elliptic Curve Digital Signature Algorithm) signature containing r and s components.
EDDSAPrivateKey
Represents an EdDSA private key and provides methods for key operations.
EDDSAPublicKey
Represents an EdDSA public key in the Edwards curve format.
EDPoint
A class representing a point on an Edwards curve, extending the abstract AbstractPoint class.
FieldElement
FortunaPRNG
The FortunaPRNG class represents an implementation of the Fortuna pseudorandom number generator (PRNG) algorithm.
GammaDistribution
GCM
Galois/Counter Mode (GCM) implementation for authenticated encryption with associated data (AEAD).
GroupElementCached
GroupElementP1P1
GroupElementP2
GroupElementP3
GroupElementPrecomp
Hash
The Hash abstract class defines the basic operations for hash algorithms.
HashBytesState
The HashBytesState class represents the state of a hashing process that operates on a byte array.
HashState
The HashState abstract class serves as a marker interface for hash state classes.
HMAC
The HMAC class represents a Hash-based Message Authentication Code.
Keccack
MD4
Implementation of the MD4 (Message Digest 4) hash function.
MD5
A class that represents the MD5 hash algorithm, which is used to compute MD5 message digests. This class implements the SerializableHash interface.
MerlinTranscript
A transcript object for the Merlin cryptographic protocol.
PBKDF2
The PBKDF2 class is an implementation of the Password-Based Key Derivation Function 2 (PBKDF2) algorithm.
Poly1305
The Poly1305 class represents an implementation of the Poly1305 one-time message authentication code (MAC).
ProjectiveECCPoint
Represents a point in projective coordinates on an elliptic curve.
RFC6979
A class that implements the RFC6979 deterministic K value generation algorithm for ECDSA.
RIPEMD128
A class representing the RIPEMD-128 hash algorithm, extending the _RIPEMD base class.
RIPEMD160
A class representing the RIPEMD-160 hash algorithm, extending the _RIPEMD base class.
RIPEMD256
A class representing the RIPEMD-256 hash algorithm, extending the _RIPEMD base class.
RIPEMD320
A class representing the RIPEMD-320 hash algorithm, extending the _RIPEMD base class.
SchnorrkelKeyCost
The SchnorrkelKeyCost class defines various constants related to the sizes and lengths of Schnorrkel keys and components.
SchnorrkelKeypair
Represents a Schnorrkel key pair, consisting of a secret key and a public key.
SchnorrkelMiniSecretKey
The SchnorrkelMiniSecretKey class represents a mini-secret key used for generating Schnorr key pairs.
SchnorrkelPublicKey
Represents a Schnorrkel public key used for verifying signatures.
SchnorrkelSecretKey
The SchnorrkelSecretKey class represents a Schnorrkel secret key used for cryptographic operations.
SchnorrkelSignature
Represents a Schnorrkel digital signature.
Scrypt
A class for performing scrypt key derivation.
SerializableHash<T extends HashState>
The SerializableHash abstract class extends the Hash class and adds functionality for saving, restoring, and cleaning hash states.
SH1State
The SHA1State class represents the state of the SHA-1 hash algorithm.
SHA1
A class representing the SHA-1 (Secure Hash Algorithm 1) hash algorithm.
SHA224
The SHA224 class represents the SHA-224 hash algorithm, which is a variant of SHA-256.
SHA256
The SHA256 class represents the SHA-256 hash algorithm.
SHA256State
SHA3
The SHA3 class is used to compute hash digests of data, and it allows customization of the digest length
SHA3224
The SHA3224 class represents a specific implementation of the SHA-3 (Secure Hash Algorithm 3) hash function with a digest length of 224 bits (28 bytes).
SHA3256
The SHA3256 class represents a specific implementation of the SHA-3 (Secure Hash Algorithm 3) hash function with a digest length of 256 bits (32 bytes).
SHA3384
The SHA3384 class represents a specific implementation of the SHA-3 (Secure Hash Algorithm 3) hash function with a digest length of 384 bits (48 bytes).
SHA3512
The SHA3512 class represents a specific implementation of the SHA-3 (Secure Hash Algorithm 3) hash function with a digest length of 512 bits (64 bytes).
SHA384
The SHA384 class extends the SHA-512 hash algorithm to produce 384-bit digests.
SHA512
The SHA512 class implements the SHA-512 hash algorithm.
SHA512256
The SHA512256 class extends the SHA-512 hash function, specifically truncating its output to 256 bits (32 bytes). It inherits the implementation of the SHA-512 hash algorithm
SHA512State
The SHA512State class represents the state of a SHA-512 hash calculation.
SHAKE
The SHAKE class represents the SHAKE (Secure Hash Algorithm KEccak) extendable-output hash function.
SHAKE128
SHAKE128 is an implementation of the SHAKE128 extendable-output function.
SHAKE256
SHAKE256 is an implementation of the SHAKE256 extendable-output function.
Strobe
Strobe is a cryptographic framework for building secure, stateful, and authenticated cryptographic protocols. Strobe-128/1600 and Strobe-256/1600 for standards compliance.
StrobeFlags
Class representing Strobe operation flags.
StrobeOperation
enum representing Strobe operations.
StrobeSecParam
VRFInOut
The VRFInOut class represents the input and output data of a Verifiable Random Function (VRF) computation.
VRFPreOut
VRFProof
The VRFProof class represents a Verifiable Random Function (VRF) proof, consisting of two components 'c' and 's'.
XModemCrc
A class for calculating and verifying XModem CRC (Cyclic Redundancy Check).
XXHash64

Enums

ExpansionMode
The ExpansionMode enum defines different expansion modes used in Schnorr signatures (Schnorrkel).

Typedefs

GenerateRandom = List<int> Function(int length)
The GenerateRandom typedef defines a function signature for generating random data with a specified length.
GroupElementDsmp = List<GroupElementCached>
HashFunc = SerializableHash<HashState> Function()

Exceptions / Errors

CryptoOpsException