Home | History | Annotate | Download | only in crypto
      1 /*
      2  * Diffie-Hellman groups
      3  * Copyright (c) 2007, Jouni Malinen <j (at) w1.fi>
      4  *
      5  * This software may be distributed under the terms of the BSD license.
      6  * See README for more details.
      7  */
      8 
      9 #ifndef DH_GROUPS_H
     10 #define DH_GROUPS_H
     11 
     12 struct dh_group {
     13 	int id;
     14 	const u8 *generator;
     15 	size_t generator_len;
     16 	const u8 *prime;
     17 	size_t prime_len;
     18 	const u8 *order;
     19 	size_t order_len;
     20 	unsigned int safe_prime:1;
     21 };
     22 
     23 const struct dh_group * dh_groups_get(int id);
     24 struct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv);
     25 struct wpabuf * dh_derive_shared(const struct wpabuf *peer_public,
     26 				 const struct wpabuf *own_private,
     27 				 const struct dh_group *dh);
     28 
     29 #endif /* DH_GROUPS_H */
     30