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 #include "hitls_build.h" 17 #ifdef HITLS_CRYPTO_PROVIDER 18 19 #include "crypt_eal_implprovider.h" 20 #ifdef HITLS_CRYPTO_MLKEM 21 #include "crypt_mlkem.h" 22 #endif 23 #ifdef HITLS_CRYPTO_HYBRIDKEM 24 #include "crypt_hybridkem.h" 25 #endif 26 27 const CRYPT_EAL_Func g_defEalMlKem[] = { 28 #ifdef HITLS_CRYPTO_MLKEM 29 {CRYPT_EAL_IMPLPKEYKEM_ENCAPSULATE, (CRYPT_EAL_ImplPkeyKemEncapsulate)CRYPT_ML_KEM_Encaps}, 30 {CRYPT_EAL_IMPLPKEYKEM_DECAPSULATE, (CRYPT_EAL_ImplPkeyKemDecapsulate)CRYPT_ML_KEM_Decaps}, 31 #endif 32 CRYPT_EAL_FUNC_END 33 }; 34 35 const CRYPT_EAL_Func g_defEalHybridKeyKem[] = { 36 #ifdef HITLS_CRYPTO_HYBRIDKEM 37 {CRYPT_EAL_IMPLPKEYKEM_ENCAPSULATE, (CRYPT_EAL_ImplPkeyKemEncapsulate)CRYPT_HYBRID_KEM_Encaps}, 38 {CRYPT_EAL_IMPLPKEYKEM_DECAPSULATE, (CRYPT_EAL_ImplPkeyKemDecapsulate)CRYPT_HYBRID_KEM_Decaps}, 39 #endif 40 CRYPT_EAL_FUNC_END 41 }; 42 #endif // HITLS_CRYPTO_PROVIDER 43