17 #ifndef __CRYPTO_INTERFACE_QS_KEM_HEADER__ 18 #define __CRYPTO_INTERFACE_QS_KEM_HEADER__ 20 #include "../crypto_interface/crypto_interface_qs.h" 83 ubyte *pSharedSecret, ubyte4 sharedSecretLen);
107 ubyte **ppSharedSecret, ubyte4 *pSharedSecretLen);
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_getCipherTextLenFromAlgo(ubyte4 algo, ubyte4 *pCipherLen)
Gets the length of the ciphertext associated with a QS algorithm in bytes.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_decapsulate(QS_CTX *pCtx, ubyte *pCipherText, ubyte4 cipherTextLen, ubyte *pSharedSecret, ubyte4 sharedSecretLen)
Performs the key decapsulation algorithm.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_getCipherTextLen(QS_CTX *pCtx, ubyte4 *pCipherLen)
Gets the length of the ciphertext associated with a QS context in bytes.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_getSharedSecretLen(QS_CTX *pCtx, ubyte4 *pSharedSecretLen)
Gets the length of a shared secret associated with a QS context in bytes.
Context structure to hold the appropriate quantum safe asymmetric keys.
Definition: crypto_interface_qs.h:49
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_encapsulate(QS_CTX *pCtx, RNGFun rngFun, void *pRngFunArg, ubyte *pCipherText, ubyte4 cipherTextLen, ubyte *pSharedSecret, ubyte4 sharedSecretLen)
Performs the key encapsulation algorithm.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_encapsulateAlloc(QS_CTX *pCtx, RNGFun rngFun, void *pRngFunArg, ubyte **ppCipherText, ubyte4 *pCipherTextLen, ubyte **ppSharedSecret, ubyte4 *pSharedSecretLen)
Performs the key encapsulation algorithm.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_QS_KEM_decapsulateAlloc(QS_CTX *pCtx, ubyte *pCipherText, ubyte4 cipherTextLen, ubyte **ppSharedSecret, ubyte4 *pSharedSecretLen)
Performs the key decapsulation algorithm.