Let us walk on the 3-isogeny graph
|
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include "fips202.h"
#include "keccakf1600.h"
Go to the source code of this file.
Macros | |
#define | NROUNDS 24 |
#define | ROL(a, offset) |
Functions | |
void | shake128_inc_init (shake128incctx *state) |
void | shake128_inc_absorb (shake128incctx *state, const uint8_t *input, size_t inlen) |
void | shake128_inc_finalize (shake128incctx *state) |
void | shake128_inc_squeeze (uint8_t *output, size_t outlen, shake128incctx *state) |
void | shake128_inc_ctx_clone (shake128incctx *dest, const shake128incctx *src) |
void | shake128_inc_ctx_release (shake128incctx *state) |
void | shake256_inc_init (shake256incctx *state) |
void | shake256_inc_absorb (shake256incctx *state, const uint8_t *input, size_t inlen) |
void | shake256_inc_finalize (shake256incctx *state) |
void | shake256_inc_squeeze (uint8_t *output, size_t outlen, shake256incctx *state) |
void | shake256_inc_ctx_clone (shake256incctx *dest, const shake256incctx *src) |
void | shake256_inc_ctx_release (shake256incctx *state) |
void | cshake128_simple_absorb (shake128ctx *state, uint16_t cstm, const uint8_t *in, size_t inlen) |
void | cshake128_simple_squeezeblocks (uint8_t *output, size_t nblocks, shake128ctx *state) |
void | cshake128_simple (uint8_t *output, size_t outlen, uint16_t cstm, const uint8_t *in, size_t inlen) |
void | shake128_absorb (shake128ctx *state, const uint8_t *input, size_t inlen) |
void | shake128_squeezeblocks (uint8_t *output, size_t nblocks, shake128ctx *state) |
void | shake128 (uint8_t *output, size_t outlen, const uint8_t *input, size_t inlen) |
void | shake128_ctx_release (shake128ctx *state) |
void | shake128_ctx_clone (shake128ctx *dest, const shake128ctx *src) |
void | shake256_absorb (shake256ctx *state, const uint8_t *input, size_t inlen) |
void | shake256_squeezeblocks (uint8_t *output, size_t nblocks, shake256ctx *state) |
void | shake256 (uint8_t *output, size_t outlen, const uint8_t *input, size_t inlen) |
void | shake256_ctx_release (shake256ctx *state) |
void | shake256_ctx_clone (shake256ctx *dest, const shake256ctx *src) |
void | sha3_256 (uint8_t *output, const uint8_t *input, size_t inlen) |
void | sha3_256_inc_init (sha3_256incctx *state) |
void | sha3_256_inc_absorb (sha3_256incctx *state, const uint8_t *input, size_t inlen) |
void | sha3_256_inc_finalize (uint8_t *output, sha3_256incctx *state) |
void | sha3_256_inc_ctx_clone (sha3_256incctx *dest, const sha3_256incctx *src) |
void | sha3_256_inc_ctx_release (sha3_256incctx *state) |
void | sha3_384_inc_init (sha3_384incctx *state) |
void | sha3_384_inc_absorb (sha3_384incctx *state, const uint8_t *input, size_t inlen) |
void | sha3_384_inc_finalize (uint8_t *output, sha3_384incctx *state) |
void | sha3_384_inc_ctx_clone (sha3_384incctx *dest, const sha3_384incctx *src) |
void | sha3_384_inc_ctx_release (sha3_384incctx *state) |
void | sha3_384 (uint8_t *output, const uint8_t *input, size_t inlen) |
void | sha3_512 (uint8_t *output, const uint8_t *input, size_t inlen) |
void | sha3_512_inc_init (sha3_512incctx *state) |
void | sha3_512_inc_absorb (sha3_512incctx *state, const uint8_t *input, size_t inlen) |
void | sha3_512_inc_finalize (uint8_t *output, sha3_512incctx *state) |
void | sha3_512_inc_ctx_clone (sha3_512incctx *dest, const sha3_512incctx *src) |
void | sha3_512_inc_ctx_release (sha3_512incctx *state) |
void | cshake256_simple_absorb (shake256ctx *state, uint16_t cstm, const uint8_t *in, size_t inlen) |
void | cshake256_simple_squeezeblocks (uint8_t *output, size_t nblocks, shake256ctx *state) |
void | cshake256_simple (uint8_t *output, size_t outlen, uint16_t cstm, const uint8_t *in, size_t inlen) |
#define NROUNDS 24 |
Definition at line 15 of file fips202.c.
Referenced by KeccakF1600_StatePermute().
#define ROL | ( | a, | |
offset ) |
void cshake128_simple | ( | uint8_t * | output, |
size_t | outlen, | ||
uint16_t | cstm, | ||
const uint8_t * | in, | ||
size_t | inlen ) |
Definition at line 370 of file fips202.c.
References shake128incctx::ctx, hal_get_time(), KeccakF1600_StatePermute(), KeccakF1600_StateXORBytes(), and SHAKE128_RATE.
void cshake128_simple_absorb | ( | shake128ctx * | state, |
uint16_t | cstm, | ||
const uint8_t * | in, | ||
size_t | inlen ) |
Definition at line 320 of file fips202.c.
References shake128ctx::ctx, hal_get_time(), i, KeccakF1600_StatePermute(), KeccakF1600_StateXORBytes(), and SHAKE128_RATE.
void cshake128_simple_squeezeblocks | ( | uint8_t * | output, |
size_t | nblocks, | ||
shake128ctx * | state ) |
Definition at line 357 of file fips202.c.
References shake128ctx::ctx, hal_get_time(), and SHAKE128_RATE.
void cshake256_simple | ( | uint8_t * | output, |
size_t | outlen, | ||
uint16_t | cstm, | ||
const uint8_t * | in, | ||
size_t | inlen ) |
Definition at line 829 of file fips202.c.
References shake256incctx::ctx, hal_get_time(), KeccakF1600_StatePermute(), KeccakF1600_StateXORBytes(), and SHAKE256_RATE.
void cshake256_simple_absorb | ( | shake256ctx * | state, |
uint16_t | cstm, | ||
const uint8_t * | in, | ||
size_t | inlen ) |
Definition at line 783 of file fips202.c.
References shake256ctx::ctx, hal_get_time(), i, KeccakF1600_StatePermute(), KeccakF1600_StateXORBytes(), and SHAKE256_RATE.
void cshake256_simple_squeezeblocks | ( | uint8_t * | output, |
size_t | nblocks, | ||
shake256ctx * | state ) |
Definition at line 816 of file fips202.c.
References shake256ctx::ctx, hal_get_time(), and SHAKE256_RATE.
void sha3_256 | ( | uint8_t * | output, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 563 of file fips202.c.
References sha3_256incctx::ctx, hal_get_time(), and SHA3_256_RATE.
void sha3_256_inc_absorb | ( | sha3_256incctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 593 of file fips202.c.
References sha3_256incctx::ctx, hal_get_time(), and SHA3_256_RATE.
void sha3_256_inc_ctx_clone | ( | sha3_256incctx * | dest, |
const sha3_256incctx * | src ) |
void sha3_256_inc_ctx_release | ( | sha3_256incctx * | state | ) |
void sha3_256_inc_finalize | ( | uint8_t * | output, |
sha3_256incctx * | state ) |
Definition at line 604 of file fips202.c.
References sha3_256incctx::ctx, hal_get_time(), i, and SHA3_256_RATE.
void sha3_256_inc_init | ( | sha3_256incctx * | state | ) |
Definition at line 582 of file fips202.c.
References sha3_256incctx::ctx, and hal_get_time().
void sha3_384 | ( | uint8_t * | output, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 687 of file fips202.c.
References sha3_384incctx::ctx, hal_get_time(), and SHA3_384_RATE.
void sha3_384_inc_absorb | ( | sha3_384incctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 641 of file fips202.c.
References sha3_384incctx::ctx, hal_get_time(), and SHA3_384_RATE.
void sha3_384_inc_ctx_clone | ( | sha3_384incctx * | dest, |
const sha3_384incctx * | src ) |
void sha3_384_inc_ctx_release | ( | sha3_384incctx * | state | ) |
void sha3_384_inc_finalize | ( | uint8_t * | output, |
sha3_384incctx * | state ) |
Definition at line 652 of file fips202.c.
References sha3_384incctx::ctx, hal_get_time(), i, and SHA3_384_RATE.
void sha3_384_inc_init | ( | sha3_384incctx * | state | ) |
Definition at line 630 of file fips202.c.
References sha3_384incctx::ctx, and hal_get_time().
void sha3_512 | ( | uint8_t * | output, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 714 of file fips202.c.
References sha3_512incctx::ctx, hal_get_time(), and SHA3_512_RATE.
void sha3_512_inc_absorb | ( | sha3_512incctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 744 of file fips202.c.
References sha3_512incctx::ctx, hal_get_time(), and SHA3_512_RATE.
void sha3_512_inc_ctx_clone | ( | sha3_512incctx * | dest, |
const sha3_512incctx * | src ) |
void sha3_512_inc_ctx_release | ( | sha3_512incctx * | state | ) |
void sha3_512_inc_finalize | ( | uint8_t * | output, |
sha3_512incctx * | state ) |
Definition at line 755 of file fips202.c.
References sha3_512incctx::ctx, hal_get_time(), i, and SHA3_512_RATE.
void sha3_512_inc_init | ( | sha3_512incctx * | state | ) |
Definition at line 733 of file fips202.c.
References sha3_512incctx::ctx, and hal_get_time().
void shake128 | ( | uint8_t * | output, |
size_t | outlen, | ||
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 456 of file fips202.c.
References shake128incctx::ctx, hal_get_time(), and SHAKE128_RATE.
void shake128_absorb | ( | shake128ctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 417 of file fips202.c.
References shake128ctx::ctx, hal_get_time(), i, and SHAKE128_RATE.
void shake128_ctx_clone | ( | shake128ctx * | dest, |
const shake128ctx * | src ) |
void shake128_ctx_release | ( | shake128ctx * | state | ) |
void shake128_inc_absorb | ( | shake128incctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 225 of file fips202.c.
References shake128incctx::ctx, hal_get_time(), and SHAKE128_RATE.
void shake128_inc_ctx_clone | ( | shake128incctx * | dest, |
const shake128incctx * | src ) |
void shake128_inc_ctx_release | ( | shake128incctx * | state | ) |
void shake128_inc_finalize | ( | shake128incctx * | state | ) |
Definition at line 236 of file fips202.c.
References shake128incctx::ctx, hal_get_time(), and SHAKE128_RATE.
void shake128_inc_init | ( | shake128incctx * | state | ) |
Definition at line 214 of file fips202.c.
References shake128incctx::ctx, and hal_get_time().
void shake128_inc_squeeze | ( | uint8_t * | output, |
size_t | outlen, | ||
shake128incctx * | state ) |
Definition at line 247 of file fips202.c.
References shake128incctx::ctx, hal_get_time(), and SHAKE128_RATE.
void shake128_squeezeblocks | ( | uint8_t * | output, |
size_t | nblocks, | ||
shake128ctx * | state ) |
Definition at line 444 of file fips202.c.
References shake128ctx::ctx, hal_get_time(), and SHAKE128_RATE.
void shake256 | ( | uint8_t * | output, |
size_t | outlen, | ||
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 523 of file fips202.c.
References shake256incctx::ctx, hal_get_time(), and SHAKE256_RATE.
void shake256_absorb | ( | shake256ctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 484 of file fips202.c.
References shake256ctx::ctx, hal_get_time(), i, and SHAKE256_RATE.
void shake256_ctx_clone | ( | shake256ctx * | dest, |
const shake256ctx * | src ) |
void shake256_ctx_release | ( | shake256ctx * | state | ) |
void shake256_inc_absorb | ( | shake256incctx * | state, |
const uint8_t * | input, | ||
size_t | inlen ) |
Definition at line 277 of file fips202.c.
References shake256incctx::ctx, hal_get_time(), and SHAKE256_RATE.
void shake256_inc_ctx_clone | ( | shake256incctx * | dest, |
const shake256incctx * | src ) |
void shake256_inc_ctx_release | ( | shake256incctx * | state | ) |
void shake256_inc_finalize | ( | shake256incctx * | state | ) |
Definition at line 288 of file fips202.c.
References shake256incctx::ctx, hal_get_time(), and SHAKE256_RATE.
void shake256_inc_init | ( | shake256incctx * | state | ) |
Definition at line 266 of file fips202.c.
References shake256incctx::ctx, and hal_get_time().
void shake256_inc_squeeze | ( | uint8_t * | output, |
size_t | outlen, | ||
shake256incctx * | state ) |
Definition at line 299 of file fips202.c.
References shake256incctx::ctx, hal_get_time(), and SHAKE256_RATE.
void shake256_squeezeblocks | ( | uint8_t * | output, |
size_t | nblocks, | ||
shake256ctx * | state ) |
Definition at line 501 of file fips202.c.
References shake256ctx::ctx, hal_get_time(), and SHAKE256_RATE.