print_number(nb_iterations );
print_vector(password, 16 );
print_vector(salt , crypto_pwhash_SALTBYTES);
+ printf(":\n:\n"); // no key, no additionnal data
print_vector(hash , hash_size );
printf("\n");
}
aead_ietf.all.vec : aead_ietf.vec
blake2b.all.vec : blake2b.vec
sha512.all.vec : sha512.vec
-argon2i.all.vec : argon2i.vec
+argon2i.all.vec : argon2i.vec ../vectors/argon2i
edDSA.all.vec : edDSA.vec
key_exchange.all.vec: ../vectors/key_exchange
$(VEC2):
u64 nb_iterations = load64_le(in[1].buf);
const vector *password = in + 2;
const vector *salt = in + 3;
+ const vector *key = in + 4;
+ const vector *ad = in + 5;
void *work_area = alloc(nb_blocks * 1024);
- crypto_argon2i(out->buf, out->size,
- work_area, nb_blocks, nb_iterations,
- password->buf, password->size,
- salt ->buf, salt ->size);
+ crypto_argon2i_general(out->buf, out->size,
+ work_area, nb_blocks, nb_iterations,
+ password->buf, password->size,
+ salt ->buf, salt ->size,
+ key ->buf, key ->size,
+ ad ->buf, ad ->size);
free(work_area);
}
status |= TEST(aead_ietf , 4);
status |= TEST(blake2b , 2);
status |= TEST(sha512 , 1);
- status |= TEST(argon2i , 4);
+ status |= TEST(argon2i , 6);
status |= TEST(x25519 , 2);
status |= TEST(key_exchange, 2);
status |= TEST(edDSA , 3);