1 /* 2 * This file is part of the openHiTLS project. 3 * 4 * openHiTLS is licensed under the Mulan PSL v2. 5 * You can use this software according to the terms and conditions of the Mulan PSL v2. 6 * You may obtain a copy of Mulan PSL v2 at: 7 * 8 * http://license.coscl.org.cn/MulanPSL2 9 * 10 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 11 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 12 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 13 * See the Mulan PSL v2 for more details. 14 */ 15 16 /** 17 * @defgroup crypt_eal_provider 18 * @ingroup crypt 19 * @brief default provider impl 20 */ 21 22 #ifndef CRYPT_EAL_DEFAULT_PROVIDERIMPL_H 23 #define CRYPT_EAL_DEFAULT_PROVIDERIMPL_H 24 25 #ifdef HITLS_CRYPTO_PROVIDER 26 27 #include "crypt_eal_implprovider.h" 28 29 #ifdef __cplusplus 30 extern "C" { 31 #endif // __cplusplus 32 33 extern const CRYPT_EAL_Func g_defEalMdMd5[]; 34 extern const CRYPT_EAL_Func g_defEalMdSha1[]; 35 extern const CRYPT_EAL_Func g_defEalMdSha224[]; 36 extern const CRYPT_EAL_Func g_defEalMdSha256[]; 37 extern const CRYPT_EAL_Func g_defEalMdSha384[]; 38 extern const CRYPT_EAL_Func g_defEalMdSha512[]; 39 extern const CRYPT_EAL_Func g_defEalMdSha3224[]; 40 extern const CRYPT_EAL_Func g_defEalMdSha3256[]; 41 extern const CRYPT_EAL_Func g_defEalMdSha3384[]; 42 extern const CRYPT_EAL_Func g_defEalMdSha3512[]; 43 extern const CRYPT_EAL_Func g_defEalMdShake512[]; 44 extern const CRYPT_EAL_Func g_defEalMdShake128[]; 45 extern const CRYPT_EAL_Func g_defEalMdShake256[]; 46 extern const CRYPT_EAL_Func g_defEalMdSm3[]; 47 48 extern const CRYPT_EAL_Func g_defEalKdfScrypt[]; 49 extern const CRYPT_EAL_Func g_defEalKdfPBKdf2[]; 50 extern const CRYPT_EAL_Func g_defEalKdfKdfTLS12[]; 51 extern const CRYPT_EAL_Func g_defEalKdfHkdf[]; 52 53 extern const CRYPT_EAL_Func g_defEalKeyMgmtDsa[]; 54 extern const CRYPT_EAL_Func g_defEalKeyMgmtEd25519[]; 55 extern const CRYPT_EAL_Func g_defEalKeyMgmtX25519[]; 56 extern const CRYPT_EAL_Func g_defEalKeyMgmtRsa[]; 57 extern const CRYPT_EAL_Func g_defEalKeyMgmtDh[]; 58 extern const CRYPT_EAL_Func g_defEalKeyMgmtEcdsa[]; 59 extern const CRYPT_EAL_Func g_defEalKeyMgmtEcdh[]; 60 extern const CRYPT_EAL_Func g_defEalKeyMgmtSm2[]; 61 extern const CRYPT_EAL_Func g_defEalKeyMgmtPaillier[]; 62 extern const CRYPT_EAL_Func g_defEalKeyMgmtSlhDsa[]; 63 extern const CRYPT_EAL_Func g_defEalKeyMgmtElGamal[]; 64 extern const CRYPT_EAL_Func g_defEalKeyMgmtMlKem[]; 65 extern const CRYPT_EAL_Func g_defEalKeyMgmtMlDsa[]; 66 extern const CRYPT_EAL_Func g_defEalKeyMgmtHybridKem[]; 67 68 extern const CRYPT_EAL_Func g_defEalExchX25519[]; 69 extern const CRYPT_EAL_Func g_defEalExchDh[]; 70 extern const CRYPT_EAL_Func g_defEalExchEcdh[]; 71 extern const CRYPT_EAL_Func g_defEalExchSm2[]; 72 73 74 extern const CRYPT_EAL_Func g_defEalAsymCipherRsa[]; 75 extern const CRYPT_EAL_Func g_defEalAsymCipherSm2[]; 76 extern const CRYPT_EAL_Func g_defEalAsymCipherPaillier[]; 77 extern const CRYPT_EAL_Func g_defEalAsymCipherElGamal[]; 78 79 extern const CRYPT_EAL_Func g_defEalSignDsa[]; 80 extern const CRYPT_EAL_Func g_defEalSignEd25519[]; 81 extern const CRYPT_EAL_Func g_defEalSignRsa[]; 82 extern const CRYPT_EAL_Func g_defEalSignEcdsa[]; 83 extern const CRYPT_EAL_Func g_defEalSignSm2[]; 84 extern const CRYPT_EAL_Func g_defEalSignMlDsa[]; 85 extern const CRYPT_EAL_Func g_defEalMacHmac[]; 86 extern const CRYPT_EAL_Func g_defEalSignSlhDsa[]; 87 extern const CRYPT_EAL_Func g_defEalMacCmac[]; 88 extern const CRYPT_EAL_Func g_defEalMacCbcMac[]; 89 extern const CRYPT_EAL_Func g_defEalMacGmac[]; 90 extern const CRYPT_EAL_Func g_defEalMacSiphash[]; 91 92 extern const CRYPT_EAL_Func g_defEalRand[]; 93 94 extern const CRYPT_EAL_Func g_defEalCbc[]; 95 extern const CRYPT_EAL_Func g_defEalCcm[]; 96 extern const CRYPT_EAL_Func g_defEalCfb[]; 97 extern const CRYPT_EAL_Func g_defEalChaCha[]; 98 extern const CRYPT_EAL_Func g_defEalCtr[]; 99 extern const CRYPT_EAL_Func g_defEalEcb[]; 100 extern const CRYPT_EAL_Func g_defEalGcm[]; 101 extern const CRYPT_EAL_Func g_defEalOfb[]; 102 extern const CRYPT_EAL_Func g_defEalXts[]; 103 extern const CRYPT_EAL_Func g_defEalMlKem[]; 104 extern const CRYPT_EAL_Func g_defEalHybridKeyKem[]; 105 106 extern const CRYPT_EAL_Func g_defEalPrvP8Enc2P8[]; 107 extern const CRYPT_EAL_Func g_defEalPem2Der[]; 108 extern const CRYPT_EAL_Func g_defEalRsaPrvDer2Key[]; 109 extern const CRYPT_EAL_Func g_defEalEcdsaPrvDer2Key[]; 110 extern const CRYPT_EAL_Func g_defEalSm2PrvDer2Key[]; 111 extern const CRYPT_EAL_Func g_defEalP8Der2RsaKey[]; 112 extern const CRYPT_EAL_Func g_defEalP8Der2EcdsaKey[]; 113 extern const CRYPT_EAL_Func g_defEalP8Der2Sm2Key[]; 114 extern const CRYPT_EAL_Func g_defEalP8Der2Ed25519Key[]; 115 extern const CRYPT_EAL_Func g_defEalSubPubKeyDer2RsaKey[]; 116 extern const CRYPT_EAL_Func g_defEalSubPubKeyDer2EcdsaKey[]; 117 extern const CRYPT_EAL_Func g_defEalSubPubKeyDer2Sm2Key[]; 118 extern const CRYPT_EAL_Func g_defEalSubPubKeyDer2Ed25519Key[]; 119 extern const CRYPT_EAL_Func g_defEalSubPubKeyWithoutSeqDer2RsaKey[]; 120 extern const CRYPT_EAL_Func g_defEalSubPubKeyWithoutSeqDer2EcdsaKey[]; 121 extern const CRYPT_EAL_Func g_defEalSubPubKeyWithoutSeqDer2Sm2Key[]; 122 extern const CRYPT_EAL_Func g_defEalSubPubKeyWithoutSeqDer2Ed25519Key[]; 123 extern const CRYPT_EAL_Func g_defEalLowKeyObject2PkeyObject[]; 124 extern const CRYPT_EAL_Func g_defEalRsaPubDer2Key[]; 125 126 #ifdef __cplusplus 127 } 128 #endif // __cplusplus 129 130 #endif /* HITLS_CRYPTO_PROVIDER */ 131 #endif // CRYPT_EAL_DEFAULT_PROVIDERIMPL_H