16#ifndef OCRYPTO_ECJPAKE_P256_H
17#define OCRYPTO_ECJPAKE_P256_H
58 const char *
id,
size_t id_len);
122 const char *
id,
size_t id_len);
142 const char *
id,
size_t id_len);
158 const uint8_t X1[64],
159 const uint8_t X2[64],
160 const uint8_t X3[64]);
171 const uint8_t *secret,
size_t secret_len);
185 const uint8_t x2[32],
186 const uint8_t rs[32]);
202 const uint8_t Xr[64],
203 const uint8_t X2[64],
204 const uint8_t xs[32],
205 const uint8_t x2[32]);
221 const uint8_t Xr[64],
222 const uint8_t X2[64],
223 const uint8_t xs[32],
224 const uint8_t x2[32]);
void ocrypto_ecjpake_read_shared_secret(uint8_t rs[32], const uint8_t *secret, size_t secret_len)
int ocrypto_ecjpake_zkp_verify(const uint8_t G[64], const uint8_t X[64], const uint8_t V[64], const uint8_t r[32], const uint8_t *hash, size_t hash_len)
int ocrypto_ecjpake_get_premaster_secret(uint8_t secret[32], const uint8_t Xr[64], const uint8_t X2[64], const uint8_t xs[32], const uint8_t x2[32])
int ocrypto_ecjpake_zkp_sign(uint8_t r[32], const uint8_t x[32], const uint8_t v[32], const uint8_t *hash, size_t hash_len)
void ocrypto_ecjpake_get_zkp_hash(uint8_t hash[32], const uint8_t X[64], const uint8_t V[64], const uint8_t G[64], const char *id, size_t id_len)
int ocrypto_ecjpake_get_generator(uint8_t G[64], const uint8_t X1[64], const uint8_t X2[64], const uint8_t X3[64])
int ocrypto_ecjpake_get_premaster_secret_key(uint8_t secret[64], const uint8_t Xr[64], const uint8_t X2[64], const uint8_t xs[32], const uint8_t x2[32])
int ocrypto_ecjpake_get_key(uint8_t X[64], uint8_t V[64], uint8_t r[32], const uint8_t G[64], const uint8_t x[32], const uint8_t v[32], const char *id, size_t id_len)
int ocrypto_ecjpake_process_shared_secret(uint8_t xs[32], const uint8_t x2[32], const uint8_t rs[32])
int ocrypto_ecjpake_get_public_key(uint8_t X[64], const uint8_t G[64], const uint8_t x[32])
int ocrypto_ecjpake_verify_key(const uint8_t G[64], const uint8_t X[64], const uint8_t V[64], const uint8_t r[32], const char *id, size_t id_len)