Skip to main content

Module params

Module params 

Source
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.
ParamsBuilder
Builder for Params.
TagLen
A tag length, carried in bytes.

Enums§

Algorithm
The Argon2 primitive type (argon2_type).
Version
The Argon2 version (argon2_version).

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 of H0.
PREHASH_SEED_LENGTH
ARGON2_PREHASH_SEED_LENGTH: H0 plus 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() from src/core.c, in the exact same order.