Lines Matching +full:for +full:- +full:context

4  * \brief Elliptic curve J-PAKE
8 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
15 * J-PAKE is a password-authenticated key exchange that allows deriving a
16 * strong shared secret from a (potentially low entropy) pre-shared
20 * This file implements the Elliptic Curve variant of J-PAKE,
24 * As the J-PAKE algorithm is inherently symmetric, so is our API.
27 * The payloads are serialized in a way suitable for use in TLS, but could
40 * Roles in the EC J-PAKE exchange
50 * EC J-PAKE context structure.
52 * J-PAKE is a symmetric protocol, except for the identifiers used in
53 * Zero-Knowledge Proofs, and the serialization of the second message
64 int MBEDTLS_PRIVATE(point_format); /**< Format for point export */
75 mbedtls_mpi MBEDTLS_PRIVATE(s); /**< Pre-shared secret (passphrase) */
83 * \brief Initialize an ECJPAKE context.
85 * \param ctx The ECJPAKE context to initialize.
91 * \brief Set up an ECJPAKE context for use.
93 * \note Currently the only values for hash/curve allowed by the
96 * \param ctx The ECJPAKE context to set up. This must be initialized.
100 * for example #MBEDTLS_MD_SHA256.
102 * for example #MBEDTLS_ECP_DP_SECP256R1.
103 * \param secret The pre-shared secret (passphrase). This must be
105 * only be valid for the duration of this call.
106 * \param len The length of the pre-shared secret \p secret.
119 * \brief Set the point format for future reads and writes.
121 * \param ctx The ECJPAKE context to configure.
134 * \brief Check if an ECJPAKE context is ready for use.
136 * \param ctx The ECJPAKE context to check. This must be
139 * \return \c 0 if the context is ready for use.
149 * \param ctx The ECJPAKE context to use. This must be
158 * may be \c NULL if \p f_rng doesn't use a context.
173 * \param ctx The ECJPAKE context to use. This must be initialized
190 * \param ctx The ECJPAKE context to use. This must be initialized,
199 * may be \c NULL if \p f_rng doesn't use a context.
213 * \param ctx The ECJPAKE context to use. This must be initialized
228 * (TLS: Pre-Master Secret).
230 * \param ctx The ECJPAKE context to use. This must be initialized,
239 * may be \c NULL if \p f_rng doesn't use a context.
253 * \param ctx The ECJPAKE context to use. This must be initialized,
262 * may be \c NULL if \p f_rng doesn't use a context.
273 * \brief This clears an ECJPAKE context and frees any
276 * \param ctx The ECJPAKE context to free. This may be \c NULL,
278 * \c NULL, it must point to an initialized ECJPAKE context.