1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
** Name: pbkdf2.h
** Purpose: API definition of PBKDF2 algoritm with Ascon
** Password-based key derivation function based on ASCON.
** (see https://tools.ietf.org/html/rfc8018)
** Based on: Public domain Ascon reference implementation
** and optimized variants for 32- and 64-bit
** (see https://github.com/ascon/ascon-c)
** and the paper "Additional Modes for ASCON Version 1.1"
** by Rhys Weatherley, Southern Storm Software, Pty Ltd.
** Remarks: API functions adapted for use in SQLite3 Multiple Ciphers
** Created by: Ulrich Telle
** Copyright: (c) 2023-2023 Ulrich Telle
** License: MIT
*/
/*
** Default output block size for ASCON-PBKDF2
*/
/*
** Derives key material using ASCON-PBKDF2.
**
** \param out Output buffer for generated key material
** \param outlen Number of bytes in generated key material
** \param password Password bytes
** \param passwordlen Length of password in bytes
** \param salt Salt bytes
** \param saltlen Number of bytes in the salt
** \param count Number of iterations to perform
*/
void