2019-01-16 09:15:18 +00:00
|
|
|
#ifndef SIGN_H
|
|
|
|
#define SIGN_H
|
2019-03-05 13:14:47 +00:00
|
|
|
#include <stddef.h>
|
|
|
|
#include <stdint.h>
|
2019-01-16 09:15:18 +00:00
|
|
|
|
|
|
|
#include "params.h"
|
|
|
|
#include "poly.h"
|
|
|
|
#include "polyvec.h"
|
|
|
|
|
2019-02-26 16:27:32 +00:00
|
|
|
void PQCLEAN_DILITHIUMIII_CLEAN_expand_mat(polyvecl mat[K],
|
2019-03-05 13:14:47 +00:00
|
|
|
const uint8_t rho[SEEDBYTES]);
|
|
|
|
void PQCLEAN_DILITHIUMIII_CLEAN_challenge(poly *c, const uint8_t mu[CRHBYTES],
|
2019-02-26 16:27:32 +00:00
|
|
|
const polyveck *w1);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
2019-03-05 13:14:47 +00:00
|
|
|
int PQCLEAN_DILITHIUMIII_CLEAN_crypto_sign_keypair(uint8_t *pk,
|
|
|
|
uint8_t *sk);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
2019-03-05 13:14:47 +00:00
|
|
|
int PQCLEAN_DILITHIUMIII_CLEAN_crypto_sign(uint8_t *sm,
|
|
|
|
size_t *smlen,
|
|
|
|
const uint8_t *m,
|
|
|
|
size_t mlen,
|
|
|
|
const uint8_t *sk);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
2019-03-05 13:14:47 +00:00
|
|
|
int PQCLEAN_DILITHIUMIII_CLEAN_crypto_sign_open(uint8_t *m,
|
|
|
|
size_t *mlen,
|
|
|
|
const uint8_t *sm,
|
|
|
|
size_t smlen,
|
|
|
|
const uint8_t *pk);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
|
|
|
#endif
|