ASCON Suite
Public Attributes | List of all members
ascon_state_t Union Reference

Structure of the internal state of the ASCON permutation. More...

#include <permutation.h>

Public Attributes

uint64_t S [5]
 
uint32_t W [10]
 
uint8_t B [40]
 
void * P [40/sizeof(void *)]
 

Detailed Description

Structure of the internal state of the ASCON permutation.

The order of bits and bytes in the state may not match the regular big-endian byte order of standard ASCON. The bits and bytes are stored in an "operational" form which is more efficient for the back end to process.

This structure should be treated as opaque by calling applications when it is in operational form. It is declared publicly only to ensure correct alignment for efficient 64-bit word access by the back end.

If the back end requires more than 40 bytes for the permutation state, then ascon_init() will allocate a structure and place a pointer to that structure into P. The application should call ascon_free() to properly free the permutation state when it is no longer required.

Examples
permutation/encrypt/main.c, and permutation/hash/main.c.

Definition at line 62 of file permutation.h.

Member Data Documentation

◆ B

uint8_t ascon_state_t::B[40]

Bytes of the state

Definition at line 66 of file permutation.h.

◆ P

void* ascon_state_t::P[40/sizeof(void *)]

Private backend state

Definition at line 67 of file permutation.h.

◆ S

uint64_t ascon_state_t::S[5]

64-bit words of the state

Definition at line 64 of file permutation.h.

◆ W

uint32_t ascon_state_t::W[10]

32-bit words of the state

Definition at line 65 of file permutation.h.


The documentation for this union was generated from the following file: