Embedded SDK
Embedded SDK
Loading...
Searching...
No Matches
Functions
cx_mldsa_util.c File Reference

ML-DSA utility functions (FIPS 204). More...

#include <string.h>
#include "lcx_mldsa.h"
#include "cx_mldsa_util.h"
#include "lcx_sha3.h"
#include "lcx_hash.h"
Include dependency graph for cx_mldsa_util.c:

Go to the source code of this file.

Functions

void MLDSA_UTIL_shake256 (uint8_t *out, size_t outlen, const uint8_t *in, size_t inlen)
 SHAKE256 hash wrapper.
 
void MLDSA_UTIL_shake128 (uint8_t *out, size_t outlen, const uint8_t *in, size_t inlen)
 SHAKE128 hash wrapper.
 
void MLDSA_UTIL_shake256_two (uint8_t *out, size_t outlen, const uint8_t *in1, size_t in1len, const uint8_t *in2, size_t in2len)
 SHAKE256 with two inputs concatenated.
 
void MLDSA_UTIL_shake256_three (uint8_t *out, size_t outlen, const uint8_t *in1, size_t in1len, const uint8_t *in2, size_t in2len, const uint8_t *in3, size_t in3len)
 SHAKE256 with three inputs concatenated.
 
void MLDSA_UTIL_shake128_seed_nonce (uint8_t *out, size_t outlen, const uint8_t *seed, size_t seedlen, uint16_t nonce)
 SHAKE128 with seed || uint16_t nonce.
 
void MLDSA_UTIL_shake256_seed_nonce (uint8_t *out, size_t outlen, const uint8_t *seed, size_t seedlen, uint16_t nonce)
 SHAKE256 with seed || uint16_t nonce.
 

Detailed Description

ML-DSA utility functions (FIPS 204).

Definition in file cx_mldsa_util.c.

Function Documentation

◆ MLDSA_UTIL_shake128()

void MLDSA_UTIL_shake128 ( uint8_t *  out,
size_t  outlen,
const uint8_t *  in,
size_t  inlen 
)

SHAKE128 hash wrapper.

Definition at line 32 of file cx_mldsa_util.c.

◆ MLDSA_UTIL_shake128_seed_nonce()

void MLDSA_UTIL_shake128_seed_nonce ( uint8_t *  out,
size_t  outlen,
const uint8_t *  seed,
size_t  seedlen,
uint16_t  nonce 
)

SHAKE128 with seed || uint16_t nonce.

Definition at line 77 of file cx_mldsa_util.c.

◆ MLDSA_UTIL_shake256()

void MLDSA_UTIL_shake256 ( uint8_t *  out,
size_t  outlen,
const uint8_t *  in,
size_t  inlen 
)

SHAKE256 hash wrapper.

Definition at line 27 of file cx_mldsa_util.c.

◆ MLDSA_UTIL_shake256_seed_nonce()

void MLDSA_UTIL_shake256_seed_nonce ( uint8_t *  out,
size_t  outlen,
const uint8_t *  seed,
size_t  seedlen,
uint16_t  nonce 
)

SHAKE256 with seed || uint16_t nonce.

Definition at line 94 of file cx_mldsa_util.c.

◆ MLDSA_UTIL_shake256_three()

void MLDSA_UTIL_shake256_three ( uint8_t *  out,
size_t  outlen,
const uint8_t *  in1,
size_t  in1len,
const uint8_t *  in2,
size_t  in2len,
const uint8_t *  in3,
size_t  in3len 
)

SHAKE256 with three inputs concatenated.

Definition at line 61 of file cx_mldsa_util.c.

◆ MLDSA_UTIL_shake256_two()

void MLDSA_UTIL_shake256_two ( uint8_t *  out,
size_t  outlen,
const uint8_t *  in1,
size_t  in1len,
const uint8_t *  in2,
size_t  in2len 
)

SHAKE256 with two inputs concatenated.

Definition at line 37 of file cx_mldsa_util.c.