Lines Matching refs:dh
165 const struct dh_group *dh;
173 dh = eap_eke_dh_group(group);
174 if (dh == NULL)
178 if (random_get_bytes(ret_priv, dh->prime_len))
180 if (os_memcmp(ret_priv, dh->prime, dh->prime_len) > 0) {
184 for (i = 0; i < dh->prime_len - 1; i++) {
188 if (i == dh->prime_len - 1 && (ret_priv[i] == 0 || ret_priv[i] == 1))
191 ret_priv, dh->prime_len);
194 pub_len = dh->prime_len;
195 if (crypto_mod_exp(&gen, 1, ret_priv, dh->prime_len,
196 dh->prime, dh->prime_len, ret_pub, &pub_len) < 0)
198 if (pub_len < dh->prime_len) {
199 size_t pad = dh->prime_len - pub_len;
205 ret_pub, dh->prime_len);
412 const struct dh_group *dh;
417 dh = eap_eke_dh_group(sess->dhgroup);
418 if (dh == NULL)
422 os_memcpy(peer_pub, peer_dhcomp + AES_BLOCK_SIZE, dh->prime_len);
423 if (aes_128_cbc_decrypt(key, peer_dhcomp, peer_pub, dh->prime_len) < 0) {
428 peer_pub, dh->prime_len);
431 len = dh->prime_len;
432 if (crypto_mod_exp(peer_pub, dh->prime_len, dhpriv, dh->prime_len,
433 dh->prime, dh->prime_len, modexp, &len) < 0)
435 if (len < dh->prime_len) {
436 size_t pad = dh->prime_len - len;
442 if (eap_eke_prf(sess->prf, zeros, sess->auth_len, modexp, dh->prime_len,