10#ifndef OCRYPTO_WPA3_SAE_P256_H
11#define OCRYPTO_WPA3_SAE_P256_H
45 const uint8_t u2[48]);
63 const uint8_t *pw,
size_t pw_len,
64 const uint8_t *pwid,
size_t pwid_len,
65 const uint8_t *ssid,
size_t ssid_len);
76 const uint8_t pt[64]);
88 const uint8_t val[32]);
100 const uint8_t pt[64],
101 const uint8_t mac_a[6],
102 const uint8_t mac_b[6]);
133 const uint8_t *pw,
size_t pw_len,
134 const uint8_t mac_a[6],
135 const uint8_t mac_b[6]);
150 const uint8_t rand[32],
151 const uint8_t mask[32],
152 const uint8_t pwe[64]);
163 const uint8_t commit[96]);
182 const uint8_t pwe[64],
183 const uint8_t scalar[32],
184 const uint8_t peer_scalar[32],
185 const uint8_t peer_element[64],
186 const uint8_t rand[32]);
208 const uint8_t pwe[64],
209 const uint8_t rand[32],
210 const uint8_t commit[96],
211 const uint8_t peer_commit[96],
212 const uint8_t *rej_list,
size_t rej_len);
225 const uint8_t kck[32],
226 const uint8_t commit[96],
227 const uint8_t peer_commit[96],
228 uint16_t send_confirm);
242 const uint8_t confirm[34],
243 const uint8_t kck[32],
244 const uint8_t commit[96],
245 const uint8_t peer_commit[96]);
void ocrypto_wpa3_sae_p256_h2e_pwe(uint8_t pwe[64], const uint8_t pt[64], const uint8_t mac_a[6], const uint8_t mac_b[6])
int ocrypto_wpa3_sae_p256_check_confirm(const uint8_t confirm[34], const uint8_t kck[32], const uint8_t commit[96], const uint8_t peer_commit[96])
int ocrypto_wpa3_sae_p256_check_commit(const uint8_t commit[96])
int ocrypto_wpa3_sae_p256_keys(uint8_t kck[32], uint8_t pmk[32], uint8_t pmkid[16], const uint8_t pwe[64], const uint8_t rand[32], const uint8_t commit[96], const uint8_t peer_commit[96], const uint8_t *rej_list, size_t rej_len)
int ocrypto_wpa3_sae_p256_check_pt(const uint8_t pt[64])
int ocrypto_wpa3_sae_p256_h2e_pt(uint8_t pt[64], const uint8_t *pw, size_t pw_len, const uint8_t *pwid, size_t pwid_len, const uint8_t *ssid, size_t ssid_len)
int ocrypto_wpa3_sae_p256_get_commit(uint8_t commit[96], const uint8_t rand[32], const uint8_t mask[32], const uint8_t pwe[64])
int ocrypto_wpa3_sae_p256_get_pwe_from_x(uint8_t y[32], const uint8_t x[32], int sign)
int ocrypto_wpa3_sae_p256_pwe(uint8_t pwe[64], const uint8_t *pw, size_t pw_len, const uint8_t mac_a[6], const uint8_t mac_b[6])
void ocrypto_wpa3_sae_p256_get_confirm(uint8_t confirm[34], const uint8_t kck[32], const uint8_t commit[96], const uint8_t peer_commit[96], uint16_t send_confirm)
void ocrypto_wpa3_sae_p256_h2e_pwe_from_scalar(uint8_t pwe[64], const uint8_t pt[64], const uint8_t val[32])
int ocrypto_wpa3_sae_p256_sswu_pt(uint8_t pt[64], const uint8_t u1[48], const uint8_t u2[48])
int ocrypto_wpa3_sae_p256_secret_value(uint8_t k[32], uint8_t ctx[32], const uint8_t pwe[64], const uint8_t scalar[32], const uint8_t peer_scalar[32], const uint8_t peer_element[64], const uint8_t rand[32])