kem.h (1423B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 #ifndef SOFTOKEN_KEM_H 6 #define SOFTOKEN_KEM_H 7 8 #include "pkcs11.h" 9 10 KyberParams sftk_kyber_PK11ParamToInternal(CK_NSS_KEM_PARAMETER_SET_TYPE pk11ParamSet); 11 12 SECItem* sftk_kyber_AllocPubKeyItem(KyberParams params, SECItem* pubkey); 13 SECItem* sftk_kyber_AllocPrivKeyItem(KyberParams params, SECItem* privkey); 14 SECItem* sftk_kyber_AllocCiphertextItem(KyberParams params, SECItem* ciphertext); 15 16 CK_RV NSC_Encapsulate(CK_SESSION_HANDLE hSession, 17 CK_MECHANISM_PTR pMechanism, 18 CK_OBJECT_HANDLE hPublicKey, 19 CK_ATTRIBUTE_PTR pTemplate, 20 CK_ULONG ulAttributeCount, 21 CK_OBJECT_HANDLE_PTR phKey, 22 CK_BYTE_PTR pCiphertext, 23 CK_ULONG_PTR pulCiphertextLen); 24 25 CK_RV NSC_Decapsulate(CK_SESSION_HANDLE hSession, 26 CK_MECHANISM_PTR pMechanism, 27 CK_OBJECT_HANDLE hPrivateKey, 28 CK_BYTE_PTR pCiphertext, 29 CK_ULONG ulCiphertextLen, 30 CK_ATTRIBUTE_PTR pTemplate, 31 CK_ULONG ulAttributeCount, 32 CK_OBJECT_HANDLE_PTR phKey); 33 34 #endif // SOFTOKEN_KEM_H