KpqC-0.1.0: cbits/third_party/HAETAE/include/packing.h
// SPDX-License-Identifier: MIT
#ifndef HAETAE_PACKING_H
#define HAETAE_PACKING_H
#include "params.h"
#include "polyvec.h"
#include <stdint.h>
#define pack_vk HAETAE_NAMESPACE(pack_vk)
void pack_vk(uint8_t vk[HAETAE_CRYPTO_PUBLICKEYBYTES], polyveck *b,
const uint8_t seed[HAETAE_SEEDBYTES]);
#define unpack_vk HAETAE_NAMESPACE(unpack_vk)
void unpack_vk(polyvecl A[HAETAE_K],
const uint8_t vk[HAETAE_CRYPTO_PUBLICKEYBYTES]);
#define pack_sk HAETAE_NAMESPACE(pack_sk)
void pack_sk(uint8_t sk[HAETAE_CRYPTO_SECRETKEYBYTES],
const uint8_t vk[HAETAE_CRYPTO_PUBLICKEYBYTES], const polyvecm *s0,
const polyveck *s1, const uint8_t key[HAETAE_SEEDBYTES]);
#define unpack_sk HAETAE_NAMESPACE(unpack_sk)
void unpack_sk(polyvecl A[HAETAE_K], polyvecm *s0, polyveck *s1, uint8_t *key,
const uint8_t sk[HAETAE_CRYPTO_SECRETKEYBYTES]);
#define pack_sig HAETAE_NAMESPACE(pack_sig)
int pack_sig(uint8_t sig[HAETAE_CRYPTO_BYTES], const poly *c,
const polyvecl *lowbits_z1, const polyvecl *highbits_z1,
const polyveck *h);
#define unpack_sig HAETAE_NAMESPACE(unpack_sig)
int unpack_sig(poly *c, polyvecl *lowbits_z1, polyvecl *highbits_z1,
polyveck *h, const uint8_t sig[HAETAE_CRYPTO_BYTES]);
#define pack_poly_q HAETAE_NAMESPACE(pack_poly_q)
void pack_poly_q(uint8_t *r, const poly *a);
#define unpack_poly_q HAETAE_NAMESPACE(unpack_poly_q)
void unpack_poly_q(poly *r, const uint8_t *a);
#define pack_poly_eta HAETAE_NAMESPACE(pack_poly_eta)
void pack_poly_eta(uint8_t *r, const poly *a);
#define unpack_poly_eta HAETAE_NAMESPACE(unpack_poly_eta)
void unpack_poly_eta(poly *r, const uint8_t *a);
#define pack_poly2_eta HAETAE_NAMESPACE(pack_poly2_eta)
void pack_poly2_eta(uint8_t *r, const poly *a);
#define unpack_poly2_eta HAETAE_NAMESPACE(unpack_poly2_eta)
void unpack_poly2_eta(poly *r, const uint8_t *a);
#define pack_vec_highbits HAETAE_NAMESPACE(pack_vec_highbits)
void pack_vec_highbits(uint8_t *buf, const polyveck *v);
#define pack_poly_highbits HAETAE_NAMESPACE(pack_poly_highbits)
void pack_poly_highbits(uint8_t *buf, const poly *a);
#define pack_poly_lsb HAETAE_NAMESPACE(pack_poly_lsb)
void pack_poly_lsb(uint8_t *buf, const poly *a);
#endif /* !HAETAE_PACKING_H */