23#ifndef OCRYPTO_ECJPAKE_P256_H
24#define OCRYPTO_ECJPAKE_P256_H
65 const char *
id,
size_t id_len);
129 const char *
id,
size_t id_len);
149 const char *
id,
size_t id_len);
165 const uint8_t X1[64],
166 const uint8_t X2[64],
167 const uint8_t X3[64]);
178 const uint8_t *secret,
size_t secret_len);
192 const uint8_t x2[32],
193 const uint8_t rs[32]);
209 const uint8_t Xr[64],
210 const uint8_t X2[64],
211 const uint8_t xs[32],
212 const uint8_t x2[32]);
228 const uint8_t Xr[64],
229 const uint8_t X2[64],
230 const uint8_t xs[32],
231 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)