Expand description
Limits, Algorithm, Version and Params.
Every constant here is transcribed from phc-winner-argon2/include/argon2.h
and phc-winner-argon2/src/core.h. validate_inputs reproduces
validate_inputs() from src/core.c in the same order, because the
order decides which error code surfaces first.
Structs§
- Memory
- A memory cost, carried in kibibytes.
- Params
- Validated Argon2 cost parameters.
- Params
Builder - Builder for
Params. - TagLen
- Length of an Argon2 tag (raw hash output), in bytes.
Enums§
Constants§
- ADDRESSES_
IN_ BLOCK ARGON2_ADDRESSES_IN_BLOCK: pseudo-random values one address block holds.- BITS512_
WORDS_ IN_ BLOCK ARGON2_512BIT_WORDS_IN_BLOCK: 512-bit lanes per block (AVX-512).- BLOCK_
SIZE ARGON2_BLOCK_SIZE: memory block size in bytes.- HWORDS_
IN_ BLOCK ARGON2_HWORDS_IN_BLOCK: 256-bit lanes per block (AVX2).- MAX_
AD_ LENGTH ARGON2_MAX_AD_LENGTH.- MAX_
LANES ARGON2_MAX_LANES.- MAX_
MEMORY ARGON2_MAX_MEMORY=min(0xFFFFFFFF, 1 << ARGON2_MAX_MEMORY_BITS).- MAX_
MEMORY_ BITS ARGON2_MAX_MEMORY_BITS=min(32, sizeof(void*) * CHAR_BIT - 10 - 1).- MAX_
OUTLEN ARGON2_MAX_OUTLEN.- MAX_
PWD_ LENGTH ARGON2_MAX_PWD_LENGTH.- MAX_
SALT_ LENGTH ARGON2_MAX_SALT_LENGTH.- MAX_
SECRET ARGON2_MAX_SECRET.- MAX_
THREADS ARGON2_MAX_THREADS.- MAX_
TIME ARGON2_MAX_TIME.- MIN_
AD_ LENGTH ARGON2_MIN_AD_LENGTH.- MIN_
LANES ARGON2_MIN_LANES.- MIN_
MEMORY ARGON2_MIN_MEMORY=2 * ARGON2_SYNC_POINTS(two blocks per slice).- MIN_
OUTLEN ARGON2_MIN_OUTLEN.- MIN_
PWD_ LENGTH ARGON2_MIN_PWD_LENGTH.- MIN_
SALT_ LENGTH ARGON2_MIN_SALT_LENGTH.- MIN_
SECRET ARGON2_MIN_SECRET.- MIN_
THREADS ARGON2_MIN_THREADS.- MIN_
TIME ARGON2_MIN_TIME.- OWORDS_
IN_ BLOCK ARGON2_OWORDS_IN_BLOCK: 128-bit lanes per block (SSE2).- PREHASH_
DIGEST_ LENGTH ARGON2_PREHASH_DIGEST_LENGTH: length ofH0.- PREHASH_
SEED_ LENGTH ARGON2_PREHASH_SEED_LENGTH:H0plus the 4-byte block index and 4-byte lane index.- QWORDS_
IN_ BLOCK ARGON2_QWORDS_IN_BLOCK: 64-bit words per block.- SYNC_
POINTS ARGON2_SYNC_POINTS: synchronisation points between lanes per pass.
Functions§
- validate_
inputs validate_inputs()fromsrc/core.c, in the exact same order.