Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-06 09:38:11

0001 #ifndef crypto_kem_xwing_H
0002 #define crypto_kem_xwing_H
0003 
0004 #include <stddef.h>
0005 
0006 #include "export.h"
0007 
0008 #ifdef __cplusplus
0009 #    ifdef __GNUC__
0010 #        pragma GCC diagnostic ignored "-Wlong-long"
0011 #    endif
0012 extern "C" {
0013 #endif
0014 
0015 #define crypto_kem_xwing_PUBLICKEYBYTES 1216U
0016 SODIUM_EXPORT
0017 size_t crypto_kem_xwing_publickeybytes(void);
0018 
0019 #define crypto_kem_xwing_SECRETKEYBYTES 32U
0020 SODIUM_EXPORT
0021 size_t crypto_kem_xwing_secretkeybytes(void);
0022 
0023 #define crypto_kem_xwing_CIPHERTEXTBYTES 1120U
0024 SODIUM_EXPORT
0025 size_t crypto_kem_xwing_ciphertextbytes(void);
0026 
0027 #define crypto_kem_xwing_SHAREDSECRETBYTES 32U
0028 SODIUM_EXPORT
0029 size_t crypto_kem_xwing_sharedsecretbytes(void);
0030 
0031 #define crypto_kem_xwing_SEEDBYTES 32U
0032 SODIUM_EXPORT
0033 size_t crypto_kem_xwing_seedbytes(void);
0034 
0035 SODIUM_EXPORT
0036 int crypto_kem_xwing_seed_keypair(unsigned char       pk[crypto_kem_xwing_PUBLICKEYBYTES],
0037                                   unsigned char       sk[crypto_kem_xwing_SECRETKEYBYTES],
0038                                   const unsigned char seed[crypto_kem_xwing_SEEDBYTES])
0039     __attribute__((nonnull));
0040 
0041 SODIUM_EXPORT
0042 int crypto_kem_xwing_keypair(unsigned char pk[crypto_kem_xwing_PUBLICKEYBYTES],
0043                              unsigned char sk[crypto_kem_xwing_SECRETKEYBYTES])
0044     __attribute__((nonnull));
0045 
0046 SODIUM_EXPORT
0047 int crypto_kem_xwing_enc(unsigned char       ct[crypto_kem_xwing_CIPHERTEXTBYTES],
0048                          unsigned char       ss[crypto_kem_xwing_SHAREDSECRETBYTES],
0049                          const unsigned char pk[crypto_kem_xwing_PUBLICKEYBYTES])
0050     __attribute__((warn_unused_result)) __attribute__((nonnull));
0051 
0052 SODIUM_EXPORT
0053 int crypto_kem_xwing_enc_deterministic(unsigned char       ct[crypto_kem_xwing_CIPHERTEXTBYTES],
0054                                        unsigned char       ss[crypto_kem_xwing_SHAREDSECRETBYTES],
0055                                        const unsigned char pk[crypto_kem_xwing_PUBLICKEYBYTES],
0056                                        const unsigned char seed[64])
0057     __attribute__((warn_unused_result)) __attribute__((nonnull));
0058 
0059 SODIUM_EXPORT
0060 int crypto_kem_xwing_dec(unsigned char       ss[crypto_kem_xwing_SHAREDSECRETBYTES],
0061                          const unsigned char ct[crypto_kem_xwing_CIPHERTEXTBYTES],
0062                          const unsigned char sk[crypto_kem_xwing_SECRETKEYBYTES])
0063     __attribute__((warn_unused_result)) __attribute__((nonnull));
0064 
0065 #ifdef __cplusplus
0066 }
0067 #endif
0068 
0069 #endif