_init(), but also passes an additional authentication key <i>provauthkey</i> which cannot be NULL.</p>

<p>OSSL_FUNC_kem_encapsulate() performs the actual encapsulation itself. A previously initialised asymmetric kem context is passed in the <i>ctx</i> parameter. Unless <i>out</i> is NULL, the data to be encapsulated is internally generated, and returned into the buffer pointed to by the <i>secret</i> parameter and the encapsulated data should also be written to the location pointed to by the <i>out</i> par