pqc/crypto_kem/mceliece348864/avx/api.h
Thom Wiggers ac2c20045c Classic McEliece (#259)
* Add McEliece reference implementations

* Add Vec implementations of McEliece

* Add sse implementations

* Add AVX2 implementations

* Get rid of stuff not supported by Mac ABI

* restrict to two cores

* Ditch .data files

* Remove .hidden from all .S files

* speed up duplicate consistency tests by batching

* make cpuinfo more robust

* Hope to stabilize macos cpuinfo without ccache

* Revert "Hope to stabilize macos cpuinfo without ccache"

This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322.

* Just hardcode what's available at travis

* Fixed-size types in api.h

* namespace all header files in mceliece

* Ditch operations.h

* Get rid of static inline functions

* fixup! Ditch operations.h
2021-03-24 21:02:45 +00:00

33 lines
738 B
C

#ifndef PQCLEAN_MCELIECE348864_AVX_API_H
#define PQCLEAN_MCELIECE348864_AVX_API_H
#include <stdint.h>
#define PQCLEAN_MCELIECE348864_AVX_CRYPTO_ALGNAME "Classic McEliece 348864"
#define PQCLEAN_MCELIECE348864_AVX_CRYPTO_PUBLICKEYBYTES 261120
#define PQCLEAN_MCELIECE348864_AVX_CRYPTO_SECRETKEYBYTES 6452
#define PQCLEAN_MCELIECE348864_AVX_CRYPTO_CIPHERTEXTBYTES 128
#define PQCLEAN_MCELIECE348864_AVX_CRYPTO_BYTES 32
int PQCLEAN_MCELIECE348864_AVX_crypto_kem_enc(
uint8_t *c,
uint8_t *key,
const uint8_t *pk
);
int PQCLEAN_MCELIECE348864_AVX_crypto_kem_dec(
uint8_t *key,
const uint8_t *c,
const uint8_t *sk
);
int PQCLEAN_MCELIECE348864_AVX_crypto_kem_keypair
(
uint8_t *pk,
uint8_t *sk
);
#endif