Skip to content

Commit

Permalink
remove BIKE R2 and OQS default algs (#109)
Browse files Browse the repository at this point in the history
  • Loading branch information
baentsch authored Jul 3, 2021
1 parent 0e74564 commit b9aadc6
Show file tree
Hide file tree
Showing 35 changed files with 193 additions and 894 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,8 @@ If an algorithm is provided by liboqs but is not listed below, it can still be u

The following quantum-safe algorithms from liboqs are supported (assuming they have been enabled in liboqs):

- `oqs-default-sha256` (see [here](https://github.com/open-quantum-safe/openssh-portable/wiki/Using-liboqs-supported-algorithms-in-the-fork) for what this denotes)
<!--- OQS_TEMPLATE_FRAGMENT_LIST_ALL_KEXS_START -->
- **BIKE**: `bike1-l1-cpa-sha512`, `bike1-l1-fo-sha512`, `bike1-l3-cpa-sha512`, `bike1-l3-fo-sha512`
- **BIKE**: `bike-l1-sha512`, `bike-l3-sha512`
- **ClassicMcEliece**: `classic-mceliece-348864-sha256`, `classic-mceliece-348864f-sha256`, `classic-mceliece-460896-sha512`, `classic-mceliece-460896f-sha512`, `classic-mceliece-6688128-sha512`, `classic-mceliece-6688128f-sha512`, `classic-mceliece-6960119-sha512`, `classic-mceliece-6960119f-sha512`, `classic-mceliece-8192128-sha512`, `classic-mceliece-8192128f-sha512`
- **FrodoKEM**: `frodokem-640-aes-sha256`, `frodokem-976-aes-sha384`, `frodokem-1344-aes-sha512`, `frodokem-640-shake-sha256`, `frodokem-976-shake-sha384`, `frodokem-1344-shake-sha512`
- **HQC**: `hqc-128-sha256`, `hqc-192-sha384`, `hqc-256-sha512`
Expand All @@ -84,7 +83,6 @@ Note that algorithms marked with a dagger (†) have large stack usage and may c

The following digital signature algorithms from liboqs are supported (assuming they have been enabled in liboqs). Note that only select L3 signature variants are enabled by default. In general, algorithms that are enabled by default are marked with an asterisk, and should you wish to enable additional variants, consult [the "Code Generation" section of the documentation in the wiki](https://github.com/open-quantum-safe/openssh/wiki/Using-liboqs-supported-algorithms-in-the-fork#code-generation). Note that enabling Rainbow will introduce a substantial execution delay to all operations. If doing it inadvertently, tests will fail and all kind of headaches occur. You have been warned.

- `oqsdefault` (see [here](https://github.com/open-quantum-safe/openssh-portable/wiki/Using-liboqs-supported-algorithms-in-the-fork) for what this denotes)
<!--- OQS_TEMPLATE_FRAGMENT_LIST_ALL_SIGS_START -->
- **Dilithium**: `dilithium2`, `dilithium3`\*, `dilithium5`, `dilithium2aes`\*, `dilithium3aes`, `dilithium5aes`\*
- **Falcon**: `falcon512`\*, `falcon1024`\*
Expand Down
14 changes: 4 additions & 10 deletions kex.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ static const struct kexalg kexalgs[] = {
#endif /* HAVE_EVP_SHA256 || !WITH_OPENSSL */

///// OQS_TEMPLATE_FRAGMENT_ADD_KEX_ALGS_START
{ KEX_OQS_DEFAULT_SHA256, KEX_KEM_OQS_DEFAULT_SHA256, 0, SSH_DIGEST_SHA256 },
{ KEX_FRODOKEM_640_AES_SHA256, KEX_KEM_FRODOKEM_640_AES_SHA256, 0, SSH_DIGEST_SHA256 },
{ KEX_FRODOKEM_976_AES_SHA384, KEX_KEM_FRODOKEM_976_AES_SHA384, 0, SSH_DIGEST_SHA384 },
{ KEX_FRODOKEM_1344_AES_SHA512, KEX_KEM_FRODOKEM_1344_AES_SHA512, 0, SSH_DIGEST_SHA512 },
Expand Down Expand Up @@ -146,10 +145,8 @@ static const struct kexalg kexalgs[] = {
{ KEX_KYBER_512_90S_SHA256, KEX_KEM_KYBER_512_90S_SHA256, 0, SSH_DIGEST_SHA256 },
{ KEX_KYBER_768_90S_SHA384, KEX_KEM_KYBER_768_90S_SHA384, 0, SSH_DIGEST_SHA384 },
{ KEX_KYBER_1024_90S_SHA512, KEX_KEM_KYBER_1024_90S_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L1_CPA_SHA512, KEX_KEM_BIKE1_L1_CPA_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L1_FO_SHA512, KEX_KEM_BIKE1_L1_FO_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L3_CPA_SHA512, KEX_KEM_BIKE1_L3_CPA_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L3_FO_SHA512, KEX_KEM_BIKE1_L3_FO_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_BIKE_L1_SHA512, KEX_KEM_BIKE_L1_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_BIKE_L3_SHA512, KEX_KEM_BIKE_L3_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_NTRU_HPS2048509_SHA512, KEX_KEM_NTRU_HPS2048509_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_NTRU_HPS2048677_SHA512, KEX_KEM_NTRU_HPS2048677_SHA512, 0, SSH_DIGEST_SHA512 },
{ KEX_NTRU_HRSS701_SHA512, KEX_KEM_NTRU_HRSS701_SHA512, 0, SSH_DIGEST_SHA512 },
Expand All @@ -174,7 +171,6 @@ static const struct kexalg kexalgs[] = {
{ KEX_NTRUPRIME_NTRULPR857_SHA384, KEX_KEM_NTRUPRIME_NTRULPR857_SHA384, 0, SSH_DIGEST_SHA384 },
{ KEX_NTRUPRIME_SNTRUP857_SHA384, KEX_KEM_NTRUPRIME_SNTRUP857_SHA384, 0, SSH_DIGEST_SHA384 },
#ifdef OPENSSL_HAS_ECC
{ KEX_OQS_DEFAULT_ECDH_NISTP256_SHA256, KEX_KEM_OQS_DEFAULT_ECDH_NISTP256_SHA256, NID_X9_62_prime256v1, SSH_DIGEST_SHA256 },
{ KEX_FRODOKEM_640_AES_ECDH_NISTP256_SHA256, KEX_KEM_FRODOKEM_640_AES_ECDH_NISTP256_SHA256, NID_X9_62_prime256v1, SSH_DIGEST_SHA256 },
{ KEX_FRODOKEM_976_AES_ECDH_NISTP384_SHA384, KEX_KEM_FRODOKEM_976_AES_ECDH_NISTP384_SHA384, NID_secp384r1, SSH_DIGEST_SHA384 },
{ KEX_FRODOKEM_1344_AES_ECDH_NISTP521_SHA512, KEX_KEM_FRODOKEM_1344_AES_ECDH_NISTP521_SHA512, NID_secp521r1, SSH_DIGEST_SHA512 },
Expand Down Expand Up @@ -202,10 +198,8 @@ static const struct kexalg kexalgs[] = {
{ KEX_KYBER_512_90S_ECDH_NISTP256_SHA256, KEX_KEM_KYBER_512_90S_ECDH_NISTP256_SHA256, NID_X9_62_prime256v1, SSH_DIGEST_SHA256 },
{ KEX_KYBER_768_90S_ECDH_NISTP384_SHA384, KEX_KEM_KYBER_768_90S_ECDH_NISTP384_SHA384, NID_secp384r1, SSH_DIGEST_SHA384 },
{ KEX_KYBER_1024_90S_ECDH_NISTP521_SHA512, KEX_KEM_KYBER_1024_90S_ECDH_NISTP521_SHA512, NID_secp521r1, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L1_CPA_ECDH_NISTP256_SHA512, KEX_KEM_BIKE1_L1_CPA_ECDH_NISTP256_SHA512, NID_X9_62_prime256v1, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L1_FO_ECDH_NISTP256_SHA512, KEX_KEM_BIKE1_L1_FO_ECDH_NISTP256_SHA512, NID_X9_62_prime256v1, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L3_CPA_ECDH_NISTP384_SHA512, KEX_KEM_BIKE1_L3_CPA_ECDH_NISTP384_SHA512, NID_secp384r1, SSH_DIGEST_SHA512 },
{ KEX_BIKE1_L3_FO_ECDH_NISTP384_SHA512, KEX_KEM_BIKE1_L3_FO_ECDH_NISTP384_SHA512, NID_secp384r1, SSH_DIGEST_SHA512 },
{ KEX_BIKE_L1_ECDH_NISTP256_SHA512, KEX_KEM_BIKE_L1_ECDH_NISTP256_SHA512, NID_X9_62_prime256v1, SSH_DIGEST_SHA512 },
{ KEX_BIKE_L3_ECDH_NISTP384_SHA512, KEX_KEM_BIKE_L3_ECDH_NISTP384_SHA512, NID_secp384r1, SSH_DIGEST_SHA512 },
{ KEX_NTRU_HPS2048509_ECDH_NISTP256_SHA512, KEX_KEM_NTRU_HPS2048509_ECDH_NISTP256_SHA512, NID_X9_62_prime256v1, SSH_DIGEST_SHA512 },
{ KEX_NTRU_HPS2048677_ECDH_NISTP384_SHA512, KEX_KEM_NTRU_HPS2048677_ECDH_NISTP384_SHA512, NID_secp384r1, SSH_DIGEST_SHA512 },
{ KEX_NTRU_HRSS701_ECDH_NISTP384_SHA512, KEX_KEM_NTRU_HRSS701_ECDH_NISTP384_SHA512, NID_secp384r1, SSH_DIGEST_SHA512 },
Expand Down
84 changes: 24 additions & 60 deletions kex.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
#define KEX_CURVE25519_SHA256 "curve25519-sha256"
#define KEX_CURVE25519_SHA256_OLD "[email protected]"
///// OQS_TEMPLATE_FRAGMENT_DEFINE_KEX_PRETTY_NAMES_START
#define KEX_OQS_DEFAULT_SHA256 "oqs-default-sha256"
#define KEX_FRODOKEM_640_AES_SHA256 "frodokem-640-aes-sha256"
#define KEX_FRODOKEM_976_AES_SHA384 "frodokem-976-aes-sha384"
#define KEX_FRODOKEM_1344_AES_SHA512 "frodokem-1344-aes-sha512"
Expand Down Expand Up @@ -92,10 +91,8 @@
#define KEX_KYBER_512_90S_SHA256 "kyber-512-90s-sha256"
#define KEX_KYBER_768_90S_SHA384 "kyber-768-90s-sha384"
#define KEX_KYBER_1024_90S_SHA512 "kyber-1024-90s-sha512"
#define KEX_BIKE1_L1_CPA_SHA512 "bike1-l1-cpa-sha512"
#define KEX_BIKE1_L1_FO_SHA512 "bike1-l1-fo-sha512"
#define KEX_BIKE1_L3_CPA_SHA512 "bike1-l3-cpa-sha512"
#define KEX_BIKE1_L3_FO_SHA512 "bike1-l3-fo-sha512"
#define KEX_BIKE_L1_SHA512 "bike-l1-sha512"
#define KEX_BIKE_L3_SHA512 "bike-l3-sha512"
#define KEX_NTRU_HPS2048509_SHA512 "ntru-hps2048509-sha512"
#define KEX_NTRU_HPS2048677_SHA512 "ntru-hps2048677-sha512"
#define KEX_NTRU_HRSS701_SHA512 "ntru-hrss701-sha512"
Expand All @@ -121,7 +118,6 @@
#define KEX_NTRUPRIME_SNTRUP857_SHA384 "ntruprime-sntrup857-sha384"
#ifdef WITH_OPENSSL
#ifdef OPENSSL_HAS_ECC
#define KEX_OQS_DEFAULT_ECDH_NISTP256_SHA256 "ecdh-nistp256-oqs-default-sha256"
#define KEX_FRODOKEM_640_AES_ECDH_NISTP256_SHA256 "ecdh-nistp256-frodokem-640-aes-sha256"
#define KEX_FRODOKEM_976_AES_ECDH_NISTP384_SHA384 "ecdh-nistp384-frodokem-976-aes-sha384"
#define KEX_FRODOKEM_1344_AES_ECDH_NISTP521_SHA512 "ecdh-nistp521-frodokem-1344-aes-sha512"
Expand Down Expand Up @@ -149,10 +145,8 @@
#define KEX_KYBER_512_90S_ECDH_NISTP256_SHA256 "ecdh-nistp256-kyber-512-90s-sha256"
#define KEX_KYBER_768_90S_ECDH_NISTP384_SHA384 "ecdh-nistp384-kyber-768-90s-sha384"
#define KEX_KYBER_1024_90S_ECDH_NISTP521_SHA512 "ecdh-nistp521-kyber-1024-90s-sha512"
#define KEX_BIKE1_L1_CPA_ECDH_NISTP256_SHA512 "ecdh-nistp256-bike1-l1-cpa-sha512"
#define KEX_BIKE1_L1_FO_ECDH_NISTP256_SHA512 "ecdh-nistp256-bike1-l1-fo-sha512"
#define KEX_BIKE1_L3_CPA_ECDH_NISTP384_SHA512 "ecdh-nistp384-bike1-l3-cpa-sha512"
#define KEX_BIKE1_L3_FO_ECDH_NISTP384_SHA512 "ecdh-nistp384-bike1-l3-fo-sha512"
#define KEX_BIKE_L1_ECDH_NISTP256_SHA512 "ecdh-nistp256-bike-l1-sha512"
#define KEX_BIKE_L3_ECDH_NISTP384_SHA512 "ecdh-nistp384-bike-l3-sha512"
#define KEX_NTRU_HPS2048509_ECDH_NISTP256_SHA512 "ecdh-nistp256-ntru-hps2048509-sha512"
#define KEX_NTRU_HPS2048677_ECDH_NISTP384_SHA512 "ecdh-nistp384-ntru-hps2048677-sha512"
#define KEX_NTRU_HRSS701_ECDH_NISTP384_SHA512 "ecdh-nistp384-ntru-hrss701-sha512"
Expand Down Expand Up @@ -220,7 +214,6 @@ enum kex_exchange {
KEX_C25519_SHA256,
KEX_KEM_SNTRUP761X25519_SHA512,
///// OQS_TEMPLATE_FRAGMENT_ADD_KEX_ENUMS_START
KEX_KEM_OQS_DEFAULT_SHA256,
KEX_KEM_FRODOKEM_640_AES_SHA256,
KEX_KEM_FRODOKEM_976_AES_SHA384,
KEX_KEM_FRODOKEM_1344_AES_SHA512,
Expand Down Expand Up @@ -248,10 +241,8 @@ enum kex_exchange {
KEX_KEM_KYBER_512_90S_SHA256,
KEX_KEM_KYBER_768_90S_SHA384,
KEX_KEM_KYBER_1024_90S_SHA512,
KEX_KEM_BIKE1_L1_CPA_SHA512,
KEX_KEM_BIKE1_L1_FO_SHA512,
KEX_KEM_BIKE1_L3_CPA_SHA512,
KEX_KEM_BIKE1_L3_FO_SHA512,
KEX_KEM_BIKE_L1_SHA512,
KEX_KEM_BIKE_L3_SHA512,
KEX_KEM_NTRU_HPS2048509_SHA512,
KEX_KEM_NTRU_HPS2048677_SHA512,
KEX_KEM_NTRU_HRSS701_SHA512,
Expand All @@ -277,7 +268,6 @@ enum kex_exchange {
KEX_KEM_NTRUPRIME_SNTRUP857_SHA384,
#ifdef WITH_OPENSSL
#ifdef OPENSSL_HAS_ECC
KEX_KEM_OQS_DEFAULT_ECDH_NISTP256_SHA256,
KEX_KEM_FRODOKEM_640_AES_ECDH_NISTP256_SHA256,
KEX_KEM_FRODOKEM_976_AES_ECDH_NISTP384_SHA384,
KEX_KEM_FRODOKEM_1344_AES_ECDH_NISTP521_SHA512,
Expand Down Expand Up @@ -305,10 +295,8 @@ enum kex_exchange {
KEX_KEM_KYBER_512_90S_ECDH_NISTP256_SHA256,
KEX_KEM_KYBER_768_90S_ECDH_NISTP384_SHA384,
KEX_KEM_KYBER_1024_90S_ECDH_NISTP521_SHA512,
KEX_KEM_BIKE1_L1_CPA_ECDH_NISTP256_SHA512,
KEX_KEM_BIKE1_L1_FO_ECDH_NISTP256_SHA512,
KEX_KEM_BIKE1_L3_CPA_ECDH_NISTP384_SHA512,
KEX_KEM_BIKE1_L3_FO_ECDH_NISTP384_SHA512,
KEX_KEM_BIKE_L1_ECDH_NISTP256_SHA512,
KEX_KEM_BIKE_L3_ECDH_NISTP384_SHA512,
KEX_KEM_NTRU_HPS2048509_ECDH_NISTP256_SHA512,
KEX_KEM_NTRU_HPS2048677_ECDH_NISTP384_SHA512,
KEX_KEM_NTRU_HRSS701_ECDH_NISTP384_SHA512,
Expand Down Expand Up @@ -460,10 +448,6 @@ int kex_kem_sntrup761x25519_dec(struct kex *, const struct sshbuf *,
struct sshbuf **);

///// OQS_TEMPLATE_FRAGMENT_DECLARE_KEX_PROTOTYPES_START
/* oqs_default prototypes */
int kex_kem_oqs_default_keypair(struct kex *);
int kex_kem_oqs_default_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_oqs_default_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* frodokem_640_aes prototypes */
int kex_kem_frodokem_640_aes_keypair(struct kex *);
int kex_kem_frodokem_640_aes_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
Expand Down Expand Up @@ -572,22 +556,14 @@ int kex_kem_kyber_768_90s_dec(struct kex *, const struct sshbuf *, struct sshbu
int kex_kem_kyber_1024_90s_keypair(struct kex *);
int kex_kem_kyber_1024_90s_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_kyber_1024_90s_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l1_cpa prototypes */
int kex_kem_bike1_l1_cpa_keypair(struct kex *);
int kex_kem_bike1_l1_cpa_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l1_cpa_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l1_fo prototypes */
int kex_kem_bike1_l1_fo_keypair(struct kex *);
int kex_kem_bike1_l1_fo_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l1_fo_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l3_cpa prototypes */
int kex_kem_bike1_l3_cpa_keypair(struct kex *);
int kex_kem_bike1_l3_cpa_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l3_cpa_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l3_fo prototypes */
int kex_kem_bike1_l3_fo_keypair(struct kex *);
int kex_kem_bike1_l3_fo_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l3_fo_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike_l1 prototypes */
int kex_kem_bike_l1_keypair(struct kex *);
int kex_kem_bike_l1_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike_l1_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike_l3 prototypes */
int kex_kem_bike_l3_keypair(struct kex *);
int kex_kem_bike_l3_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike_l3_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* ntru_hps2048509 prototypes */
int kex_kem_ntru_hps2048509_keypair(struct kex *);
int kex_kem_ntru_hps2048509_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
Expand Down Expand Up @@ -682,10 +658,6 @@ int kex_kem_ntruprime_sntrup857_enc(struct kex *, const struct sshbuf *, struct
int kex_kem_ntruprime_sntrup857_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
#ifdef WITH_OPENSSL
#ifdef OPENSSL_HAS_ECC
/* oqs_default_nistp256 prototypes */
int kex_kem_oqs_default_ecdh_nistp256_keypair(struct kex *);
int kex_kem_oqs_default_ecdh_nistp256_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_oqs_default_ecdh_nistp256_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* frodokem_640_aes_nistp256 prototypes */
int kex_kem_frodokem_640_aes_ecdh_nistp256_keypair(struct kex *);
int kex_kem_frodokem_640_aes_ecdh_nistp256_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
Expand Down Expand Up @@ -794,22 +766,14 @@ int kex_kem_kyber_768_90s_ecdh_nistp384_dec(struct kex *, const struct sshbuf *
int kex_kem_kyber_1024_90s_ecdh_nistp521_keypair(struct kex *);
int kex_kem_kyber_1024_90s_ecdh_nistp521_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_kyber_1024_90s_ecdh_nistp521_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l1_cpa_nistp256 prototypes */
int kex_kem_bike1_l1_cpa_ecdh_nistp256_keypair(struct kex *);
int kex_kem_bike1_l1_cpa_ecdh_nistp256_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l1_cpa_ecdh_nistp256_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l1_fo_nistp256 prototypes */
int kex_kem_bike1_l1_fo_ecdh_nistp256_keypair(struct kex *);
int kex_kem_bike1_l1_fo_ecdh_nistp256_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l1_fo_ecdh_nistp256_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l3_cpa_nistp384 prototypes */
int kex_kem_bike1_l3_cpa_ecdh_nistp384_keypair(struct kex *);
int kex_kem_bike1_l3_cpa_ecdh_nistp384_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l3_cpa_ecdh_nistp384_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike1_l3_fo_nistp384 prototypes */
int kex_kem_bike1_l3_fo_ecdh_nistp384_keypair(struct kex *);
int kex_kem_bike1_l3_fo_ecdh_nistp384_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike1_l3_fo_ecdh_nistp384_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike_l1_nistp256 prototypes */
int kex_kem_bike_l1_ecdh_nistp256_keypair(struct kex *);
int kex_kem_bike_l1_ecdh_nistp256_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike_l1_ecdh_nistp256_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* bike_l3_nistp384 prototypes */
int kex_kem_bike_l3_ecdh_nistp384_keypair(struct kex *);
int kex_kem_bike_l3_ecdh_nistp384_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
int kex_kem_bike_l3_ecdh_nistp384_dec(struct kex *, const struct sshbuf *, struct sshbuf **);
/* ntru_hps2048509_nistp256 prototypes */
int kex_kem_ntru_hps2048509_ecdh_nistp256_keypair(struct kex *);
int kex_kem_ntru_hps2048509_ecdh_nistp256_enc(struct kex *, const struct sshbuf *, struct sshbuf **, struct sshbuf **);
Expand Down
Loading

0 comments on commit b9aadc6

Please sign in to comment.