diff --git a/src/libsodium/crypto_pwhash/argon2/argon2.h b/src/libsodium/crypto_pwhash/argon2/argon2.h index 1a40dfd9..6fad2302 100644 --- a/src/libsodium/crypto_pwhash/argon2/argon2.h +++ b/src/libsodium/crypto_pwhash/argon2/argon2.h @@ -6,9 +6,7 @@ * This work is licensed under a Creative Commons CC0 1.0 License/Waiver. * * You should have received a copy of the CC0 Public Domain Dedication along - * with - * this software. If not, see - * . + * with this software. If not, see . */ #ifndef argon2_H #define argon2_H @@ -17,8 +15,9 @@ #include #include -/*************************Argon2 input parameter - * restrictions**************************************************/ +/* + * Argon2 input parameter restrictions + */ /* Minimum and maximum number of lanes (degree of parallelism) */ #define ARGON2_MIN_LANES UINT32_C(1) @@ -39,8 +38,7 @@ #define ARGON2_MIN_MEMORY (2 * ARGON2_SYNC_POINTS) /* 2 blocks per slice */ #define ARGON2_MIN(a, b) ((a) < (b) ? (a) : (b)) -/* Max memory size is half the addressing space, topping at 2^32 blocks (4 TB) - */ +/* Max memory size is half the addressing space, topping at 2^32 blocks (4 TB) */ #define ARGON2_MAX_MEMORY_BITS \ ARGON2_MIN(UINT32_C(32), (sizeof(void *) * CHAR_BIT - 10 - 1)) #define ARGON2_MAX_MEMORY \ @@ -133,7 +131,7 @@ typedef enum Argon2_ErrorCodes { /* Argon2 external data structures */ /* - *****Context: structure to hold Argon2 inputs: + * Context: structure to hold Argon2 inputs: * output array and its length, * password and its length, * salt and its length, @@ -143,18 +141,17 @@ typedef enum Argon2_ErrorCodes { * number of parallel threads that will be run. * All the parameters above affect the output hash value. * Additionally, two function pointers can be provided to allocate and - deallocate the memory (if NULL, memory will be allocated internally). + * deallocate the memory (if NULL, memory will be allocated internally). * Also, three flags indicate whether to erase password, secret as soon as they - are pre-hashed (and thus not needed anymore), and the entire memory - **************************** - Simplest situation: you have output array out[8], password is stored in - pwd[32], salt is stored in salt[16], you do not have keys nor associated data. - You need to spend 1 GB of RAM and you run 5 passes of Argon2 with 4 parallel - lanes. - You want to erase the password, but you're OK with last pass not being erased. - You want to use the default memory allocator. - Then you initialize - Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false). + * are pre-hashed (and thus not needed anymore), and the entire memory + ***** + * Simplest situation: you have output array out[8], password is stored in + * pwd[32], salt is stored in salt[16], you do not have keys nor associated data. + * You need to spend 1 GB of RAM and you run 5 passes of Argon2 with 4 parallel lanes. + * You want to erase the password, but you're OK with last pass not being erased. + * You want to use the default memory allocator. + * Then you initialize: + * Argon2_Context(out,8,pwd,32,salt,16,NULL,0,NULL,0,5,1<<20,4,4,NULL,NULL,true,false,false,false). */ typedef struct Argon2_Context { uint8_t *out; /* output array */ @@ -183,7 +180,6 @@ typedef struct Argon2_Context { /* Argon2 primitive type */ typedef enum Argon2_type { Argon2_i = 1 } argon2_type; - /* * Function that performs memory-hard hashing with certain degree of parallelism * @param context Pointer to the Argon2 internal structure @@ -251,17 +247,16 @@ int argon2i_verify(const char *encoded, const void *pwd, const size_t pwdlen); int argon2_verify(const char *encoded, const void *pwd, const size_t pwdlen, argon2_type type); -/* - * * **************Argon2i: Version of Argon2 that picks memory blocks - *independent on the password and salt. Good for side-channels, - ******************* but worse w.r.t. tradeoff attacks if - *******************only one pass is used*************** +/** + * Argon2i: Version of Argon2 that picks memory blocks + * independent on the password and salt. Good for side-channels, + * but worse w.r.t. tradeoff attacks if only one pass is used. * @param context Pointer to current Argon2 context * @return Zero if successful, a non zero error code otherwise */ int argon2i_ctx(argon2_context *context); -/* +/** * Verify if a given password is correct for Argon2i hashing * @param context Pointer to current Argon2 context * @param hash The password hash to verify. The length of the hash is