71#define ocrypto_srp_SALT_BYTES (16)
76#define ocrypto_srp_VERIFIER_BYTES (384)
81#define ocrypto_srp_SECRET_KEY_BYTES (32)
86#define ocrypto_srp_PUBLIC_KEY_BYTES (384)
91#define ocrypto_srp_SCRAMBLING_PARAMETER_BYTES (64)
96#define ocrypto_srp_PREMASTER_SECRET_BYTES (384)
101#define ocrypto_srp_SESSION_KEY_BYTES (64)
106#define ocrypto_srp_PROOF_BYTES (64)
132 const uint8_t *user,
size_t user_len,
133 const uint8_t *pass,
size_t pass_len);
181 const unsigned char *priv_a,
size_t a_len);
254 const uint8_t *u,
size_t u_len,
277 const uint8_t *h,
size_t h_len);
319 const uint8_t *user,
size_t user_len,
372 const uint8_t *user,
size_t user_len,
373 const uint8_t *pass,
size_t pass_len);
496 const uint8_t *user,
size_t user_len,
void ocrypto_srp_server_public_key(uint8_t pub_b[(384)], const uint8_t priv_b[(32)], const uint8_t k[(384)], const uint8_t v[(384)])
#define ocrypto_srp_SCRAMBLING_PARAMETER_BYTES
Definition: ocrypto_srp.h:91
#define ocrypto_srp_SECRET_KEY_BYTES
Definition: ocrypto_srp.h:81
void ocrypto_srp_proof_m2(uint8_t m2[(64)], const uint8_t pub_a[(384)], const uint8_t m1[(64)], const uint8_t k[(64)])
#define ocrypto_srp_VERIFIER_BYTES
Definition: ocrypto_srp.h:76
int ocrypto_srp_client_premaster_secret(uint8_t s[(384)], const uint8_t priv_a[(32)], const uint8_t pub_b[(384)], const uint8_t k[(384)], const uint8_t *u, const uint8_t *h, size_t h_len)
void ocrypto_srp_public_key_ctx(ocrypto_srp_ctx *ctx, uint8_t pub_b[(384)], const uint8_t priv_b[(32)], const uint8_t v[(384)])
void ocrypto_srp_session_key_ctx(ocrypto_srp_ctx *ctx, uint8_t k[(64)], const uint8_t s[(384)])
void ocrypto_srp_scrambling_parameter_ctx(ocrypto_srp_ctx *ctx, uint8_t u[(64)], const uint8_t pub_a[(384)], const uint8_t pub_b[(384)])
int ocrypto_srp_premaster_secret(uint8_t s[(384)], const uint8_t pub_a[(384)], const uint8_t priv_b[(32)], const uint8_t u[(64)], const uint8_t v[(384)])
int ocrypto_srp_premaster_secret_ctx(ocrypto_srp_ctx *ctx, uint8_t s[(384)], const uint8_t pub_a[(384)], const uint8_t priv_b[(32)], const uint8_t u[(64)], const uint8_t v[(384)])
void ocrypto_srp_proof_m2_ctx(ocrypto_srp_ctx *ctx, uint8_t m2[(64)], const uint8_t pub_a[(384)], const uint8_t m1[(64)], const uint8_t k[(64)])
#define ocrypto_srp_PUBLIC_KEY_BYTES
Definition: ocrypto_srp.h:86
void ocrypto_srp_scrambling_parameter(uint8_t u[(64)], const uint8_t pub_a[(384)], const uint8_t pub_b[(384)])
#define ocrypto_srp_SALT_BYTES
Definition: ocrypto_srp.h:71
void ocrypto_srp_proof_m1(uint8_t m1[(64)], const uint8_t *user, size_t user_len, const uint8_t salt[(16)], const uint8_t pub_a[(384)], const uint8_t pub_b[(384)], const uint8_t k[(64)])
void ocrypto_srp_verifier_ctx(ocrypto_srp_ctx *ctx, uint8_t v[(384)], const uint8_t salt[(16)], const uint8_t *user, size_t user_len, const uint8_t *pass, size_t pass_len)
#define ocrypto_srp_PROOF_BYTES
Definition: ocrypto_srp.h:106
#define ocrypto_srp_PREMASTER_SECRET_BYTES
Definition: ocrypto_srp.h:96
void ocrypto_srp_client_public_key(unsigned char pub_a[(384)], const unsigned char *priv_a, size_t a_len)
#define ocrypto_srp_SESSION_KEY_BYTES
Definition: ocrypto_srp.h:101
void ocrypto_srp_public_key(uint8_t pub_b[(384)], const uint8_t priv_b[(32)], const uint8_t v[(384)])
int ocrypto_srp_server_premaster_secret(uint8_t s[(384)], const uint8_t pub_a[(384)], const uint8_t priv_b[(32)], const uint8_t *u, size_t u_len, const uint8_t v[(384)])
void ocrypto_srp_session_key(uint8_t k[(64)], const uint8_t s[(384)])
void ocrypto_srp_proof_m1_ctx(ocrypto_srp_ctx *ctx, uint8_t m1[(64)], const uint8_t *user, size_t user_len, const uint8_t salt[(16)], const uint8_t pub_a[(384)], const uint8_t pub_b[(384)], const uint8_t k[(64)])
void ocrypto_srp_verifier(uint8_t v[(384)], const uint8_t salt[(16)], const uint8_t *user, size_t user_len, const uint8_t *pass, size_t pass_len)
Definition: ocrypto_types.h:146