2019-01-16 09:15:18 +00:00
|
|
|
#ifndef SIGN_H
|
|
|
|
#define SIGN_H
|
|
|
|
|
|
|
|
#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],
|
|
|
|
const unsigned char rho[SEEDBYTES]);
|
|
|
|
void PQCLEAN_DILITHIUMIII_CLEAN_challenge(poly *c, const unsigned char mu[CRHBYTES],
|
|
|
|
const polyveck *w1);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
2019-02-26 16:27:32 +00:00
|
|
|
int PQCLEAN_DILITHIUMIII_CLEAN_crypto_sign_keypair(unsigned char *pk,
|
2019-02-13 16:45:09 +00:00
|
|
|
unsigned char *sk);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
2019-02-26 16:27:32 +00:00
|
|
|
int PQCLEAN_DILITHIUMIII_CLEAN_crypto_sign(unsigned char *sm,
|
|
|
|
unsigned long long *smlen,
|
|
|
|
const unsigned char *m,
|
|
|
|
unsigned long long mlen,
|
|
|
|
const unsigned char *sk);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
2019-02-26 16:27:32 +00:00
|
|
|
int PQCLEAN_DILITHIUMIII_CLEAN_crypto_sign_open(unsigned char *m,
|
2019-02-13 16:45:09 +00:00
|
|
|
unsigned long long *mlen,
|
|
|
|
const unsigned char *sm,
|
|
|
|
unsigned long long smlen,
|
|
|
|
const unsigned char *pk);
|
2019-01-16 09:15:18 +00:00
|
|
|
|
|
|
|
#endif
|