1189251Ssam/*
2189251Ssam * Diffie-Hellman groups
3189251Ssam * Copyright (c) 2007, Jouni Malinen <j@w1.fi>
4189251Ssam *
5252726Srpaulo * This software may be distributed under the terms of the BSD license.
6252726Srpaulo * See README for more details.
7189251Ssam */
8189251Ssam
9189251Ssam#ifndef DH_GROUPS_H
10189251Ssam#define DH_GROUPS_H
11189251Ssam
12189251Ssamstruct dh_group {
13189251Ssam	int id;
14189251Ssam	const u8 *generator;
15189251Ssam	size_t generator_len;
16189251Ssam	const u8 *prime;
17189251Ssam	size_t prime_len;
18189251Ssam};
19189251Ssam
20189251Ssamconst struct dh_group * dh_groups_get(int id);
21189251Ssamstruct wpabuf * dh_init(const struct dh_group *dh, struct wpabuf **priv);
22189251Ssamstruct wpabuf * dh_derive_shared(const struct wpabuf *peer_public,
23189251Ssam				 const struct wpabuf *own_private,
24189251Ssam				 const struct dh_group *dh);
25189251Ssam
26189251Ssam#endif /* DH_GROUPS_H */
27