Ascon-XOF128 extendable-output function. More...
Go to the source code of this file.
Macros | |
#define | TRACE_LEVEL CRYPTO_TRACE_LEVEL |
Functions | |
error_t | asconXof128Compute (const void *input, size_t inputLen, uint8_t *output, size_t outputLen) |
Digest a message using Ascon-XOF128. More... | |
void | asconXof128Init (AsconXof128Context *context) |
Initialize Ascon-XOF128 context. More... | |
void | asconXof128Absorb (AsconXof128Context *context, const void *input, size_t length) |
Absorb data. More... | |
void | asconXof128Final (AsconXof128Context *context) |
Finish absorbing phase. More... | |
void | asconXof128Squeeze (AsconXof128Context *context, uint8_t *output, size_t length) |
Extract data from the squeezing phase. More... | |
Detailed Description
Ascon-XOF128 extendable-output function.
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2025 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneCRYPTO Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Description
Ascon-XOF128 is an eXtendable Output Functions (XOF), where the output size of the hash of the message can be selected by the user, and the supported security strength is up to 128 bits
- Version
- 2.5.0
Definition in file ascon_xof128.c.
Macro Definition Documentation
◆ TRACE_LEVEL
#define TRACE_LEVEL CRYPTO_TRACE_LEVEL |
Definition at line 38 of file ascon_xof128.c.
Function Documentation
◆ asconXof128Absorb()
void asconXof128Absorb | ( | AsconXof128Context * | context, |
const void * | input, | ||
size_t | length | ||
) |
Absorb data.
- Parameters
-
[in] context Pointer to the Ascon-XOF128 context [in] input Pointer to the buffer being hashed [in] length Length of the buffer
Definition at line 135 of file ascon_xof128.c.
◆ asconXof128Compute()
error_t asconXof128Compute | ( | const void * | input, |
size_t | inputLen, | ||
uint8_t * | output, | ||
size_t | outputLen | ||
) |
Digest a message using Ascon-XOF128.
- Parameters
-
[in] input Pointer to the input data [in] inputLen Length of the input data [out] output Pointer to the output data [in] outputLen Expected length of the output data
- Returns
- Error code
Definition at line 57 of file ascon_xof128.c.
◆ asconXof128Final()
void asconXof128Final | ( | AsconXof128Context * | context | ) |
Finish absorbing phase.
- Parameters
-
[in] context Pointer to the Ascon-XOF128 context
Definition at line 179 of file ascon_xof128.c.
◆ asconXof128Init()
void asconXof128Init | ( | AsconXof128Context * | context | ) |
Initialize Ascon-XOF128 context.
- Parameters
-
[in] context Pointer to the Ascon-XOF128 context to initialize
Definition at line 105 of file ascon_xof128.c.
◆ asconXof128Squeeze()
void asconXof128Squeeze | ( | AsconXof128Context * | context, |
uint8_t * | output, | ||
size_t | length | ||
) |
Extract data from the squeezing phase.
- Parameters
-
[in] context Pointer to the Ascon-XOF128 context [out] output Output string [in] length Desired output length, in bytes
Definition at line 218 of file ascon_xof128.c.