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
Length of an Argon2 tag (raw hash output), 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.