1 --- src/blake2/blake2.h
2 +++ src/blake2/blake2.h
7 -ARGON2_LOCAL int blake2b_init(blake2b_state *S, size_t outlen);
8 -ARGON2_LOCAL int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
9 +ARGON2_LOCAL int argon2_blake2b_init(blake2b_state *S, size_t outlen);
10 +static int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key,
12 -ARGON2_LOCAL int blake2b_init_param(blake2b_state *S, const blake2b_param *P);
13 -ARGON2_LOCAL int blake2b_update(blake2b_state *S, const void *in, size_t inlen);
14 -ARGON2_LOCAL int blake2b_final(blake2b_state *S, void *out, size_t outlen);
15 +static int blake2b_init_param(blake2b_state *S, const blake2b_param *P);
16 +ARGON2_LOCAL int argon2_blake2b_update(blake2b_state *S, const void *in, size_t inlen);
17 +ARGON2_LOCAL int argon2_blake2b_final(blake2b_state *S, void *out, size_t outlen);
20 -ARGON2_LOCAL int blake2b(void *out, size_t outlen, const void *in, size_t inlen,
21 +static int blake2b(void *out, size_t outlen, const void *in, size_t inlen,
22 const void *key, size_t keylen);
24 /* Argon2 Team - Begin Code */
25 --- src/blake2/blake2b.c
26 +++ src/blake2/blake2b.c
30 /* Sequential blake2b initialization */
31 -int blake2b_init(blake2b_state *S, size_t outlen) {
32 +int argon2_blake2b_init(blake2b_state *S, size_t outlen) {
37 uint8_t block[BLAKE2B_BLOCKBYTES];
38 memset(block, 0, BLAKE2B_BLOCKBYTES);
39 memcpy(block, key, keylen);
40 - blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
41 + argon2_blake2b_update(S, block, BLAKE2B_BLOCKBYTES);
42 /* Burn the key from stack */
43 clear_internal_memory(block, BLAKE2B_BLOCKBYTES);
49 -int blake2b_update(blake2b_state *S, const void *in, size_t inlen) {
50 +int argon2_blake2b_update(blake2b_state *S, const void *in, size_t inlen) {
51 const uint8_t *pin = (const uint8_t *)in;
58 -int blake2b_final(blake2b_state *S, void *out, size_t outlen) {
59 +int argon2_blake2b_final(blake2b_state *S, void *out, size_t outlen) {
60 uint8_t buffer[BLAKE2B_OUTBYTES] = {0};
67 - if (blake2b_init(&S, outlen) < 0) {
68 + if (argon2_blake2b_init(&S, outlen) < 0) {
73 - if (blake2b_update(&S, in, inlen) < 0) {
74 + if (argon2_blake2b_update(&S, in, inlen) < 0) {
77 - ret = blake2b_final(&S, out, outlen);
78 + ret = argon2_blake2b_final(&S, out, outlen);
81 clear_internal_memory(&S, sizeof(S));
85 if (outlen <= BLAKE2B_OUTBYTES) {
86 - TRY(blake2b_init(&blake_state, outlen));
87 - TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
88 - TRY(blake2b_update(&blake_state, in, inlen));
89 - TRY(blake2b_final(&blake_state, out, outlen));
90 + TRY(argon2_blake2b_init(&blake_state, outlen));
91 + TRY(argon2_blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
92 + TRY(argon2_blake2b_update(&blake_state, in, inlen));
93 + TRY(argon2_blake2b_final(&blake_state, out, outlen));
96 uint8_t out_buffer[BLAKE2B_OUTBYTES];
97 uint8_t in_buffer[BLAKE2B_OUTBYTES];
98 - TRY(blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
99 - TRY(blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
100 - TRY(blake2b_update(&blake_state, in, inlen));
101 - TRY(blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
102 + TRY(argon2_blake2b_init(&blake_state, BLAKE2B_OUTBYTES));
103 + TRY(argon2_blake2b_update(&blake_state, outlen_bytes, sizeof(outlen_bytes)));
104 + TRY(argon2_blake2b_update(&blake_state, in, inlen));
105 + TRY(argon2_blake2b_final(&blake_state, out_buffer, BLAKE2B_OUTBYTES));
106 memcpy(out, out_buffer, BLAKE2B_OUTBYTES / 2);
107 out += BLAKE2B_OUTBYTES / 2;
108 toproduce = (uint32_t)outlen - BLAKE2B_OUTBYTES / 2;
111 @@ -544,31 +544,31 @@
115 - blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
116 + argon2_blake2b_init(&BlakeHash, ARGON2_PREHASH_DIGEST_LENGTH);
118 store32(&value, context->lanes);
119 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
120 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
122 store32(&value, context->outlen);
123 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
124 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
126 store32(&value, context->m_cost);
127 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
128 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
130 store32(&value, context->t_cost);
131 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
132 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
134 store32(&value, context->version);
135 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
136 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
138 store32(&value, (uint32_t)type);
139 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
140 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
142 store32(&value, context->pwdlen);
143 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
144 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
146 if (context->pwd != NULL) {
147 - blake2b_update(&BlakeHash, (const uint8_t *)context->pwd,
148 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)context->pwd,
151 if (context->flags & ARGON2_FLAG_CLEAR_PASSWORD) {
152 @@ -578,18 +578,18 @@
155 store32(&value, context->saltlen);
156 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
157 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
159 if (context->salt != NULL) {
160 - blake2b_update(&BlakeHash, (const uint8_t *)context->salt,
161 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)context->salt,
165 store32(&value, context->secretlen);
166 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
167 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
169 if (context->secret != NULL) {
170 - blake2b_update(&BlakeHash, (const uint8_t *)context->secret,
171 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)context->secret,
174 if (context->flags & ARGON2_FLAG_CLEAR_SECRET) {
175 @@ -599,14 +599,14 @@
178 store32(&value, context->adlen);
179 - blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
180 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)&value, sizeof(value));
182 if (context->ad != NULL) {
183 - blake2b_update(&BlakeHash, (const uint8_t *)context->ad,
184 + argon2_blake2b_update(&BlakeHash, (const uint8_t *)context->ad,
188 - blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
189 + argon2_blake2b_final(&BlakeHash, blockhash, ARGON2_PREHASH_DIGEST_LENGTH);
192 int initialize(argon2_instance_t *instance, argon2_context *context) {