xref: /freebsd/contrib/wpa/src/crypto/dh_groups.h (revision 39beb93c3f8bdbf72a61fda42300b5ebed7390c8)
1 /*
2  * Diffie-Hellman groups
3  * Copyright (c) 2007, Jouni Malinen <j@w1.fi>
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation.
8  *
9  * Alternatively, this software may be distributed under the terms of BSD
10  * license.
11  *
12  * See README and COPYING for more details.
13  */
14 
15 #ifndef DH_GROUPS_H
16 #define DH_GROUPS_H
17 
18 struct dh_group {
19 	int id;
20 	const u8 *generator;
21 	size_t generator_len;
22 	const u8 *prime;
23 	size_t prime_len;
24 };
25 
26 const struct dh_group * dh_groups_get(int id);
27 struct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv);
28 struct wpabuf * dh_derive_shared(const struct wpabuf *peer_public,
29 				 const struct wpabuf *own_private,
30 				 const struct dh_group *dh);
31 
32 #endif /* DH_GROUPS_H */
33