diff --git a/.gitignore b/.gitignore index 21abc5c6f..0acb0eea3 100644 --- a/.gitignore +++ b/.gitignore @@ -313,3 +313,8 @@ wolfcrypt/src/port/intel/qat_test # Arduino Generated Files /IDE/ARDUINO/wolfSSL scripts/memtest.txt + +# Doxygen generated files +doc/doxygen_warnings +doc/html +doc/pdf diff --git a/doc/dox_comments/header_files/dh.h b/doc/dox_comments/header_files/dh.h index d38d37af9..ba29346d4 100644 --- a/doc/dox_comments/header_files/dh.h +++ b/doc/dox_comments/header_files/dh.h @@ -271,3 +271,130 @@ WOLFSSL_API int wc_DhSetKey(DhKey* key, const byte* p, word32 pSz, const byte* g */ WOLFSSL_API int wc_DhParamsLoad(const byte* input, word32 inSz, byte* p, word32* pInOutSz, byte* g, word32* gInOutSz); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_2048 be + defined. + + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe6144_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe2048_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_3072 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe6144_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe3072_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_4096 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe6144_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe4096_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_6144 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe8192_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe6144_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief This function returns ... and requires that HAVE_FFDHE_8192 be + defined. + + \sa wc_Dh_ffdhe2048_Get + \sa wc_Dh_ffdhe3072_Get + \sa wc_Dh_ffdhe4096_Get + \sa wc_Dh_ffdhe6144_Get +*/ +WOLFSSL_API const DhParams* wc_Dh_ffdhe8192_Get(void); + +/*! + \ingroup Diffie-Hellman + + \brief Checks DH keys for pair-wise consistency per process in SP 800-56Ar3, + section 5.6.2.1.4, method (b) for FFC. +*/ +WOLFSSL_API int wc_DhCheckKeyPair(DhKey* key, const byte* pub, word32 pubSz, + const byte* priv, word32 privSz); + +/*! + \ingroup Diffie-Hellman + + \brief Check DH private key for invalid numbers +*/ +WOLFSSL_API int wc_DhCheckPrivKey(DhKey* key, const byte* priv, word32 pubSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhCheckPrivKey_ex(DhKey* key, const byte* priv, word32 pubSz, + const byte* prime, word32 primeSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhCheckPubKey(DhKey* key, const byte* pub, word32 pubSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhCheckPubKey_ex(DhKey* key, const byte* pub, word32 pubSz, + const byte* prime, word32 primeSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhExportParamsRaw(DhKey* dh, byte* p, word32* pSz, + byte* q, word32* qSz, byte* g, word32* gSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhGenerateParams(WC_RNG *rng, int modSz, DhKey *dh); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhSetCheckKey(DhKey* key, const byte* p, word32 pSz, + const byte* g, word32 gSz, const byte* q, word32 qSz, + int trusted, WC_RNG* rng); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_DhSetKey_ex(DhKey* key, const byte* p, word32 pSz, + const byte* g, word32 gSz, const byte* q, word32 qSz); + +/*! + \ingroup Diffie-Hellman +*/ +WOLFSSL_API int wc_FreeDhKey(DhKey* key); diff --git a/doc/dox_comments/header_files/doxygen_groups.h b/doc/dox_comments/header_files/doxygen_groups.h index e5a4975cf..86e225298 100644 --- a/doc/dox_comments/header_files/doxygen_groups.h +++ b/doc/dox_comments/header_files/doxygen_groups.h @@ -18,6 +18,7 @@ \defgroup MD4 Algorithms - MD4 \defgroup MD5 Algorithms - MD5 \defgroup PKCS7 Algorithms - PKCS7 + \defgroup PKCS11 Algorithms - PKCS11 \defgroup Password Algorithms - Password Based \defgroup Poly1305 Algorithms - Poly1305 \defgroup RIPEMD Algorithms - RIPEMD diff --git a/doc/dox_comments/header_files/doxygen_pages.h b/doc/dox_comments/header_files/doxygen_pages.h index e6c4a2c9e..741b396bf 100644 --- a/doc/dox_comments/header_files/doxygen_pages.h +++ b/doc/dox_comments/header_files/doxygen_pages.h @@ -12,41 +12,45 @@ */ /*! \page wolfcrypt_API wolfCrypt API Reference - - \ref ASN - - \ref Base_Encoding - - \ref Compression - - \ref Error - - \ref Keys - - \ref Logging - - \ref Math - - \ref Random - - \ref Signature - - \ref wolfCrypt - - - \ref DES - - \ref AES - - \ref ARC4 - - \ref BLAKE2 - - \ref Camellia - - \ref ChaCha - - \ref ChaCha20Poly1305 - - \ref Curve25519 - - \ref DSA - - \ref Diffie-Hellman - - \ref ECC - - \ref ED25519 - - \ref HC128 - - \ref HMAC - - \ref IDEA - - \ref MD2 - - \ref MD4 - - \ref MD5 - - \ref Password - - \ref PKCS7 - - \ref Poly1305 - - \ref Rabbit - - \ref RIPEMD - - \ref RSA - - \ref SHA - - \ref SRP +